Is your product markup actually valid?
Structured data is how Google and AI assistants read a product page. A theme update or a custom template can strip it without anything visibly breaking, and you find out weeks later when listings vanish.
Fetches a real product page from your store and parses its JSON-LD, including ProductGroup markup where variants carry the offer. Nothing is stored.
How this check works
Shipwork fetches a real product page from outside your network, parses every JSON-LD block (including ProductGroup with nested hasVariant offers), and reports missing fields — name, image, price, priceCurrency, availability, shippingDetails and hasMerchantReturnPolicy. Modern themes nest the real product under hasVariant, which simpler checkers miss and report as missing.
Questions
- What is product structured data?
- JSON-LD markup on your product page that names the product, price, currency, availability, image and shipping/returns. Google and AI assistants read it to build listings.
- Why does markup disappear after a theme update?
- Custom templates often drop the schema snippet, apps rewrite the head, or markup is injected by JavaScript that crawlers never run. Shipwork reads raw HTML the way a crawler does.
- What is ProductGroup vs Product?
- Modern Shopify themes emit ProductGroup with each variant nested under hasVariant. That is valid — but naive validators report it as missing. Shipwork parses both.