Hospitality brands have a machine-reading problem. We fetched eight of the biggest hotel and restaurant sites on September 12, 2026 exactly the way a text-only AI crawler does — plain HTTP, no JavaScript, no browser — and checked three things: the llms.txt path, the crawler rules in robots.txt, and the structured data on the homepage plus menu pages. One of the eight publishes llms.txt. Not one of the eight marks up the thing it actually sells with Hotel, HotelRoom, Restaurant, or Menu schema. Three of the eight answer a text crawler with a 403 wall.
Eight hospitality brands, one llms.txt file, zero industry schema
Every site below got the same text-only treatment on the same day. The table shows what a language model's crawler actually receives:
| Site | llms.txt | robots.txt | Homepage for a text crawler | Structured data |
| Hilton | 404 — 9-byte "Not Found" | 200, sitemap listed, no AI crawlers named | 403 — 122 KB Akamai reference page | none reachable |
| Hyatt | 403 | 403 | 403 — 12.8 KB of its own homepage HTML | none reachable |
| IHG | 403 — "Access Denied" | 403 | 403 | none reachable |
| Wyndham | published — 15.9 KB | 200, sitemap listed, no AI crawlers named | 200 | Brand, Corporation, PostalAddress — no Hotel |
| Accor | 404 — 11.7 KB HTML page | 200, sitemap listed, no AI crawlers named | 200 | Organization, WebSite, SearchAction — no Hotel |
| Starbucks | 404 — 66 KB app shell | 200, sitemap listed, no AI crawlers named | 200 | none at all |
| Chipotle | 404 — 43 KB error page | 404 — the same 43 KB error page | 200 | none at all |
| Domino's | 404 — "Not Found" | 200, sitemap listed, no AI crawlers named | 200 | none at all |
Two numbers do the talking. First: only Wyndham ships the file that tells an AI what a company is, and only Wyndham and Accor carry any structured data at all — and both stop at generic organization types. Second: zero Hotel, zero HotelRoom, zero Restaurant, zero Menu markup across all eight. The whole industry sells rooms and food, and the industry's machines cannot prove to another machine that a single room or burrito exists. Our earlier
travel sector test found three llms.txt files among eight booking sites; here, among the companies that actually own the buildings, we found one.
The bot walls behind the brands a crawler can never reach
Hilton is the instructive case. Its robots.txt loads fine — 770 bytes, a sitemap reference, carve-outs for AdIdxBot and the AdsBot family, and no mention of any AI crawler. A crawler follows the rules, lands on the homepage, and gets a 403 with a 122 KB Akamai reference page titled "Hilton Page Reference Code." The permission slip is readable; the destination is not. Your robots.txt told the machine where to go, and the edge said no when it got there.
Hyatt's block is stranger. Every path we tried — robots.txt, llms.txt, the homepage — returns 403 whose body is 12.8 KB of Hyatt's own website: the full "Hyatt Hotels and Resorts" marketing shell, served with an error status. The block page is the website. Whatever layer is doing this, it never bothered to write its own rejection slip. IHG is the blunt version: "Access Denied," 369 bytes, everywhere, and that is that.
Chipotle deserves a special note: its robots.txt path itself returns a 404 page. A crawler can't even read the rules, because the rules live behind an error page. And across the five robots.txt files we could actually read — Hilton, Wyndham, Accor, Starbucks, Domino's — not one names a single AI crawler. Compare that with Airbnb in the travel test, which wrote 248 Disallow lines for GPTBot alone. Hospitality's biggest brands have not decided what AI may read. They have simply never thought about it.
A 194 KB menu page with nothing to read
The menu layer is where the pattern gets expensive, because the data customers ask about lives there. Starbucks /menu returns HTTP 200 with 194 KB of HTML — and the first readable text in it is CSS for a coffee-cup skeleton loader. The actual menu arrives via JavaScript a text crawler never runs. Domino's menu page loads with an empty title tag and a body{display:none} clickjacking guard; Chipotle's /menu path 404s outright, and its real menu route returns the same 71 KB shell as its homepage, with the homepage's title. None of the three carries a single Menu or ItemList block.
Wyndham shows the frustrating version of almost-right. It is the only hotel brand in the group with llms.txt, and the file is good: 15.9 KB, opening with "# WyndhamHotels.com llms.txt" and a stated purpose — "A conversational, markdown-style llms.txt to help AI systems" — with real content behind the header. Then the pages fail the file. Its brand page carries only Brand, Corporation, and PostalAddress, and its property overview paths answer text crawlers with 404. The file tells an AI what Wyndham is. The pages never tell it what a room costs or what's inside it.
What to copy from the one brand with a file
Here's the real talk: Wyndham did the scary step and stopped halfway. Shipping llms.txt is one afternoon of work, and it already separates them from every other brand in this test. The missing half — schema that names the product — is the same afternoon again. Hotels and restaurants have it easier than any other industry, because the schema vocabulary was built for them: Hotel and HotelRoom carry room counts, star ratings, check-in windows, and pets policies; Restaurant plus Menu carries dishes, prices, and dietary filters. That's exactly what travelers and diners ask ChatGPT on Friday night.
Work through these in order:
- Publish llms.txt this week. List your top 30 pages — brands, flagship properties, the help center, the pages support already routes people to. Validate the file with the llms.txt checker before you push it, and skim our llms.txt guide for the format.
- Mark up the thing you sell. Hotel + HotelRoom on every property page, Restaurant + Menu on every menu page. Google's own guidelines cover both; the schema markup for AI citations guide shows the block shapes.
- Test from a server, not a browser. If your homepage renders fine in Chrome but your edge answers plain HTTP with a 403, AI crawlers see a wall — that's Hilton, Hyatt, and IHG today. The AI crawler check replays your pages exactly the way GPTBot would.
- Ship rates and menu prices in the HTML. Server-render the price table and the item list. A machine reader does not run your skeleton loader.
- Add FAQPage with the five questions support answers weekly — cancellation windows, check-in times, parking, dietary notes, gift cards. It is the cheapest authority block in structured data, and it was the last missing piece in the travel brands that got the rest right.
Hotels and restaurants are about to be recommended the same way flights were: "the best hotel near Times Square for a family of four" ends in one answer, and the model reads whichever brand made itself readable. Run the
free GEO audit on your homepage and one property or menu page. The score comes back in six dimensions with a fix list ordered by impact — and if you own one of the 2,000-room assets behind a 403, the audit will find the wall before your guests' AI does.