A

Structured data

HIGH

Product JSON-LD present on PDPs

Each sampled PDP exposes a Product JSON-LD node in its initial HTML. Product JSON-LD is how agents identify the canonical product entity without running JavaScript.

What this check looks for

Product JSON-LD is the foundational structured-data signal for every agentic-commerce surface — without it, agents have to scrape visible DOM text or rely on a feed they may not have access to. v2 walks each PDP's parsed `jsonLdBlocks`, flattens `@graph` containers, and counts the page as passing if at least one node has `@type` `Product`, `ProductGroup`, `IndividualProduct`, or `ProductModel`. Coverage ≥ 95% across the sample is a pass; ≥ 50% is partial; otherwise fail.

Which AI surfaces it affects

  • Google AI Mode (UCP)100
  • ChatGPT (ACP)90
  • Microsoft Copilot70
  • Meta AI70
  • Perplexity60

Weighted against the live specs — ACP 2026-04-17, UCP 2026-04-08.

How to fix it

Publish a Product JSON-LD block on every PDP

Shopify

Developer
  1. Most modern Shopify themes ship Product JSON-LD by default. Confirm: Online Store → Themes → Customize → Theme settings → Search engine listings.
  2. If your theme is custom or pre-2022, paste Shopify's Product schema snippet into `templates/product.liquid` or `sections/main-product.liquid`.
  3. Validate one PDP at https://validator.schema.org/.

Platform docs ↗

BigCommerce

Developer
  1. Storefront → My Themes → Customize → Advanced → Edit Theme Files.
  2. Edit `templates/components/products/product-view.html`; add the Product JSON-LD block referencing `{{product.title}}`, `{{product.sku}}`, `{{product.calculated_price}}`.
  3. Alternatively install "Product Schema by SEO" from the BigCommerce App Marketplace.

WooCommerce

A few minutes
  1. WooCommerce core ships minimal JSON-LD on purpose. Install Yoast SEO, Rank Math, or "Product Structured Data for WooCommerce".
  2. Activate; the plugin emits Product schema on every PDP from existing fields (name, SKU, regular_price, in_stock).
  3. Verify with https://validator.schema.org/ against a PDP.

Platform docs ↗

Custom / headless

Developer
  1. Server-render a Product JSON-LD block in the `<head>` of every PDP.
  2. Bind `name`, `image`, `description`, and an `offers` object to your product model fields.
  3. Re-validate with https://validator.schema.org/.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Hat",
  "description": "Black wide-brim fedora, wool felt.",
  "image": "https://example.com/hat.jpg",
  "brand": {
    "@type": "Brand",
    "name": "Acme"
  },
  "offers": {
    "@type": "Offer",
    "price": "49.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Platform docs ↗

The spec it's pinned to

  • schema.org/Product

    Every product detail page should expose a `<script type="application/ld+json">` block whose `@type` is Product (or ProductGroup). Agents read this to identify the canonical product entity without rendering JavaScript.

  • Google merchant listing — Product structured data

    Google's merchant listing rich result requires `Product` structured data on the PDP with at minimum `name`, `image`, and an `offers` block.

schema.org/Product

Does your store pass this check?

Run the full audit — 82 checks across five AI shopping surfaces. Most tools only check whether you get mentioned; we check whether an agent can buy from you.

Related structured data checks

← All 82 checks