Whittle guide
Product structured data for Shopify, explained
What product structured data (JSON-LD schema markup) is, which types matter for a Shopify store, how to check your theme, and how to avoid duplicates.
Short answer: Structured data is hidden code, usually JSON-LD, that states facts about a page, like price, stock, reviews, shipping and returns, in a form Google and AI assistants read reliably. Most Shopify themes output basic product markup already. Check what yours outputs, fill the gaps, and make sure there's one clear set of markup per page, not several that disagree.
The types that matter for a store
| Type | What it tells search engines |
|---|---|
| Product and Offer | Name, price, currency, stock, brand, barcode and reviews |
| Shipping and return policy | Shipping costs and your return window, shown next to products in Google |
| BreadcrumbList | Where the page sits in your store |
| Organization and WebSite | Who you are, your logo and your site |
| LocalBusiness or Store | Your shop's address, phone and hours, for "near me" searches |
| FAQPage | Questions and answers on the page |
| Article, HowTo, Recipe | Blog posts, step-by-step guides and recipes |
Google limits FAQ rich results in search to a few kinds of sites, but FAQ markup still helps assistants read your answers.
Check what your store outputs now
- Open a product page and run it through Google's Rich Results Test or the Schema Markup Validator.
- Note which types appear, and whether any appear twice with different values.
- Repeat for a collection page, a blog post and your home page.
Avoid duplicate markup
Themes and apps often each add their own product markup. Two Product blocks with different prices or stock confuse search engines. Keep one source: either your theme's, or an app's with the theme's turned off.
Keep it truthful
Markup must match what's visible on the page. Don't mark up reviews, prices or stock that shoppers can't see.