Skip to main content
Product structured data tells search engines and shopping agents what a page is selling, at what price, and whether it is available. Most Shopify themes generate some product markup. Its quality varies widely, and incomplete markup is frequently ignored entirely rather than partially honoured. For product rich results, Google requires:
  • name
  • image
  • offers containing price, priceCurrency, and availability
Strongly recommended:
  • sku and gtin — needed for merchant listings
  • brand
  • description
  • aggregateRating and review where reviews genuinely exist
  • shippingDetails and hasMerchantReturnPolicy — see merchant listing markup

Example

The failures that matter

Markup that contradicts the page. A schema price differing from the rendered price is a violation and can cost rich results across the site. This happens constantly on stores where markup and display are generated separately. Stale availability. InStock on a sold-out product misleads shopping surfaces and agents, and erodes feed trust. Missing offers. Product without a valid offer is not eligible for product rich results. Duplicate markup. A theme and an app both emitting Product schema produces conflicting blocks on one page. Check the rendered source, not the template. Variant confusion. Marking up one variant’s price on a page presenting several. See product variant markup. Review markup without visible reviews. A violation, and one that attracts manual action.

Validate

  • Rich Results Test — per URL
  • Schema.org validator — vocabulary correctness
  • Search Console → Shopping and Enhancements reports — sitewide errors, which is where scale problems appear
Always validate the rendered page.

What Ryze does

Ryze audits product markup across the catalogue, reports missing and invalid properties, and ships schema fixes with approval — including GTIN assignment and category corrections at feed level.

Primary reference