We've published several guides on this blog — schema.org Hotel, AI bots, the llms.txt file. Each one goes deep on a single topic. This one does the opposite: it gathers everything we've already explained into a single checklist, so you can check your own site without re-reading all of it.
Nothing below is new or speculative. These are the twenty points we check first when a hotel asks us why it never appears in AI assistant answers. Most sites fail on five or six of them — rarely all, rarely none.
Bot Access
1. A robots.txt configured deliberately, not left at its default — many sites still run on the file their CMS auto-generated at launch, never reviewed since. Open yourdomain.com/robots.txt and check that it reflects a decision, not an oversight.
2. GPTBot, ClaudeBot, PerplexityBot, and Google-Extended explicitly allowed — if you want to show up in AI answers, these crawlers need their own Allow: / line. A generic User-agent: * rule doesn't always cover cases where a security plugin or firewall has since added specific exceptions.
3. No lingering blanket Disallow: / — the classic trap: a staging environment pushed to production with its full-block robots.txt still in place, or an SEO plugin defaulting to "block everything" out of caution. This single point accounts for a meaningful share of the AI-invisible sites we audit.
4. Search crawlers distinguished from training crawlers — OAI-SearchBot, Claude-SearchBot, and PerplexityBot build search indexes that cite you. GPTBot, ClaudeBot, and Google-Extended collect content for model training. You can allow one set and restrict the other — it's a strategic decision, not an all-or-nothing switch.
Structured Data
5. The Hotel schema is complete — address as a proper PostalAddress, star rating, amenities listed under amenityFeature, check-in and check-out times, languages spoken at the front desk. A schema with only a name and address tells an AI system almost nothing useful.
6. Room or Offer schema exists for each room type — without it, an AI sees "a hotel" but can't answer a question like "do you have a room with a view and a bathtub for two adults and a child."
7. FAQPage schema if your site has an FAQ section — this is one of the structured data types most directly used by generative answers, since it matches exactly the question-and-answer format these systems produce.
8. AggregateRating or Review schema if reviews are displayed — if your page shows a visible average rating to human visitors, the same rating needs to exist in structured data, with the same number. A mismatch between the two (4.5/5 shown, nothing in the schema, or worse, a different value) creates distrust with search engines and triggers penalties from Google.
9. Schema validated with the Rich Results Test, not just copied from a tutorial — JSON-LD copied from a generic article and never adapted almost always keeps forgotten placeholder values or is missing required properties. Always run your code through search.google.com/test/rich-results before publishing.
llms.txt
10. The file exists at the domain root — yourdomain.com/llms.txt, in Markdown, publicly accessible, not blocked by robots.txt.
11. The content is accurate, not generic — an llms.txt that lists amenities you no longer have, or that omits a restaurant you opened last year, misleads an AI system in exactly the way an outdated printed brochure misleads a guest.
12. The file is kept current — every significant change (a new offer, a renovation, a new restaurant, a change in pet policy) should trigger a review of the llms.txt, the same way it would trigger a review of the homepage. A file created once and never touched again loses its value quickly.
Content & Metadata
13. Unique title tags on every page — especially on room-type pages, where the temptation to duplicate the same generic title ("Rooms — Hotel Name") across ten different pages is common.
14. Unique meta descriptions, not duplicated across room types — each page should answer a different question. An identical meta description across every room listing tells a search engine that none of them is genuinely distinct from the others.
15. A logical heading hierarchy, not a decorative one — a single H1 per page, H2s that actually structure the content rather than tags chosen for their visual size. An AI system parsing HTML structure to understand the organisation of information relies on that hierarchy; if it's inconsistent, extraction is too.
16. Descriptive alt text on images, not the filename — "deluxe-room-sea-view-balcony" carries information; "IMG_4021.jpg" or "room-1" carries none, for accessibility, for indexing, or for an AI system trying to understand the page's visual content.
17. A factual, complete, unambiguous property description — the simplest test: could an AI system reproduce your description without inventing a single detail? If your copy is vague ("an exceptional setting," "a unique experience") without ever stating the actual room count, precise location, or real amenities, the AI has nothing solid to cite — and cites your competitor instead, who was specific.
Performance & Multilingual Foundations
18. Hreflang tags correctly paired between language versions — every French page must point to its exact English equivalent, and vice versa. A mismatched pair (the French homepage pointing to an English room page) does more harm than having no hreflang at all.
19. Clean canonical URLs, no redirect chains — every extra redirect adds latency and confusion for crawlers, whether classic search or AI. A three-redirect chain to reach a room page is a signal of a poorly maintained site.
20. A sitemap submitted and up to date — in Google Search Console at minimum, reflecting pages that are actually live, with no dead URLs or long-removed pages.
21. Reasonable page speed on mobile — Core Web Vitals within acceptable thresholds. A site that takes more than three or four seconds to render on mobile loses human visitors before the question of AI visibility even comes up, and signals a technical foundation that's been neglected more broadly.
What this audit usually reveals: most hotel websites we review fail on bot access (point 2 or 3) and on incomplete schema (points 5 through 8) — rarely on everything, almost never on nothing. Two or three targeted fixes are often enough to unlock visibility that was simply blocked by a technical detail, not missing for lack of content.
Checking these twenty-one points by hand easily takes an hour or two, assuming you know exactly where to look — robots.txt, page source, the Rich Results Test, Search Console, PageSpeed Insights. It's useful work, but repetitive, and it needs redoing every time the site changes meaningfully.
That's exactly what AIscore automates in under a minute: robots.txt, schema, llms.txt, hreflang, metadata, and performance, checked together, with a score and the precise fixes to make. Or you can keep working through the list by hand, page by page. Both work — one takes a minute, the other takes sixty.
Or skip the manual work — scan instead
AIscore checks these twenty-one points — plus 70 more signals — in 30 seconds, free, no sign-up required.
Scan your hotel now →