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>.

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

Core
Wellness
Access & parking
Extras

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.

Add these — every AI assistant cross-references them:
Rooms (HotelRoom schemas)
One entry per room category.
+
Restaurant
One Restaurant schema for the on-site restaurant.
+
Spa / Wellness (HealthAndBeautyBusiness)
One schema for the spa, with treatments listed.
+
Treatments
Events / Meetings (EventVenue)
Event spaces and packages.
+
Packages
FAQ Page
Question/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:

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 @graph per page, not 17 separate <script> tags.
  • Stable @id URIs ({baseUrl}/#hotel) so cross-page schemas reference the same entity.
  • paymentAccepted as an array, not a comma-joined string. addressCountry required, no defaults.aggregateRating opt-in, with the first-party-reviews-only caveat.
  • sameAs populated 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.