TThatDeveloperGuyVeteran-led. Hand coded.
Glossary · Schema + Structured Data

JSON-LD

JSON-LD (JSON for Linked Data) is the W3C standard format for embedding structured data in web pages. JSON-LD uses standard JSON syntax with a `@context` field linking to a schema vocabulary (typically Schema.org). Google explicitly prefers JSON-LD over alternatives like Microdata and RDFa for structured data implementation.

Also called: JSON-LD structured data, JSON Linked Data · Last updated: May 27, 2026 · By Joseph W. Anady

Why it matters.

JSON-LD became a W3C Recommendation in 2014 and Schema.org's preferred format soon after. The advantages over inline alternatives are substantial: JSON-LD lives in a separate <script type="application/ld+json"> block in the page head, so it doesn't affect rendering, doesn't pollute HTML, and is easier to maintain via templating engines. It's the dominant structured-data format in 2026.

How it works.

A JSON-LD block requires three things: a `@context` property pointing to the vocabulary (usually `https://schema.org`), a `@type` property declaring what kind of entity is being described (Organization, Person, Product, etc.), and properties from that type. Multiple blocks can coexist on a page — Google parses every script tag with type `application/ld+json` and merges them. The `@graph` property allows multiple related entities in a single block.

2026 reality check.

JSON-LD adoption has grown to roughly 60-70% of structured data on indexed pages (Google internal estimates and industry surveys 2025-2026). The remaining Microdata/RDFa share continues to shrink. New Schema.org types and properties launch in JSON-LD-first format. There's no realistic reason to choose anything else in 2026.

Data points

  • W3C Recommendation since 2014 (JSON-LD 1.0)
  • Schema.org's preferred format (per schema.org documentation)
  • Roughly 60-70% of structured data on indexed pages uses JSON-LD (industry estimates 2025-2026)
  • Google explicitly recommends JSON-LD over Microdata and RDFa
  • JSON-LD 1.1 (W3C Recommendation 2020) added @nest, @graph improvements, frame algorithm

First-hand insight from ThatDeveloperGuy.

ThatDeveloperGuy exclusively uses JSON-LD across all 100+ client sites. We never mix with Microdata or RDFa — too easy to introduce conflicts. Our typical service page has 3-5 separate JSON-LD blocks: Organization, Service, Person (author), FAQPage, BreadcrumbList. Each is independently validatable, easier to maintain than a single mega-graph.

How TDG approaches it

TDG generates JSON-LD via templating with strict validation in CI. Each schema block is a separate file in our config repository, validated independently. At build time we validate against Google's Schema Markup Validator API. Production deployments never contain broken JSON-LD.

Common mistakes.

  • Forgetting the @context (must be 'https://schema.org' — block is meaningless without it)
  • JSON syntax errors (missing commas, unquoted keys, trailing commas)
  • Mixing JSON-LD with Microdata on the same page (causes Google parser confusion)
  • Putting JSON-LD inside the body instead of head (works but conventional location is head)
  • Skipping validation before deploy (use validator.schema.org)

FAQ.

Why does Google prefer JSON-LD over Microdata?

JSON-LD doesn't pollute the rendered HTML, is easier to template and maintain, scales to multiple entities per page via @graph, and is less likely to conflict with other code on the page.

Can I have multiple JSON-LD blocks on one page?

Yes. Google parses every script tag with type application/ld+json and merges them. Multiple separate blocks are easier to maintain than one giant block.

Does JSON-LD have any impact on page performance?

Negligible. JSON-LD is parsed by the browser but doesn't affect rendering. Modern engines parse it asynchronously.

Should I use @graph or separate blocks?

Separate blocks for unrelated entities. @graph for entities that reference each other (e.g., Article + Author + Publisher all in one block). Both are valid; separate is easier to maintain.

How do I generate JSON-LD?

Manually for one-off cases, programmatically for templated sites. ThatDeveloperGuy's free Schema Markup Generator at /tools/schema-generator/ produces valid JSON-LD for the most common types.