Skip to content

Readiness

Readiness is the deterministic half of AI visibility: whether AI systems can reach, read, and understand your site at all — crawler access, raw-HTML readability, structured data, liftable content, and entity signals. It sits in the brand sidebar between Measure and Analytics because the two answer different questions: Measure tracks what AI says about you; Readiness tracks whether AI can read you. Readiness is the half you can move this week — fix the site, re-scan, watch the score respond.

Readiness: the latest scan in five scored categories, with history and per-check diffs below.

The page shows your latest completed scan in the same presentation as the public free scan — deliberately, so the report you saw before signing up and the report you monitor as a customer are one continuous surface. Five scored categories (Crawl Access, Structured Data & Context, Entity & Reputation, Answer Liftability, and Site Foundation) roll up into one Readiness score (a severity-weighted index, 0–100), each expanding to every one of its checks, grouped by cluster: Crawl Access holds Bot Wall, Crawler Gate, and Ghost Content; Structured Data & Context holds Schema Trust Layer, llms.txt Handshake, and Agent Interface; Entity & Reputation holds Entity Fingerprint; Answer Liftability is its own cluster; and Site Foundation holds Site Floor and Page Floor. Severity weighting and gate rules apply: a failing gate check (for example, AI crawlers turned away at the door) caps its category, so a blocked layer never reads as passing.

The numeric Readiness score stays the headline (with its Poor to Excellent descriptor), over a row of per-category rings that show each category’s score and how many of its checks passed at a glance. Every check row expands into an evidence-first view: the goal, the result, the exact request and status the scan saw (OBSERVED, with a source), a conclusion, and how to fix it. Nothing is asserted without the receipt behind it.

Agent Interface is a cluster inside Structured Data & Context, not a category of its own. It covers emerging agent-web standards (Content Signals, markdown negotiation, DNS-AID, MCP and OAuth discovery, A2A cards, WebMCP, and so on). Almost no sites implement them yet and no AI engine is known to reward them for citations today, so the honesty lives in the check statuses: when one of these signals is simply absent, its check reports not applicable instead of a failure, and it only enters the score once a site actually implements it. A brand with no agent infrastructure is never penalised for that. See what the scan checks for the full A1–A15 list.

A brand with no scan yet shows an honest empty state with a Run the first scan button.

Run a new scan re-checks the site on demand with the same unified scan engine. One scan runs at a time per brand; the page polls progress and refreshes into the fresh report when it completes. Re-scans stay available on every account state so the fix → re-check loop always works; accounts that are not active are limited to a small daily number of re-scans.

Every completed scan is summarized: a scan that we could score carries the Readiness score plus its category scores; a scan we couldn’t measure (a bot wall or challenge kept us from reading enough of the site) is recorded as an honest gap with the reason why, never a zero and never a silent absence. The Readiness over time charts plot the scored scans only, with no smoothing and no interpolation, so an unmeasured run is a gap in the line, never a dip. The run list shows every scan’s date, index (or with a “couldn’t measure” note when unscored), band, and pass/fail/warn counts, and View report opens that run’s full report (clearly labeled as not the latest). The brand’s headline Readiness number is your latest scored scan, so one bot-walled run never blanks a real recent score.

The per-check diff compares any two runs and lists every status transition, grouped by category — “T3 flipped to pass” — which is the artifact you show a client after shipping fixes. Its honesty rules:

  • A check absent (or not applicable) in one run reads not measured, never regressed.
  • Runs that scanned different page sets carry an explicit scope note, because a difference can reflect scope rather than a change on your site.
  • A check measured on several pages carries its worst status per run, so multi-page scans compare without double counting.