Methodology

How the AI Presence Readiness score works

Five pillars. 38 technical checks. One number from 0 to 100.
The public score is technical-only — the same site gets the same score, every time.

5 Pillars

Machine-readable identity30%
Can AI identify your destination?
Content for AI20%
Can AI quote you accurately?
Crawlability & access20%
Can AI access your site?
Action readiness15%
Can AI book or contact you?
Authority & trust signals15%
Can AI trust and recommend you?

Scoring

Each check produces a numeric score from 0 to 100 and a tri-state outcome:

≥ 80
Pass
40–79
Partial
< 40
Fail

Critical issues

Five conditions flag a critical gap on your report. Four affect your score through the underlying checks — fix the gap and your number moves, no cliffs. One — AI crawlers blocked — also caps the public score at 24 until access is restored, because nothing else matters if agents can't reach your site.

  • Critical
    No schema.org markup
    AI can't tell what kind of place you are — a hotel, a restaurant, a destination. You're invisible.
    Technical detail

    AI agents skip entities they cannot identify as structured places, hotels, restaurants, attractions, or destinations.

  • Critical
    No geographic identity
    AI can't place you on a map or match "near me" searches.
    Technical detail

    Missing geo coordinates or address data prevents map placement and near-me matching.

  • Critical
    No agent-readable action path
    AI can't help a guest take action with you (book, reserve, contact).
    Technical detail

    Agents cannot transact directly when there is no structured booking or reservation surface.

  • Critical
    No review signals
    AI can't see enough reviews to feel confident recommending you.
    Technical detail

    Agents treat review data as a trust baseline before recommending a place.

  • ≤ 24
    AI crawlers blocked
    Your site is telling AI assistants like ChatGPT and Gemini to stay away. They can't read or recommend you.
    Technical detail

    When robots.txt blocks the major AI retrieval bots (OAI-SearchBot, ChatGPT-User, Claude-User, Googlebot, PerplexityBot), agents cannot read the content at all and you disappear from answer engines.

Featured checks

Content freshness

Whether your pages look up-to-date to AI assistants.

Technical detail

Agentic search studies show freshness terms such as 2024 and 2025 dominate fan-out queries. Structured, recent dates help agents trust that seasonal advice, pricing, and availability are still valid.

Pass: structured dates updated within 12 months. Partial: dates exist but are stale or inconsistent. Fail: no reliable freshness signal.

What good looks like: A hotel keeps room, package, restaurant, and event pages marked with dateModified from the current season.

Comparison tables

Whether key info (rooms, prices, hours) is in real tables AI can read.

Technical detail

Citation research found ChatGPT answers are much more likely to cite pages with actual HTML tables. Tables help agents compare amenities, seasons, tiers, prices, and policies without guessing from prose.

Pass: decision-critical data appears in semantic HTML tables. Partial: structured comparisons exist but are incomplete or image-only in places. Fail: no machine-readable comparison structure.

What good looks like: A destination publishes activity seasons, accessibility, durations, and price bands in a table with clear column headings.

Token budget

Whether your pages are short enough for AI to read fully.

Technical detail

Agents operate inside finite context windows and often truncate long pages. Pages over roughly 30K tokens risk losing the exact facts an assistant needs to recommend or book confidently.

Pass: key pages fit comfortably inside the token budget. Partial: some pages are heavy but still extractable. Fail: important pages are too large or repetitive to read fully.

What good looks like: A restaurant page keeps menu, opening hours, booking, address, and dietary facts concise rather than burying them after repeated layout boilerplate.

Markdown availability

Whether AI assistants can fetch a clean, fast version of your pages.

Technical detail

Clean Markdown alternatives reduce token overhead and remove navigation chrome. Agents can parse headings, lists, links, and facts faster when a .md route mirrors the canonical page.

Pass: important pages expose clean .md versions. Partial: only some pages or partial content are available. Fail: no Markdown alternative is discoverable.

What good looks like: An attraction page offers /visit.md with summary, opening times, ticket links, accessibility, location, and FAQs.

Card readiness

Whether AI can show you as a rich card with image and rating, instead of plain text.

Technical detail

AI surfaces can promote entities as richer visual cards when schema includes the minimum properties needed for display. Missing one critical field, often image or aggregateRating, can drop the entity to a plain text mention.

Pass: schema includes image, rating or price cues, location, and canonical action URL. Partial: one non-critical card field is weak or missing. Fail: critical card fields are absent.

What good looks like: A hotel has image, address, geo, aggregateRating, priceRange, and ReserveAction on the canonical property page.

Schema completeness

Whether your schema fills in the properties AI assistants actually use to identify and bucket you.

Technical detail

Schema doesn't feed the LLM directly — it feeds what the LLM calls (Google Places, Maps, the Knowledge Graph). Properties are graded in three impact tiers, and properties only count when they're filled in the typed form AI engines actually parse — a primitive starRating of 4 fails the category-bucket filter that a typed Rating object passes.

Pass: critical-tier properties (name, description, url, address, primary identifier) are all filled and typed correctly. Partial: critical tier is fine but one or more high-impact properties are missing or malformed. Fail: critical-tier properties are missing or typed wrong.

