/terms/json-ld · 4 min read · foundational
JSON-LD
Citation status
Last checked 2026-06-04
What is JSON-LD?
JSON-LD (JavaScript Object Notation for Linked Data) is a W3C-standard syntax1 for embedding structured data in web pages. It serializes schema.org vocabulary into self-contained JSON blocks, separate from visible HTML. Engines parse these blocks to identify entities, relationships, and metadata that prose alone leaves ambiguous.
The format pairs each piece of data with a @context (pointing to schema.org's vocabulary) and a @type declaring what kind of thing this is, such as Organization, DefinedTerm, FAQPage, or Article. A single page can ship multiple JSON-LD blocks for different schema types, or one block with a @graph container holding multiple typed objects.
Minimum viable JSON-LD wrapper
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "DefinedTerm",
"name": "Example",
"description": "Short definition here."
}
</script>
The <script type="application/ld+json"> wrapper is what tells browsers to ignore the block (it is not executable JavaScript) while signaling to crawlers that the JSON inside is structured data.
Status in 2026
The dominant structured-data format on the web. Google recommends JSON-LD2 "if your site's setup allows it" as the format easiest to implement and maintain at scale, while noting that all three structured-data formats (JSON-LD, Microdata, RDFa) are valid as long as the markup is correct. JSON-LD has become the de facto choice in new implementations. Major AI search surfaces (ChatGPT, Perplexity, Claude, Microsoft Copilot, Gemini chat, Google AI Mode, and Google AI Overview) have observable behavior consistent with parsing JSON-LD when present: engines surface schema-derived information in responses. The specific parsing details (weighting JSON-LD versus prose, handling conflicts between JSON-LD and visible HTML, parsing-failure fallback behavior) vary per engine and are generally not vendor-documented beyond Google's structured-data documentation. Microdata and RDFa remain valid but are increasingly rare in new code; legacy sites that still use them parse fine.
Note on FAQPage: FAQPage schema is still valid JSON-LD vocabulary and remains parsed by AI engines for question-answer extraction, but Google fully deprecated FAQ rich results on May 7, 2026, so FAQPage markup no longer triggers in-SERP visual treatment. See the FAQ schema entry for the full deprecation context. This entry's How-to-apply examples using FAQPage remain syntactically valid; the markup is just no longer a SERP rich-result lever.
Note on this entry's territory (paired with the FAQ schema entry's mirror observation on vendor-canonical territory): JSON-LD sits in strongly vendor-canonical territory. The W3C Recommendation (JSON-LD 1.1, 2020) and json-ld.org spec define the format formally; Google Search Central documentation explicitly recommends it as the preferred structured-data format; schema.org maintains the vocabulary it serializes. Google AI search surfaces (AI Mode, AI Overview) leverage JSON-LD as documented in their structured-data docs. Other major AI engines (ChatGPT, Perplexity, Claude, Microsoft Copilot) have observable behavior consistent with parsing JSON-LD but do not publish parsing details. For glossary readers: this entry's strategic position differs from non-vendor-canonical GEO concepts (such as LLMO and cite-ability) because vendor documentation on JSON-LD is comprehensive; the entry's added value is implementation guidance (generator helpers, validator workflow, schema-type separation) rather than concept definition. Paired with the FAQ Schema entry: that entry covers a specific schema.org type (with its May 7, 2026 deprecation context); this entry covers the JSON-LD syntax all schema types share.
How to apply
JSON-LD is the syntax; schema.org types are what you fill it with. Three operational moves:
- Use a JSON-LD generator helper, not hand-authored markup: build a small server-side function that takes typed input (
{ name, description, ... }) and emits valid JSON-LD via your framework's metadata API (Next.jsmetadata, Astro<head>slot). Hand-authored payloads accumulate copy-paste errors across pages. - Validate every payload before deploy with both validators: paste rendered output into Schema.org's validator (broader spec compliance across all schema.org types, including types Google does not surface as rich results) and Google's Rich Results Tester (eligibility check only for Google's supported rich-result types). Both flag the same payload differently; running both catches errors that either alone would miss.
- Choose a consistent pattern: separate
<script>blocks per schema type, or one block with a@graphcontainer: shipDefinedTerm,FAQPage, andBreadcrumbListeither as three separate<script type="application/ld+json">blocks or as one block whose top-level@grapharray contains the three typed objects. Engines parse both patterns. Pick one and use it consistently. Separate blocks give independent validation surface area (easier to debug);@graphis more compact for entity-heavy pages. Avoid one giant untyped payload.
What to skip: hand-converting Microdata or RDFa markup on legacy pages. If a section uses them and validates fine, leave it; rewrite to JSON-LD only when you are editing that section for other reasons.
How it relates to other concepts
- The syntax layer underneath DefinedTerm schema, FAQ schema, and dozens of other schema.org types.
- A useful technical hygiene layer for GEO, especially where structured data accurately mirrors visible content. GEO also depends on content quality, crawlability, authority signals, retrieval fit, and citation behavior beyond schema syntax.
- Companion to Knowledge Graph signals. JSON-LD
sameAsis the standard schema.org property for pointing to authoritative profiles representing the same entity (Wikipedia, Wikidata, Crunchbase, LinkedIn); engines may corroborate or ignore it depending on trust signals and consistency across the linked profiles.
Footnotes
-
JSON-LD 1.1 W3C Recommendation: w3.org/TR/json-ld11/ (published 16 July 2020). The official W3C-recommended specification supersedes JSON-LD 1.0 (W3C Recommendation, January 2014). For implementation tutorials and tooling, see also json-ld.org. ↩
-
Google Search Central: structured-data general guidelines and JSON-LD recommendation. developers.google.com/search/docs/appearance/structured-data/intro-structured-data. ↩
Part of Schema cluster· editorial cluster, not a semantic link
Also in this cluster: Article Schema · BreadcrumbList Schema · DefinedTerm schema · FAQ Schema · HowTo Schema
Related terms
Mentioned in· auto-generated from other terms' related lists
FAQ
- Is JSON-LD better than Microdata or RDFa?
- For practical purposes in 2026, yes. JSON-LD is the format Google recommends as easiest to implement and maintain at scale, and the format AI search engines parse most reliably in practice. Microdata and RDFa are still valid syntax options (Google notes all three are equally valid as long as markup is correct) but require inline HTML attribute markup, which is harder to author, validate, and maintain than separate JSON-LD blocks.
- Where does JSON-LD go on a page?
- Inside a `<script type="application/ld+json">` block, typically in the page `<head>`. It can also live in `<body>` (engines parse both), but `<head>` is the convention for structured data.
- Can I have multiple JSON-LD blocks on one page?
- Yes. Use a consistent pattern: either one block per schema type (one DefinedTerm block, one FAQPage block, one BreadcrumbList block) or a single block whose top-level `@graph` array contains multiple typed objects. Engines parse both patterns. Pick one and apply it consistently across the site.
Sources & further reading
Get the monthly digest
New terms shipped that week, plus one observation from the AI-citation tracker.