ServicesWorkInspirationBlogAbouthello@optimaflow.id
← All articles

Shopify SEO · 2026-07-10

Shopify Schema: Product, Review, and Breadcrumb Markup Done Right

Add Product, Review, and Breadcrumb JSON-LD to Shopify pages correctly—one clean source, no duplicates—to win rich results and AI citations.

Shopify Schema: Product, Review, and Breadcrumb Markup Done Right

TL;DR

Add Product schema to product pages, Review or AggregateRating schema only for genuine reviews you actually display, and BreadcrumbList schema on every page. On Shopify, inject clean JSON-LD through theme.liquid or a dedicated app like Schema Plus—never two conflicting copies. Done right, this earns star ratings, prices, and breadcrumb trails in Google and AI answers.

Start with the reality of Shopify themes: most modern themes (Dawn and its forks) already output basic Product JSON-LD automatically. Before you add anything, test a live product URL in Google's Rich Results Test. If Product markup already validates, your job is to fix gaps and avoid duplicates—not to bolt on a second app that emits a competing block. Two Product schemas on one page is the single most common Shopify markup error we see, and Google may ignore both.

Your Product schema needs the fields that actually trigger rich results: name, image, description, sku, brand, and a nested offers object with price, priceCurrency, and availability. Pull these dynamically from Liquid objects like product.title, product.featured_image, and product.price (divide by 100—Shopify stores prices in cents). Hardcoding price or availability guarantees stale markup the moment you run a sale, and mismatches between schema price and on-page price are a policy violation that can cost you the rich result.

Review and AggregateRating markup is where most stores get penalized. Google's rules are strict: you can only mark up reviews that are visible on that same page and genuinely collected from customers. Self-serving markup—rating your own products with no real reviews—breaks guidelines. If you use Judge.me, Loox, Yotpo, or Okendo, let the app output the review schema; these apps write AggregateRating tied to real review data. Don't also hand-code your own review block, or you'll double up.

BreadcrumbList schema is the easiest win and the most overlooked. It tells search and answer engines your site hierarchy—Home > Collection > Product—and Google often replaces the raw URL with a clean breadcrumb trail in results. Add it site-wide via a snippet in theme.liquid, mapping each item to its position, name, and URL. Match the visible breadcrumb navigation on the page; the structured data should mirror what a shopper actually sees.

Keep everything in JSON-LD, not Microdata. Google explicitly prefers JSON-LD, it's easier to maintain in Liquid, and it keeps schema separate from your HTML so a theme update won't shred your markup. Place each script in the page head or body via {% schema %}-style snippets or a metafield-driven include. One block per type per page: one Product, one BreadcrumbList, one AggregateRating where applicable.

Validate before and after every change. Use Google's Rich Results Test for eligibility, Schema.org's validator for syntax, and Google Search Console's Enhancements reports to catch errors across your whole catalog at scale—Search Console will flag missing or invalid fields on hundreds of products at once. Re-test after theme updates and app installs, because both can silently inject or remove schema and reintroduce duplicates.

If you want AI answer engines to cite your products, treat schema as the machine-readable summary of what a human sees. Accurate Product data (price, availability, brand), real review signals, and a clean breadcrumb hierarchy give ChatGPT, Perplexity, and Google's AI answers structured facts to quote. Fix duplicates first, wire fields dynamically, mark up only what's visible, and validate—that's Shopify schema done right.

Frequently asked

Does Shopify add Product schema automatically?

Most modern themes like Dawn output basic Product JSON-LD by default. Test a live product URL in Google's Rich Results Test first, then fill gaps rather than installing a second app that creates duplicate markup.

Can I add review stars if I don't have real reviews?

No. Google only allows Review and AggregateRating markup for genuine, customer-submitted reviews that are visible on the same page. Self-invented ratings violate guidelines and can trigger a manual penalty.

Should I use an app or hand-code Shopify schema?

Use review apps like Judge.me or Loox for review schema since they tie to real data. For Product and BreadcrumbList, either a maintained app like Schema Plus or clean JSON-LD in theme.liquid works—just never run both and create duplicates.

How do I stop schema price from going stale?

Pull price and availability dynamically from Liquid objects (product.price divided by 100, product.available) instead of hardcoding them, so your markup updates automatically during sales and stays consistent with the visible page price.

Free, concrete, yours to keep

Want this done for you — properly?

Get a free audit of your rankings and AI-answer presence. Real findings within days, no sales deck.

Get a free audit