gaash.ai

Hotels and guest houses

A traveler asks for a quiet hotel with parking; an answer can only say so of the hotels whose sites do.

A traveler types "quiet hotel near the convention center with free parking and breakfast" into ChatGPT, or asks Perplexity which guest houses on the coast take dogs. With web search on, the assistant reads a handful of hotel sites and the booking platforms before it answers. GEO for hotels is making sure your own pages state what that traveler asked.

A traveler's question about a hotel asks for things the hotel's own pages can state: the room types as facts, the amenities stated rather than pictured, the policies a traveler asks about (check-in, parking, pets, children, cancellation), one address, and reviews it can quote. A fact shown only in a photo is not text an answer can repeat, and a fact kept only in a PDF is not on the page at all.

How your customers ask

What travelers ask before they open a booking site

“quiet hotel in Savannah within walking distance of the historic district with parking”
“hotels near Denver airport that allow dogs and have a shuttle”
“which hotels in Quebec City have family rooms for four and include breakfast”
“boutique guest house in Charleston with late check-in after 10pm”
“is there a hotel in Banff with a ground floor room and no stairs”

The traveler's question is a list of conditions, and the assistant checks each one

Hotel questions are compound: a place, two or three conditions, and often a budget word. "Quiet", "parking", "breakfast included", "dogs", "family room", "late check-in", "walkable". The AI assistant checks each condition against the pages it read, and a property whose pages leave one unanswered has given it no way to include that property for that condition. A site that shows a parking icon but never writes the word has not answered the parking condition.

The booking platforms' pages state amenities as consistent lists, which makes them easy for a machine to read. In our audit's probe of 9,240 businesses across 40 trades (one buyer question each, put to Claude with web retrieval on, late August to early September 2026), 99.4% of the names given were actual businesses and 0.6% were directories or aggregators. The answer names properties, not portals, but it does not say which page the assistant read, and a property whose own site says less than its listing has handed that reading to the platform.

The moments differ. Planning a trip, the traveler stacks conditions. On the road at 9 p.m., the question is whether check-in is still open and where to park. Before an event, it is the distance to the venue on foot. A returning guest asks a policy question: whether the dog can come this time. Each is answered by a sentence on your site, or by nothing.

What a hotel's own site has to state for an assistant to use it

Asked about a hotel by name, an assistant with web search opens its pages the way an AI crawler does; OpenAI's crawler documentation names ChatGPT-User as the fetcher that does this for ChatGPT. It reads captions, not photographs; a gallery of the terrace tells it nothing that a sentence about the terrace would not tell it better.

What a hotel or guest house site has to state, where, and in what form.
What to stateWhere it belongsIn what form
Room types as factsA page per room typeBed configuration, maximum occupancy, floor, bathtub or shower, balcony, connecting door; "spacious" is not a fact
Amenities as statementsOne amenities page, in text"Free parking on site", "breakfast included, served 7 to 10", "elevator"; not icons
PoliciesOne policies pageCheck-in and check-out times, late arrival procedure, pets (which, where, fee or none), children, cancellation terms
LocationContact page and every room pageThe address once, in one form; minutes on foot to the two or three places guests ask about
QuietRoom pagesWhich rooms face away from the street; which floor; whether the windows are double-glazed
ReviewsRoom pages or a reviews pageQuoted as text with a first name, a month, the room type and the platform
RatesRoom pagesA starting rate or a seasonal range in text, if you publish one; "from" is a fact, "best rate guaranteed" is not
The business typeJSON-LD on every pageHotel or LodgingBusiness with address, telephone, checkinTime, checkoutTime, petsAllowed, amenityFeature

Hotel and LodgingBusiness are LocalBusiness subtypes on schema.org, so the fields Google documents for local business markup apply: name, address, telephone, opening hours, geo and price range. The lodging fields map onto a traveler's conditions directly: checkinTime, checkoutTime, petsAllowed, amenityFeature. Google recommends JSON-LD and says to mark up only what a visitor can see, so the policies page and the LocalBusiness schema have to agree.

