Schema validator
Validate JSON-LD against what Google actually requires.
Paste a URL or raw JSON-LD and see which structured data types are present, which required and recommended fields are missing, and which rich result each type is eligible for.
What it checks
- All Schema.org types present on the page
- Required and recommended fields per type
- Conflicting duplicate blocks from theme and apps
- Rich result eligibility per type
What each number is telling you.
A report you cannot interpret is just a longer way of saying something is wrong.
Types present
Which Schema.org types the page emits. Product, Offer and BreadcrumbList are the ones that matter most on a store.
Required versus recommended
Required fields must be present for the type to be valid at all. Recommended fields are what decide whether you are eligible for the richer result.
Duplicate blocks
Two Product blocks on one page is common and expensive — Google resolves the conflict by ignoring both, so you lose the enhancement entirely.
Rich result eligibility
Eligible means the markup qualifies. It does not mean the enhancement will show; that stays Google’s decision.
The mechanism, not the platitude.
- 01
It is what puts price and availability in the result
Valid Product and Offer markup is how a search result shows price, stock and rating. That is a visible difference in the listing before anyone clicks.
- 02
Invalid data does not degrade gracefully
A missing required field does not produce a lesser result. The enhancement is withheld, silently.
- 03
It breaks during theme updates
Schema is emitted by templates, and a theme update can strip a block without anything visibly changing on the page.
What this usually turns up, and the fix.
Four problems that account for most of what this tool reports on a Shopify store.
The finding
Two conflicting Product blocks
Why it happens
The theme emits one and an app emits another.
The fix
Turn one off. Usually keep the app’s, since it tracks your catalog, and disable the theme’s.
The finding
Offer missing availability or price
Why it happens
The template only fills fields that were set at build time.
The fix
Emit price, priceCurrency and availability — and make availability reflect reality, since a stale in-stock value gets the enhancement withdrawn.
The finding
AggregateRating with no reviews behind it
Why it happens
Rating markup emitted from a default rather than from real review data.
The fix
Only emit rating markup where real reviews exist. Fabricated ratings are a manual-action risk, not a shortcut.
The finding
Breadcrumbs skipping the collection
Why it happens
BreadcrumbList emitted with only home and product.
The fix
Include the collection level so the trail in the result matches your actual site structure.
What this will not tell you.
Every tool has a boundary. Knowing where this one ends is what keeps you from over-reading it.
- It validates what the page emits. It cannot tell you whether the values are true — accurate stock and pricing are your responsibility.
- Eligibility is not a promise. Google decides independently whether to show a rich result.
Usually because your theme emits one and an app emits another. Google resolves the conflict by ignoring both, so this is worth fixing.
More free tools.
All tools- Free Shopify SEO auditScore any Shopify store in about 30 seconds.
- Meta tag checkerSee every title and description on a page, at the length Google shows.
- Alt text checkerFind every image on a page that a screen reader cannot describe.
- Image compressorWebP, AVIF, JPEG and PNG, compressed in your browser.
Run this continuously instead.
Install ShopSEO free, run your first audit in under a minute, and roll back anything you do not like. No credit card, no theme edits, no lock-in.