Playbook · Product rich snippets / JSON-LD in Google Search Console

Shopify product rich snippets / JSON-LD missing or invalid in Google Search Console.

Written for a Shopify DTC owner whose Google Search Console Product snippets / Merchant listings report products as invalid or eligible-but-not-showing, or Rich Results Test fails on Product JSON-LD so price, availability, or rich snippet markup does not appear in SERPs — missing application/ld+json Product, broken Offer / AggregateOffer fields, theme liquid or SEO app injecting empty/duplicate schema, Microdata fighting JSON-LD — or you chased hreflang, canonical URL, sitemap.xml, or Search & Discovery filters instead. DIY-first: prove GSC + Rich Results Test → fix Product schema → retest. Distinct from hreflang wrong locale, canonical URL wrong, sitemap.xml missing products, and Search & Discovery filters broken. Soft-link shopify-structured-data-missing when the bug is general theme Product schema DIY rather than GSC rich-snippet / Merchant listings eligibility. No earnings claims, no invented case studies.

Nico at Latch AI Ops · Sep 10, 2026 · ~12 minute read

Buy the 72-hour install — $997Structured dataCanonical URLMerchant FAQ

01

Product rich snippets / JSON-LD missing or invalid in GSC — not hreflang, canonical, sitemap, or Search & Discovery.

Several “SEO / Google / product page” products can look like “we are not getting rich results.” They do not share a fix. This page is only when product rich snippets / Product JSON-LD is missing or invalid in Google Search Console so SERP rich results (price, availability, Merchant listings) do not show. Wrong locale URLs from broken hreflang is shopify-hreflang-wrong. Self-referencing / duplicate canonical is shopify-canonical-url-wrong. Products missing from sitemap.xml / GSC coverage is shopify-sitemap-xml-missing-products. Storefront collection filters empty or broken is shopify-search-and-discovery-filters-broken.

Soft links when the bug is adjacent: general Product JSON-LD / theme schema DIY is shopify-structured-data-missing. AggregateRating / review stars only is shopify-review-stars-not-in-google. FAQPage rich results is shopify-faq-schema-not-showing. Meta title/description missing is shopify-meta-title-description-missing. This playbook stays on GSC Product snippets / Merchant listings ↔ Rich Results Test ↔ Product JSON-LD.

02

Prove GSC Product snippets / Merchant listings, Rich Results Test, and view-source JSON-LD.

Open Google Search Console → Enhancements / Shopping reports for Product snippets or Merchant listings. Export a sample of invalid URLs and the stated reasons (missing field, invalid price, conflicting markup). Paste one failing product URL into Google Rich Results Test. View-source and find <script type="application/ld+json"> blocks with @type Product (and nested Offer / AggregateOffer). Note missing price, priceCurrency, availability, image, brand, or sku. Soft-check for duplicate Product graphs from theme + SEO app.

Soft-check: if Google shows the wrong locale URL, leave this page and use shopify-hreflang-wrong. If only the canonical self-URL is wrong, use shopify-canonical-url-wrong. If products are missing from sitemap.xml / coverage, use shopify-sitemap-xml-missing-products. If collection filters on the storefront are empty or broken, use shopify-search-and-discovery-filters-broken.

03

Repair theme Product JSON-LD, SEO-app overrides, Offer fields; retest GSC.

Restore the theme's Product JSON-LD (or Shopify Online Store defaults) on the product template. Disable SEO-app “schema / rich snippets” features that inject a second empty or conflicting Product graph. Fix Offer nodes: price, priceCurrency, availability (InStock / OutOfStock), image URL, brand, sku. Remove Microdata / RDFa that fights JSON-LD. Ensure featured images resolve over HTTPS. Soft-check variant-only offers when the theme outputs one Product per variant incorrectly.

Retest: Rich Results Test eligible → view-source Product + Offer complete → request indexing on a sample URL → watch GSC invalid count drop after recrawl. Soft notes: general theme Product schema DIY also covered on shopify-structured-data-missing. Review stars only belongs on shopify-review-stars-not-in-google. Hreflang belongs on shopify-hreflang-wrong. Canonical belongs on shopify-canonical-url-wrong. Sitemap belongs on shopify-sitemap-xml-missing-products. Search & Discovery filters belong on shopify-search-and-discovery-filters-broken.

04

You tested hreflang, canonical URL, sitemap, or Search & Discovery filters instead.

Hreflang wrong locale is shopify-hreflang-wrong. Canonical URL wrong is shopify-canonical-url-wrong. Sitemap.xml missing products is shopify-sitemap-xml-missing-products. Search & Discovery filters broken is shopify-search-and-discovery-filters-broken. General Product structured data DIY is shopify-structured-data-missing.

The only honest test for this page: GSC Product snippets / Merchant listings shows invalid or not-showing → Rich Results Test fails or warns on Product → after fix, Rich Results Test is eligible and GSC invalid items clear. Anything else is a different product.

05

When to stay DIY vs pay $997.

Stay DIY if you can spend one afternoon on the list above: prove GSC + Rich Results Test, fix Offer fields, remove a fighting SEO-app schema block, retest. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: structured data / JSON-LD, hreflang wrong, canonical URL, sitemap missing products, Search & Discovery filters.

Pay for help when the work is not the Product JSON-LD itself — it is connecting the stack you already have so GSC / rich-results / indexing exception alerts land in a channel you already check, and the live store is one workflow instead of a spreadsheet plus a Slack bot you forgot. That is the Latch AI Ops install.

What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not an SEO retainer, not a ranking or rich-result guarantee, not a brand or theme job.

Other shops' public ranges, not testimonials: a checkout / ops install typically runs $500–$2,500. A full ops consulting block typically runs $2,000–$5,000. $997 is the cheap end of that work, sold as a 72-hour install of three systems — not as an earnings number or ranking-lift claim.

What it does not buy: more organic traffic, recovered rankings, guaranteed rich snippets forever, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.

Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.