Skip to content

Structured Data

Structured Data measures whether the service tells agents what it is, who it's for, and what it contains—in a machine-readable format.

What it measures

Scoring Structured Data against Dimension 1 of the agent-readiness-rubric; generating FIX artifacts from fix-templates/; flagging any ESCALATE items. Before scoring, a false-negative check must be run: most fetch tools strip <script type="application/ld+json"> tags during markdown conversion. Verification against raw source (or /llms.txt / /llms-full.txt endpoints) is mandatory before drawing any conclusion.

How it scores

Score Descriptor
0–4 No schema markup. No JSON-LD. Agents parse raw HTML and guess at entity type.
5–9 Minimal schema. Basic WebSite or Organization only. Core entities untyped.
10–14 Core entity typed correctly (e.g., SoftwareApplication, LocalBusiness, Product). Some nested properties missing. No sameAs links.
15–19 Comprehensive schema. Multiple entity types, nested relationships, AggregateRating where applicable. Minor gaps only.
20 Full coverage. All key entities typed, linked via sameAs, and validated. Rich snippet eligible. Agents can parse the site's full offer without reading prose.

What it generates on FIX

All of these produce a text artifact the operator can write:

  • JSON-LD: Organization or LocalBusiness — from fix-templates/jsonld-organization.md or fix-templates/jsonld-localbusiness.md. Use the most specific @type sub-type that fits (e.g., CafeOrCoffeeShop, SoftwareApplication).
  • JSON-LD: FAQPage — from fix-templates/jsonld-faqpage.md, paired with the HTML faq-block.md template so schema and visible content stay in sync.
  • JSON-LD: additional entity types (Product, HowTo, Speakable) — generated inline when score band warrants (15–19: add Speakable; 10–14: add FAQPage / HowTo).
  • /llms.txt and /llms-full.txt — from fix-templates/llms-txt.md. Includes the three-layer discovery fix (HTTP Link header, <link rel="alternate"> in <head>, visible body hyperlinks at the TOP of <body>). Agent-native endpoints that survive any fetch method and close the audit-tool gap permanently.

What escalates

Raw source is genuinely unverifiable (JS-SPA with no fallback, markdown-only fetch with no /llms.txt present). The unblocking action is always "provide raw page source or run Google Rich Results Test".

See it in action