Skip to content
Free Indian Tools

SEO

JSON-LD vs Microdata vs RDFa — which schema format actually wins

Google supports all three structured data formats but explicitly recommends JSON-LD. Why that is, plus the migration recipe from Microdata done cleanly.

3 May 2026 · 2 min read


Quick frame: Google supports JSON-LD, Microdata and RDFa for structured data. Since 2017 it explicitly recommends JSON-LD. New implementations should default to JSON-LD; existing Microdata is fine to keep but worth migrating during the next CMS overhaul.

Why JSON-LD won

Microdata and RDFa interleave structured data with HTML — every property gets an attribute on a visible element. This couples markup to template structure and makes it brittle to refactors. JSON-LD lives in a single <script type="application/ld+json"> block in the head, fully decoupled from the visible HTML.

The practical wins:

  • Easier to template — one JSON object per page type, regardless of HTML changes.
  • Easier to audit — paste into Rich Results test, get a clean diff.
  • Easier to scale — generate from data, not from DOM walking.
  • Easier to validate — formal JSON syntax, machine-checkable.

When Microdata might still make sense

For very simple sites with no JavaScript build pipeline, where you want the markup visible in the rendered HTML for human inspection, Microdata is fine. Anyone building modern Indian e-commerce or content sites should default to JSON-LD.

The migration recipe

  1. Inventory existing Microdata via a crawler (Screaming Frog → Custom Extraction).
  2. For each page type, generate the equivalent JSON-LD using a schema generator.
  3. Inject JSON-LD via the layout template (one block per page type).
  4. Remove Microdata attributes from the HTML (or leave them — duplicates don't hurt).
  5. Validate with Google's Rich Results Test.

Common JSON-LD page types

Background on Google's validation flow lives in validating schema with Google rich results.

FAQ

Q. Can I mix JSON-LD and Microdata on the same page? A. Yes — Google will read both. If they contradict, behaviour is unpredictable. Pick one per content type.

Q. Does JSON-LD slow down the page? A. Negligible — it's a small script block, no parsing overhead. Pages with 5–10 JSON-LD types render with no perceptible Core Web Vitals impact.

Q. Should the JSON-LD go in the head or before the closing body tag? A. Either works. Head is the convention. Body is fine if your CMS only allows scripts there.

Try the free tool

Article Schema Generator

JSON-LD Article / BlogPosting / NewsArticle — paste, copy, done.

Open Article Schema Generator

Related guides