Product schema on Shopify: what’s missing by default
What Product structured data your Shopify theme likely outputs, the fields most stores are missing (GTIN, brand, reviews, shipping, returns), and how to test your own pages.
Structured data is a block of machine-readable code on a page that states facts plainly: this is a product, this is its price, it’s in stock. It’s what lets Google show prices, availability and star ratings directly in results, and it gives AI assistants facts they can quote rather than infer.
What Product schema is
On Shopify, structured data is usually written as JSON-LD: a script tag containing a JSON description of the page using the shared schema.org vocabulary. Customers never see it; search engines and AI tools do.
{ "@context": "https://schema.org", "@type": "Product", "name": "Relaxed Linen Shirt", "image": "https://northfield.com/…/shirt.jpg", "brand": { "@type": "Brand", "name": "Northfield" }, "sku": "NF-LS-001", "offers": { "@type": "Offer", "price": "68.00", "priceCurrency": "USD", "availability": "https://schema.org/InStock" } }
What your theme probably includes
Most modern Shopify themes output some Product structured data out of the box, typically name, image, description and a basic offer with price, currency and availability. That’s a solid start, and it’s more than many platforms give you.
But “most” isn’t “all”. Older and heavily customized themes vary a lot, and some apps add a second, conflicting block. The only way to know what your store outputs is to test a live product URL.
What’s commonly missing
- Product identifiers such as
gtinormpn, which help search engines match your product with the same item elsewhere. - Brand, sometimes left out or filled with the store name instead of the actual brand.
- Ratings and reviews (
aggregateRating,review), which usually depend on a reviews app adding them. - Shipping and returns (
shippingDetails,hasMerchantReturnPolicy), which Google supports for merchant listings and almost no theme fills in. - Breadcrumbs (
BreadcrumbList), which show the page’s place in your store instead of a raw URL. - Organization on the home page, which ties your store name, logo and contact details together.
How to test it
- Copy the URL of one of your live product pages.
- Run it through Google’s Rich Results Test, which shows which rich results the page is eligible for and any errors.
- Use the Schema Markup Validator at validator.schema.org to see every block on the page, including duplicates.
- In Search Console, check the Merchant listings and Product snippets reports for site-wide issues.
Repeat for a collection page, a blog article and your home page. Each page type needs different markup. For the on-page side of the same pages, see Writing meta descriptions that get clicked.
- Technical SEO
- Structured data
- Schema
- Shopify