Structured data
Format-level JSON-LD, Microdata, and RDFa fixtures covering valid types, invalid payloads, placement, multiplicity, JavaScript injection, and content conflicts.
Format-level structured data mechanics. Every machine-readable expectation — status, content type, markers, sitemap policy — lives in the typed registry; these pages explain behaviour for humans.
Families:
- Valid JSON-LD: one head block each for Article, BreadcrumbList, FAQPage, Product, and Organization, all parseable and complete.
- Invalid JSON-LD: a Product missing its required
name, a syntactically valid block with a nonexistent@type, and a block whose JSON fails to parse while the page HTML stays intact. - Placement and multiplicity: two blocks on one page, plus identical Article payloads placed once in the head and once at the end of the body.
- Rendering and conflict: an Article block injected by JavaScript after load, and a Product whose structured price disagrees with the visible price.
- Microdata and RDFa: attribute-markup Product baselines with zero JSON-LD on the page.
The invalid, JavaScript-injected, and conflict fixtures are crawlable without harm but stay out of the default sitemap, so a baseline crawl of sitemap URLs yields only clean structured data. Per-feature rich-result validation is out of scope here — this group owns the format mechanics only.
Fixtures in this category
- JSON-LD Article (valid) —
jsonld-article-valid(safe) - JSON-LD BreadcrumbList (valid) —
jsonld-breadcrumb-valid(safe) - JSON-LD FAQPage (valid) —
jsonld-faq-valid(safe) - JSON-LD Product (valid) —
jsonld-product-valid(safe) - JSON-LD Organization (valid) —
jsonld-organization-valid(safe) - JSON-LD Product missing required field —
jsonld-missing-required-field(moderate) - JSON-LD nonexistent type —
jsonld-nonexistent-type(moderate) - JSON-LD malformed JSON —
jsonld-malformed-json(moderate) - JSON-LD multiple blocks —
jsonld-multiple-blocks(safe) - JSON-LD head placement —
jsonld-head-location(safe) - JSON-LD body placement —
jsonld-body-location(safe) - JSON-LD injected by JavaScript —
jsonld-js-injected(moderate) - JSON-LD versus visible content conflict —
jsonld-visible-content-conflict(moderate) - Microdata Product (basic) —
microdata-basic(safe) - RDFa Product (basic) —
rdfa-basic(safe)