Free Hotel Schema Audit & Generatorscore your schema.org/Hotel JSON-LD, then fix it
Type your domain and we fetch your homepage, extract whatever JSON-LD you already publish, and score it 0–100 against the rule pack from our study of 121,425 hotel sites. The generator below then opens pre-filled with your parsed values — you only type what’s missing, copy the corrected JSON-LD, and paste it into your<head>.
Yes — this is a free tool to check a hotel’s schema markup. Enter your domain and it fetches your homepage’s raw HTML (the same view GPTBot and ClaudeBot get, with no JavaScript), extracts your schema.org JSON-LD, and scores it 0–100 against hotel-specific rules drawn from a 121,425-site study. It flags missing lodging types, star rating, address, amenities, and sameAs links, then pre-fills a generator with your parsed values. No email, nothing stored.
We fetch your homepage’s raw HTML — no JavaScript rendering. That’s deliberate: it is exactly what GPTBot and ClaudeBot see when they crawl you. Nothing you submit is stored or logged.
Schema generator
No audit needed — you can also fill the form from scratch and copy the JSON-LD. The generator runs entirely in your browser.
Identity
Location & contact
Categorization
Images
One https:// URL per line. The first one is treated as primary.
Amenities
Click an amenity to cycle through Skip → Yes → No → Skip. Amenities marked “Skip” are omitted from the output entirely — no placeholders.
sameAs — cross-references
Where else this hotel is listed. Google Maps + at least one OTA is the highest-leverage combination — that’s where AI assistants converge.
Rooms (HotelRoom schemas)One entry per room category.+
RestaurantOne Restaurant schema for the on-site restaurant.+
Spa / Wellness (HealthAndBeautyBusiness)One schema for the spa, with treatments listed.+
Events / Meetings (EventVenue)Event spaces and packages.+
FAQ PageQuestion/answer pairs visible on the page.+
What is hotel schema and why AI search needs it
Schema.org is a vocabulary for describing things on the web in a way machines can parse. For hotels, the relevant types areHotel,HotelRoom,Restaurant,HealthAndBeautyBusiness (for spas),EventVenue, andFAQPage. The standard way to publish them is JSON-LD — a single<script type="application/ld+json">block per page.
Why it matters for AI search
AI assistants don’t read your beautiful homepage hero. They parse the structured data and cross-reference it against Google Maps, OTAs, and review sites. From our research:
- ChatGPT pulls from 5+ providers and uses entity linking to reconcile names — structured identity makes you reconcilable.
- Claude almost always calls Google Places and reads reviews verbatim. Your Google Maps presence + on-site schema agree → higher trust.
- 36.3% of 121,425 hotels we scanned have no schema at all, and 41% use the wrong type. Most hotels are invisible to AI for this reason alone.
How the audit works
The audit fetches a single page (your homepage) server-side and reads the raw HTML — no JavaScript rendering. AI crawlers like GPTBot and ClaudeBot don’t execute your scripts either, so if your schema is injected by a tag manager after page load, both they and this audit will miss it. The score weighs ~40 rules: the lodging-type gate, typed starRating, address completeness, geo coordinates, sameAs cross-references, check-in/out times, amenities, and the rest of the property checklist from the adoption study. Microdata and RDFa are noted when present but not validated — nearly all hotel structured data ships as JSON-LD. Nothing you submit is stored.
What this generator gets right
Most schema generators emit"value": "[TODO]"placeholders inside the JSON, hoping someone fills them in later. They never do. We omit properties without input entirely — the output is paste-and-deploy clean. Other things we got right per our study of 121K hotel sites:
- One
@graphper page, not 17 separate<script>tags. - Stable
@idURIs ({baseUrl}/#hotel) so cross-page schemas reference the same entity. paymentAcceptedas an array, not a comma-joined string.addressCountryrequired, no defaults.aggregateRatingopt-in, with the first-party-reviews-only caveat.sameAspopulated with the OTA and Google Maps URLs that AI assistants actually cross-reference.
What it does NOT do
- It does not crawl beyond the one URL you give it, or generate per-URL graphs for your room/restaurant pages.
- It does not render JavaScript — deliberately (see above).
- It does not validate the output against Google’s rich-results constraints — use the Google Rich Results Test to verify before deploying.
Want the deeper version?
For a multi-page audit of an existing hotel website (crawls all pages, checks AI-bot access, generates per-URL recommendations), we’re prepping a paid version. Get in touch if you want it run on a portfolio.
FAQ
Is there a free tool to check a hotel’s schema markup?
Yes. This free hotel schema checker fetches your homepage’s raw HTML, extracts the schema.org JSON-LD you publish, and scores it 0–100 against hotel-specific rules from a study of 121,425 hotel sites. It runs with no signup, no email, and stores nothing.
How do I check if my hotel website has schema markup?
Enter your domain above. The audit reads the served HTML (the same view AI crawlers like GPTBot and ClaudeBot get, since they do not run JavaScript) and reports which schema.org types it found, the property-level gaps, and a 0–100 score. If your schema is injected by a tag manager after page load, it will not appear, and neither this tool nor the crawlers will see it.
What schema.org types should a hotel use?
A hotel page should publish a Hotel (or LodgingBusiness) entity with a typed star rating, full address, geo coordinates, amenities, and sameAs links to its Google Maps and OTA listings, plus HotelRoom, Restaurant, spa, EventVenue, and FAQPage types where relevant, ideally as a single @graph block. The generator on this page outputs exactly that.
Why doesn’t my hotel show up in ChatGPT or other AI search?
Often because the structured identity is missing or inconsistent. In our 121,425-site study, 36.3% of hotels had no schema at all and 41% used the wrong type. AI assistants parse structured data and cross-reference it against Google Maps and OTAs; if your schema is absent, wrong-typed, or disagrees with those sources, you become hard to reconcile and get dropped. Fixing the schema is the cheapest first step.