Shopify Schema Markup & Rich Results
Structured data tells Google what a page actually is: this is a product, it costs this, it's in stock, it has this many reviews. Done properly it earns price, availability and rating detail in the results page. Done the way most Shopify themes do it, it produces validation errors nobody ever opens.
Book a Free Technical Call
Why it matters
Most Shopify stores already have schema. Most of it is wrong.
Themes ship with some structured data, review apps inject their own, and every SEO app in the ecosystem offers to fix your markup by adding another copy. The typical result is two or three competing Product blocks on a page, an AggregateRating with no reviewable subject, prices hardcoded during theme setup, and availability that still says in stock on a sold-out variant. Google's response to contradictory markup isn't to guess — it's to ignore it. So the store earns none of the rich results it believes it's earning, while Search Console quietly accumulates errors. Fixing this is rarely about writing more schema. It's about deleting duplicates, wiring what remains to live Liquid data, and proving the output matches the page.
Sound familiar?
Invalid structured data fails silently. Nothing breaks — the stars just never appear.
Schema problems don't throw errors on your storefront. They sit in a Search Console report nobody has opened, quietly disqualifying you from results you assume you're already eligible for.
- Search Console reports Product or Merchant listing errors you have never opened, and the count keeps climbing.
- Competitors show star ratings and prices under their listings. Yours is a plain blue link.
- You installed a review app, and now two conflicting AggregateRating blocks compete on every product page.
- Your theme injects Product schema and an SEO app injects it again, so Google sees contradictions.
- You added FAQ schema expecting the expandable dropdown in results, and nothing has ever appeared.
- Prices in your markup are stale because someone hardcoded them when the theme was first built.
What's included
What a schema implementation covers
Clean JSON-LD wired to live product data, one source of truth per template, validated before it ships and monitored after.
Product schema that stays true
Name, description, image, brand, SKU, GTIN or MPN, price, currency and availability — all pulled from Liquid objects rather than typed in once and forgotten. Variant handling matters here: a page with six variants at four prices needs an offer structure Google can read, not a single guessed number.
AggregateRating and Review
Ratings are the reason most merchants want structured data in the first place. We attach AggregateRating and individual Review markup to the product it belongs to, sourced from your actual review platform, so the counts in the markup match the counts on the page. Invented or inflated ratings are a manual-action risk, not a shortcut.
BreadcrumbList and site structure
BreadcrumbList replaces the raw URL in the search result with a readable path, and it reinforces how your collections nest. It's one of the few schema types that changes what a searcher sees on almost every listing, and it's trivially cheap to get right once the collection hierarchy is settled.
Organisation and entity markup
Site-level markup that names the business, its logo, its social and marketplace profiles, and its contact points. This is entity work rather than snippet work — it helps Google connect your store to the brand it already knows, which matters for knowledge panels and for how AI answer engines attribute you.
FAQ and supporting types
We'll add FAQ, HowTo and Article markup where the content genuinely supports it — with clear expectations about what each one still earns. Supporting types don't win a snippet on their own, but they make a page's Q&A structure unambiguous to parsers, which is increasingly where the value sits.
JSON-LD, deduplicated
One JSON-LD block per entity, injected from a single place in the theme, with microdata and duplicate app-injected copies removed. Google states a preference for JSON-LD, and it's far easier to audit than markup smeared across template HTML. Everything is validated in the Rich Results test and re-checked in Search Console after deployment.
How it runs
How we get markup from wrong to verified.
Two to three weeks for a typical catalogue — most of it spent finding what's already there, not writing anything new.
- 01
Audit what exists
We crawl representative templates and extract every piece of structured data on the page, whatever injected it. Theme, apps, and anything pasted into theme.liquid years ago. You get a plain list of what's duplicated, stale or invalid.
- 02
Remove the duplicates
Before adding anything, we strip the conflicts: legacy microdata, app-injected copies, orphaned rating blocks. This alone clears most Search Console errors, and it makes everything after it possible to reason about.
- 03
Wire it to live data
New JSON-LD is generated from Liquid objects, so price, stock and review counts update themselves. Product, BreadcrumbList and Organisation first, then supporting types where the content honestly warrants them.
- 04
Validate and monitor
Every changed template goes through the Rich Results test and the Schema Markup Validator before it ships. Then we watch Search Console's enhancement reports for four weeks, because Google reprocesses at its own pace.
JSON-LD
Not microdata
Google's stated preference
One
Product block per page
Duplicates removed first
Live data
Price & availability
Bound to Liquid, not typed
Validated
Rich Results test
Before ship and after
Straight answer
Schema is a multiplier on a good page, not a substitute for one.
A good fit if…
- You run a large catalogue where one template fix corrects markup across thousands of pages at once.
- Competitors show ratings and prices in search results and you show a plain blue link.
- Search Console is reporting Product or Merchant listing errors you have never been able to clear.
- You sell products with real GTINs and want eligibility for merchant listings and shopping surfaces.
Probably not, if…
- You want rich results on thin product pages. Markup describes content, it cannot invent it.
- You have no reviews, no GTINs and constantly shifting prices — there is very little worth marking up.
- You expect schema to lift rankings on its own. It changes presentation far more than position.
- You have no staging theme and no appetite for one. We won't edit structured data straight on live.
Keep exploring
More on Shopify SEO
Schema Markup & Rich Results is one part of how we do Shopify SEO. Here's the rest of the picture.
Shopify SEO
The complete service — technical, on-page, content and reporting, in one engagement.
View the serviceClosely relatedTechnical SEO Audit
Structured data is one finding in a wider audit — crawling, indexing and canonicals come first.
Read the guideClosely relatedOn-Page SEO
Markup describes the page. This is the work that makes the page worth describing.
Read the guideAll guides in this series
- Keyword ResearchBuyer-intent keywords mapped to the collection and product pages that can win them.
- Content & Blog SEOBuying guides and comparison content that pull traffic your collections can't.
- Image SEOAlt text, file naming and image sitemaps — Google Images is a real channel for retail.
- Local SEOFor stores with a physical presence — Business Profile, local pages and citations.
- SEO Reporting & TrackingSearch Console, GA4 and rank tracking wired to revenue, not vanity positions.
Beyond this service
Other things we do
Most stores need two or three of these working together. Book a call and we'll tell you which ones actually move your numbers.
- Shopify Theme DevelopmentCustom themes built from Figma to production Liquid on Online Store 2.0 — fast and merchant-editable.
- Shopify App DevelopmentCustom and public apps, Checkout UI Extensions and Shopify Functions built with React and Polaris.
- Shopify MigrationMove from WooCommerce, Magento or BigCommerce with a full 301 redirect map and zero downtime.
- Shopify SEOTechnical audits, Core Web Vitals, structured data and collection content built around buyer intent.
- Shopify Performance OptimizationFaster load times and green Core Web Vitals — theme refactors, image pipelines and app cleanup.
- Shopify A/B TestingHypothesis-led experiments on product pages and checkout, shipped as native theme code.
- Shopify Email Marketing & KlaviyoFlows, segmentation and campaigns — welcome, abandoned cart, winback and SMS, built and monitored.
- Shopify CRO & FunnelsValue-ladder, tripwire, quiz and post-purchase upsell funnels built to lift conversion and AOV.
- Shopify Maintenance & SupportRetainers covering uptime monitoring, security patching, bug fixes and proactive improvements.
Frequently asked questions
- Not directly, for the types most retailers care about. Google has been consistent that structured data isn't a ranking factor in its own right — it's a parsing aid. What it does change is how your listing looks: price, availability, breadcrumbs and star ratings all occupy more space and earn more clicks than a plain result. Better click-through from the same position is a real commercial gain, and it's an honest way to describe the benefit. Anyone promising rankings from schema alone is selling you something.
Not sure what your markup is actually saying?
Book a 30-minute call. We'll run your key templates through the Rich Results test live and tell you exactly what's broken — whether or not you hire us to fix it.
Book a free call