Technical
JSON-LD vs Microdata
JSON-LD wins for almost every case and is what Google recommends. It lives in a script tag apart from the markup, so a template change cannot silently break it — which is precisely how Microdata implementations decay without anyone noticing.
Side by side
| Compared on | JSON-LD | Microdata |
|---|---|---|
| Google recommendation | Preferred | Supported |
| Where it lives | A separate script block | Attributes woven through the HTML |
| Survives a redesign | Yes | Frequently not |
| Reviewable in one place | Yes | No |
| Can describe things not on the page | Yes | Not really |
| Risk of silent breakage | Low | High |
When JSON-LD is the right choice
- Any new implementation, without exception
- Complex graphs with entities referencing each other
- Anything generated from a data source rather than hand-written
When Microdata is the right choice
- An existing implementation that works and would cost more to migrate than it returns
- Rare cases where markup and data must be provably identical inline
Why the separation is the whole argument
Microdata attaches to elements. When someone restructures a template, the markup breaks and nothing looks different, so nobody notices until a rich result disappears months later. JSON-LD is a self-contained block that either parses or does not.
The thing that matters more than format
Linking nodes with @id references. A perfectly chosen type in an isolated block says far less than a modest type connected into a graph describing relationships between your organisation, your pages and what you sell.
How to check what you currently have
Run any page through the Schema Markup Validator. It shows which format was detected and what it parsed. A site with Microdata that has been through a redesign frequently shows fragments — half a Product, an Organization with no name — which is the silent decay this comparison is about.
The verdict
JSON-LD for anything new. If you have working Microdata, migrating is a maintenance improvement rather than an SEO gain — do it when you are touching the templates anyway.
If you want the full treatment
Schema markup that does something, and the kind that risks a penalty covers this in about 3 minutes — free, ungated, written from client work.
Who wrote this comparison
Anas Bin Masud builds e-commerce sites and does technical SEO for businesses in the UK, Canada and Pakistan. Where a comparison involves something I sell, the page says so — and every comparison here has to name at least two situations where each side wins, because a comparison one option always wins is an advert with a table in it.