Reviews as text do a second job here. A guest review that mentions the back rooms being quiet, or the parking being easy, answers a traveler's condition in a guest's words, and quoting it on the room page with the month and the room type puts the answer where the assistant is reading. Google's review snippet rules give a hotel no review stars for reviews of itself on its own site; quoting guests is the point.

What our crawl found, and the two figures that matter most for a hotel

In the same audit, a crawler that ran no JavaScript fetched the homepage, the contact page and the about page of 9,483 small business websites in 90 metros. The audit publishes no separate cut for hotels; the figures describe the whole sample, and the method section says how it was drawn.

43.1% were inconsistent about who and where they are across their own three pages; 36.9% published more than one phone number, and 34.1% had no postal address a machine could parse. For a hotel the address is the product. A property whose footer, contact page and markup give three versions of it has left the platform's listing as the only version that agrees with itself.

64.7% showed no review signal a crawler could read, and only 8.9% carried rating schema. A hotel's reviews live on the platforms; on the property's own site, in nearly two thirds of the sample, a crawler found none.

61.5% had no question-and-answer content of any kind, and 50.7% had a question heading with no isolable answer under it. 2.1% kept their real content in a PDF, which for a hotel would be the rate card, the menu or the policies. 17.8% had no schema.org markup at all, and of the 82% that did, most described the website rather than the business.

7.2% sat behind bot protection that served the crawler a challenge page instead of the site. The free crawler access check tells you which of the nineteen AI crawler tokens your robots.txt lets in, and which it turns away.

What to fix first, in order

  1. One property name, one address and one phone number, identical on every page and in the markup.
  2. A policies page in plain text: check-in and check-out times, late arrival, parking (where, how many spaces, the fee or none), pets, children, cancellation terms.
  3. Room pages with facts: beds, maximum occupancy, floor, what the window faces, bathtub or shower, connecting doors.
  4. Hotel or LodgingBusiness in JSON-LD on every page, with address, telephone, checkinTime, checkoutTime, petsAllowed and amenityFeature filled in and matching the visible pages.
  5. Reviews as text on the room pages, with a first name, a month and the room type, and a booking site's score kept out of your AggregateRating markup.
  6. The questions your front desk answers by phone (quiet rooms, parking, breakfast hours, the dog), as headings with a real answer under each.
  7. Check what a crawler receives: the crawler access check for robots.txt, and the source of a room page with scripts off.

No list of fixes can seat a hotel in an answer; that choice is made inside the assistant, where nobody else has access. What the list does is leave the assistant no reason to pass you over, and our measurement is how you find out whether it stopped.

What hoteliers ask

Travelers book through the platforms anyway. Why does our own site matter to an assistant?

Because the assistant is deciding which property to name, and a page that states the facts plainly is easier to use than one that pictures them. If that is the platform's listing, the platform's version of your hotel is the one in the answer, with the platform's link under it. Your own site is the only page where the policies, the quiet rooms and the reviews are in your words.

Should we publish rates on our own site?

If you publish a starting rate or a seasonal range anywhere, publish it on your own room pages as text. An assistant asked for a hotel under a budget has nothing to compare on a page with no rate. A "from" rate is a fact it can use; "best rate guaranteed" is a claim it has no way to check.

We have thousands of reviews on the booking sites. Does the assistant not see them?

It may, on the platform. It sees none on your site unless your site quotes them. 64.7% of the sites in our audit showed no review signal a crawler could read. Quote a handful as text with a first name, a month and the room type. Keep a booking site's score out of your markup: Google's review rules say not to aggregate ratings from other websites.

Which schema type should a hotel use?

Hotel, or BedAndBreakfast, Motel or Resort where one of those describes the property; all are LodgingBusiness subtypes on schema.org, and LodgingBusiness sits under LocalBusiness, so the address, telephone and opening hours fields Google documents apply. Fill in checkinTime, checkoutTime and petsAllowed as well. The type matters less than the fields being filled and matching the visible page.

Sources: our audit of 9,483 small-business sites, with its method · Google, local business structured data · Google, introduction to structured data · Google, review snippet · schema.org, LocalBusiness · schema.org, the vocabulary · OpenAI, crawler documentation