Opens in a new tabSkip to content
Agent LighthouseAgent Lighthouse

    Searches the text of every published page. The evidence sources themselves are not in this index — search all of them on the trusted sources page.

    GitHub ↗
    Browse checks and page contents
    structured-data/schema-validation

    Schema validation

    What it checks

    AI agents parse @context and @type to identify entity types in your structured data. Blocks missing these properties are silently ignored by every schema consumer, including Google, ChatGPT plugins, and RAG pipelines. Add “@context”: “schema.org” and a valid @type to each block.

    Why it matters

    A top-level JSON-LD node object with no active @context has its terms dropped during JSON-LD expansion. It therefore produces zero schema.org statements. Google’s structured-data parser records no entity for that block, and the block is ineligible for any feature that consumes structured data.

    Evidence

    • JSON-LD 1.1 is a W3C Recommendation dated 16 July 2020. The spec states “A context is used to map terms to IRIs”. A term with no active context is therefore not an IRI, and carries no schema.org meaning — w3.org/…/json-ld11 (verified 2026-08-21)
    • The companion Recommendation (JSON-LD 1.1 Processing Algorithms and API, 16 July 2020) defines the Expansion Algorithm that resolves every entry key against the active context; this is the normative step the audit’s signal depends on — w3.org/…/json-ld11-api (verified 2026-08-21)
    • Google names itself as a consumer of the format and reads it as entities: “Google can read JSON-LD data when it is dynamically injected into the page’s contents”. It treats the three encodings alike: JSON-LD, Microdata and RDFa are “all 3 formats are equally fine for Google”. It also requires completeness — “You must include all the required properties for an object to be eligible for appearance in Google Search with enhanced display” — developers.google.com/…/intro-structured-data (verified 2026-08-21)
    • Adoption of the format is at web scale: JSON-LD extracted from 833.8M URLs across 11.6M domains in the October 2024 Common Crawl — webdatacommons.org/…/stats.html (verified 2026-08-21)

    Limits

    The spec does not require @type. JSON-LD 1.1 §9.2 defines a node object purely by the absence of @value/@list/@set; @type is optional and a typeless nested map is a legitimate property value that conforming processors read as such. Google supports Microdata on equal terms, where <div itemscope itemprop="offers"> without itemtype is idiomatic and valid. The audit’s assertion that blocks missing @type are “silently ignored by every schema consumer, including Google, ChatGPT plugins, and RAG pipelines” is therefore false for nested nodes — the graded mechanism holds only for top-level entity blocks.

    The “RAG pipelines” half of the claim is separately unsupported: in a controlled fetch test a price present only in JSON-LD was retrieved by 0 of 5 systems (ChatGPT, Claude, Gemini, Perplexity, Google AI Mode) — searchviu.com/…/schema-markup-and-ai-in-2025-what-c… (verified 2026-08-21)

    How it scores

    The mechanism is a ratified W3C Recommendation (JSON-LD 1.1 expansion resolves keys against the active context) and Google is a named consumer that documents parsing JSON-LD into entities.

    Sources