Shwetank Ojha
Schema & Structured DataIntermediate

JSON-LD

JSON-LD is a lightweight structured data format that embeds schema.org markup as a standalone JSON object inside a script tag, kept separate from a page's visible HTML, and is Google's explicitly recommended format for structured data.

13 April 20263 min read
JSON-LD: structured data packaged as a self-contained JSON script tag
TL;DR. JSON-LD packages structured data as a single, self-contained JSON object inside a script tag, separate from a page's visible markup. W3Techs' usage survey puts JSON-LD's share of structured-data-carrying websites at roughly 70 percent, well ahead of Microdata's 46 percent, and Google states JSON-LD as its preferred format outright.

What is JSON-LD?

JSON-LD, short for JSON for Linked Data, is a syntax for writing structured data as a standalone block of JSON placed inside a script tag with type application/ld+json. The LD part signals that the values inside can link to shared vocabularies like schema.org through an @context field, which is what lets a search engine interpret a bare property name like priceCurrency the same way every website that uses it does.

Key highlights

  • W3Techs' January 2026 usage comparison puts JSON-LD at roughly 70 percent adoption among sites using any structured data format, against 46 percent for Microdata, and the gap has widened every year the two have been tracked side by side.
  • Google's own documentation names JSON-LD as the recommended format for all structured data, a rare case of an explicit stated preference rather than three formats treated as equally valid.
  • Because the script tag sits apart from visible HTML, JSON-LD can be generated dynamically from a database or CMS without touching page templates at all, which is the main reason large sites migrate to it from Microdata.
  • Validation is faster in practice: a JSON-LD block can be tested in isolation with any JSON linter before it ever touches a live page, while Microdata errors often only surface once the markup is already rendered inline.

The basic shape of a JSON-LD block

A minimal JSON-LD block needs three things: an @context pointing to https://schema.org, an @type naming the schema.org type being described, and a set of properties matching that type. Everything else follows from getting those three right; a Product block adds name, price, and availability, an Article block adds headline, datePublished, and author, always inside the same script tag structure.

JSON-LD adoption versus Microdata: roughly 70 percent versus 46 percent of structured-data sites

Why JSON-LD pulled ahead of Microdata

Microdata requires adding itemscope, itemtype, and itemprop attributes directly onto the HTML tags already rendering visible content, which means every template change risks breaking the markup silently. JSON-LD decouples the two entirely: a designer can restructure a page's HTML freely without touching the schema markup sitting in its own script tag, which is the practical reason large engineering teams standardized on it once Google's preference made the choice low-risk.

Common JSON-LD mistakes

  • Multiple conflicting @type declarations for the same entity spread across separate script tags on one page.
  • Markup describing content that isn't actually visible anywhere on the rendered page, which risks the same eligibility penalties applied to schema abuse generally.
  • Malformed JSON from a missing comma or bracket, which invalidates the entire block rather than just the broken field.
JSON-LD: common types
JSON-LD: vs microdata

Frequently asked questions

What does JSON-LD stand for?

JSON for Linked Data. The Linked Data part refers to the @context mechanism that ties the JSON's properties to a shared vocabulary like schema.org.

Do I need to write JSON-LD manually?

Rarely for large sites. Most CMS platforms and e-commerce systems can generate JSON-LD automatically from existing product or content data, which is exactly why it scales better than manually maintained Microdata.

Can JSON-LD and Microdata coexist on the same page?

Technically yes, but it invites duplicate or conflicting signals for the same entity. Consolidating on one format, JSON-LD in almost every current recommendation, avoids the ambiguity entirely.

Real-world example

A publishing platform migrated its Article and Author schema from inline Microdata attributes scattered across dozens of templates to a single centralized JSON-LD script generated at render time. Validation errors dropped to nearly zero within one release cycle, since the markup no longer depended on every template author remembering to add the correct attributes by hand. (Illustrative example, not a documented case.)

SO

Shwetank Ojha

SEO & AIO Strategist

Helping businesses dominate search results through data-driven SEO strategies, AI-powered optimization, and content systems that compound growth.