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.mdorfix-templates/jsonld-localbusiness.md. Use the most specific@typesub-type that fits (e.g.,CafeOrCoffeeShop,SoftwareApplication). - JSON-LD: FAQPage — from
fix-templates/jsonld-faqpage.md, paired with the HTMLfaq-block.mdtemplate 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.txtand/llms-full.txt— fromfix-templates/llms-txt.md. Includes the three-layer discovery fix (HTTPLinkheader,<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".