Hotels get a sameAs reconciliation sub-signal — own the canonical URL on any 2 of {Wikidata, Booking, TripAdvisor, Google Maps} and you earn full credit, rendered as a binary 4-cell checklist rather than a progress bar. alternateName, typed starRating, and containsPlace (room-level structure) also feed this check on the hotel path. A wrong @type (LocalBusiness or Organization on a hotel page) cuts the score with a tiered penalty rather than a flat one.

What good looks like: A hotel publishes name, description, url, address, a typed starRating Rating object, image, aggregateRating, priceRange, sameAs to Wikidata + Booking + Google Maps, alternateName for prior brands, and containsPlace entries for room types.

Geo + Entity Enrichment

Whether AI can place a hotel on a map — or link a destination to its identity in the knowledge graph.

Technical detail

The check is entity-aware. For destinations it's reframed as "Entity Linking" and grades Wikidata QID resolution (50) + Wikipedia sameAs (25) + schema geo (15) + locality signal (10) — the QID is resolved server-side via SPARQL reverse-lookup from your Google Place ID, so a destination earns the entity-linking points even when the publisher doesn't declare a sameAs. For hotels and other places it splits into three proportional sub-signals: Address Structure (50) + Entity Reconciliation (30, skippable) + Geo Coordinates (20).

Pass: high entity-resolution evidence for the entity type. Partial: present but partial — destination has geo but no QID resolved; hotel has address but no reconciliation. Fail: AI can neither place you nor link you.

Destinations are weighted 0.08 within Machine-Readable Core (down from 0.16) because "is this city locatable?" is trivially yes for any DMO. The freed weight redistributes to schema completeness and server-rendered schema. Hotels keep the full 0.16 — address really matters for a specific property.

What good looks like: A destination resolves to its Wikidata Q-id, publishes a Wikipedia sameAs and geo coordinates, and carries a containedInPlace or addressRegion locality signal. A hotel publishes a typed PostalAddress, sameAs to Wikidata or Booking, and geo coordinates.

Brand hierarchy

Whether AI can tell your property apart from its parent chain or group.

Technical detail

Agents need to separate a local entity from a chain, parent organization, or management brand. Clear hierarchy avoids recommendations or booking links being attributed to the wrong property.

Pass: local entity, parent brand, address, and booking URL are distinct. Partial: hierarchy is inferable but incomplete. Fail: brand and local property identity are conflated.

What good looks like: A restaurant page distinguishes the venue, parent hospitality group, local address, and reservation URL.

Review depth

Whether AI can see enough recent reviews to trust recommending you.

Technical detail

Review signals are a trust baseline for agents deciding whether to recommend a place. Scores grade depth and freshness rather than treating any rating snippet as enough.

Pass: structured aggregateRating has at least 20 reviews and recent activity. Partial: review data exists but is thin, stale, or not fully structured. Fail: no reliable review signal.

What good looks like: A destination or hotel links trusted review platforms and exposes aggregateRating with reviewCount and current rating data.

Wikipedia citation

Whether the destination's Wikipedia article links to you — not whether you say it should.

Technical detail

Almost every other check reads your own website, so a determined publisher can pass them by editing their markup. This one asks Wikipedia. We resolve your destination to its Wikidata entity — from your schema when you declare it, by name when you don't — then read the external links of its article, in the local language and in English, and check whether your domain is among them. Wikipedia editors decide the answer, self-added links are routinely reverted, and Wikipedia is a primary source for both AI training data and live citation.

100 if the article links to your domain, 0 if it does not. Existing in Wikidata is a prerequisite, not points — almost every destination does, so scoring it would separate nobody. The entity's official-website property and how many languages its article exists in are shown in your report and are worth nothing.

If we cannot resolve your entity, or Wikipedia is unreachable when we audit you, this check is skipped rather than scored zero — a question we could not ask must not read as an answer against you.

What good looks like: The Wikipedia article for the destination lists the DMO's site among its external links or references.

llms.txt quality

Whether your AI guide file is detailed enough to actually help.

Technical detail

llms.txt is most useful when it gives agents task-organized routes, descriptions, and token expectations. Quality is graded rather than simple existence.

Pass: entries include descriptions, token counts, and task sections. Partial: file exists but is shallow or disorganized. Fail: no useful llms.txt signal.

Google does not use llms.txt for Google Search; we grade it because other engines and AI crawlers may. We weight it as a supplementary signal, not a primary one.

What good looks like: A destination groups Markdown URLs by plan a trip, book a hotel, find events, and practical information, with short descriptions for each entry.

Agent spec coverage

Whether your site tells AI which pages matter and what they're about.

Technical detail

Machine-readable manifests like llms.txt and JSON specs let agents discover which entities, tasks, and routes they can safely use. Broader coverage means agents need less guesswork to act.

Pass: manifests describe entities, tasks, and canonical routes with structured detail. Partial: coverage exists but is shallow or missing key task surfaces. Fail: no usable agent spec is exposed.

What good looks like: A hotel exposes llms.txt plus JSON manifests pointing to canonical entity data, booking endpoints, and task-specific Markdown pages.

