01 · 2015
Starting from zero
In 2015, a real estate client of mine bought a small inn in New Braunfels, and I offered to help get it off the ground. The only way to book was through bedandbreakfast.com and VRBO. There was no website of its own.
So we built a brand. Each room got its own name and identity: the Cypress, the Mountain Laurel, the Juniper, and the historic New Braunfels Room and Cottage. Then we launched a mobile-friendly website where guests could book direct.
Cypress
Mountain Laurel
Juniper
New Braunfels Room
New Braunfels Cottage


Why it mattered: a listing on someone else's site gets you bookings. A name, a story, and a website of your own get you guests who come looking for you.
02 · 2020
The COVID pivot
We were still handing out handwritten check-in letters with keys when COVID hit. Overnight, guests wanted to arrive without seeing anyone.
Guests started getting a text with their own door code on arrival day. That grew into automated deposits and payments, a guest portal where they accept our policies and get their code, and paid upsells like early check-in.
48
guests have paid for early check-in since March 1, 2026
A survival move that turned into revenue
03
Owning the website
Our reservation system has changed twice through acquisitions, and we didn't choose either one. It never touched the website, because the website was always ours, on our own domain.
That made the next step possible. I moved comalinn.com off an aging WordPress setup onto a modern, fast platform myself: the domain switch, redirects for every old page, analytics, structured data for search engines, image optimization, an llms.txt file for AI tools, and a privacy page.
One honest note: our booking engine still opens on its own page. Our system doesn't offer a widget that lives inside the site, and that's fine. What matters is that “Book Direct” is the first thing guests see, on every page.

04
61 to 100 on desktop
Google's PageSpeed test scored the homepage a 61 on desktop. The site looked fine. It was just doing too much at once before a guest could tap anything.
The culprits were ordinary:
- A chat widget loading its full script the second the page opened
- A homepage slideshow loading every large photo up front
- An Instagram feed loading before anyone scrolled to it
- Photos served at sizes much larger than the screen needed
The fixes were just as ordinary. Load the chat widget when a guest interacts or after a few seconds. Load slides and the feed only when they're needed. Size photos for the screen. The time the page spent frozen dropped from 2,710 milliseconds to under 150, and the live site scored a 100.


Still on the list: phones are harder. The mobile score is 67, and that's the next round of work.
05
Showing up in AI answers
A guest who had never heard of Comal Inn asked ChatGPT for a quiet, romantic getaway in New Braunfels. We came up. He booked the Juniper, our last room that weekend, for a surprise anniversary.
That didn't happen by accident. The site spells out the facts AI tools look for: what each room is, where it is, and what's within walking distance. Those details match across the website and every listing, and the site includes structured data and an llms.txt file so software can read it cleanly.
I also set up analytics to count AI assistants as their own channel. From July 1 to September 28, 2026:

350 sessions came from AI assistants, nearly 1 in 10 visits. 69.7% of those visitors engaged with the site, compared with 53.8% overall. A few months earlier, that channel didn't show up in our analytics at all.
Footnote for the numbers people: the 53.8% overall figure includes a burst of referral spam from a single bot source. Without it, the overall rate is about 46%, so AI visitors stand out even more.
06
Pulling guests back direct
We pay 15% commission on every Booking.com and Expedia reservation, and about 10% on Google Hotel Ads bookings. OTAs bring us guests we'd never reach alone, so they stay in the mix. The goal is to keep the guests who already know us.
Guests who booked through an OTA get a text with a discount code for booking direct next time. The website makes that easy: clear rooms, clear rates, and one obvious button.
32%
of summer 2026 bookings came direct
Jun to Aug 2026 · No OTA commission on any of them
07
What I learned
- 01Own your website and your domain.Booking software changes. Ours changed twice without asking us. The website is the one thing that should never move without your say.
- 02Speed problems usually aren't your fault.They come from add-ons: chat widgets, feeds, slideshows. You don't have to remove them. You have to load them at the right time.
- 03Count AI as its own channel.If you can't see it, you can't grow it. Separating AI assistants in analytics didn't take long, and it changed how I write every page.