Action Readiness

Whether AI can book a room, reserve a table, or contact you on a guest's behalf.

Technical detail

Agents need a structured path to transact on behalf of a user. The pillar runs a universal programmatic-endpoint sub-check on every entity, plus two lodging-only sub-checks (structured ReserveAction and a cancellation policy URL) that fire on hotels and campsites.

Pass: all applicable sub-checks pass for the entity type. Partial: some action surfaces exist but are incomplete. Fail: no agent-readable action path is present.

What good looks like: A hotel exposes a programmatic booking endpoint (well-known mcp.json / a2a.json or schema.org potentialAction), a structured ReserveAction, and a cancellation policy URL on the canonical property page.

AI Search Access

Whether AI assistants like ChatGPT and Gemini are allowed to read your site.

Technical detail

Drives answer-engine visibility — when ChatGPT, Claude, Gemini, or Perplexity fetch your site live to cite it in user answers, this is the bot set that matters. Blocking Googlebot also hurts classic SEO. We test robots.txt policy and a simulated fetch for OAI-SearchBot, ChatGPT-User, Claude-User, Googlebot, and PerplexityBot.

Pass: ≥80% of retrieval UAs allowed by robots.txt AND reach the site successfully. Partial: 50–80% on either axis. Fail: <50% on either axis.

What good looks like: robots.txt explicitly allows OAI-SearchBot, ChatGPT-User, Claude-User, Googlebot, and PerplexityBot, and the CDN's bot-protection rules don't challenge them.

AI Training Access

Whether AI vendors are allowed to learn about your brand. Both yes and no are valid choices.

Technical detail

Training crawlers build the long-term model knowledge of your brand. This is a longer-horizon brand-control decision: it's legitimate to opt out, but vendors increasingly use retrieval-only bots that respect this signal — so blocking training no longer breaks live citations. We test GPTBot, ClaudeBot, Google-Extended, and PerplexityBot.

Pass: ≥80% of training UAs allowed by robots.txt AND reach the site successfully. Partial: 50–80% on either axis. Fail: <50% on either axis.

What good looks like: robots.txt explicitly allows GPTBot, ClaudeBot, Google-Extended, and PerplexityBot — or you've made a deliberate, documented opt-out for training while still allowing retrieval bots.

Agent Interaction Quality

Whether your booking forms work properly when an AI fills them out for a guest.

Technical detail

Beyond raw HTML, agents rely on the accessibility tree, form-label association, semantic interactive elements, and stable layout. A booking widget that's invisible to the a11y tree is invisible to the agents that book on behalf of guests.

Composite of four sub-scores (A11y Tree 40 / Form Labels 25 / Interactive Semantics 20 / Layout Stability 15). Pass ≥80, Partial 40–79, Fail <40.

What good looks like: Booking CTAs are <button> with proper ARIA, every input has a label, ARIA roles are valid, and CLS is below 0.1.

Critical issues

Four conditions are bad enough that we call them out at the top of your report as critical issues. They degrade your site's readiness even when the rest of the audit looks fine: missing schema.org markup, missing location data, no agent-readable action path (book, reserve, contact), no review signals. Each one is a specific, fixable gap — when you fix it, the underlying checks recover and your score moves. No cliffs, no surprises.

Which of these four can fire depends on what we're auditing. A destination (DMO) is trivially locatable by name — Lyon, Bordeaux — so "missing location data" is never flagged on a destination report. "No agent-readable action path" fires only on lodging audits (hotels, campsites) where the action pillar score drops below 30. "No review signals" only fires when reviews are an applicable signal for the entity type (places, not destinations). "Missing schema.org markup" is the only critical issue that can fire on any audit.

One exception — when crawlers are blocked

If AI crawlers can't reach your site at all, the rest of the score is academic. Schema, content quality, action paths — none of it matters if agents are turned away at the door. For this one case, we hold the public score at 50 until access is restored, and we say so explicitly on the report. Your "raw potential" — what the rest of the audit measured — stays visible so you know what unlocks the moment you allow AI crawlers.

This is the only case where your displayed score doesn't equal the weighted aggregate of the checks below. Everywhere else, what you see is what the math says.

Frequently asked questions

Why does AI Presence Readiness matter?

AI agents — ChatGPT, Gemini, Perplexity, and the new wave of travel concierges — are taking over discovery. If they cannot find, parse, and act on your content, you are invisible no matter how strong your traditional SEO is.

Is the score subjective or LLM-generated?

The public score is 100% objective — no AI judgment in the scoring loop. It is computed from technical signals (schema.org markup, llms.txt, ai.json, sitemap, robots, action endpoints, content readability) using fixed weights. Running the same audit twice yields the same score.

How is this different from a regular SEO audit?

Traditional SEO measures whether Google can index a page for human readers. AI Presence Readiness measures whether AI agents can find structured data, parse machine-readable summaries, and trigger actions like bookings or reservations on your behalf.

Free · 30 seconds · No signup

Ready to see your score?

Paste your URL. We'll run the full audit and give you a public, shareable report.