A

Structured data

MEDIUM

Product `description` present

Each Product JSON-LD node carries a non-empty `description` after HTML stripping. Agents quote your description to answer shopper questions; an empty description gives them nothing to work with.

What this check looks for

We read `description` on the Product node, strip HTML tags, collapse whitespace, and require length > 0. The previous v1 check imposed a 100-character minimum — that threshold isn't in schema.org, Google merchant listing rules, or any other cited spec, so we drop it. Coverage ≥ 85% across PDPs with Product JSON-LD passes; ≥ 50% partial; otherwise fail.

Which AI surfaces it affects

  • Google AI Mode (UCP)70
  • ChatGPT (ACP)70
  • Perplexity70
  • Microsoft Copilot60
  • Meta AI60

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

How to fix it

Populate `description` on every Product JSON-LD node

Shopify

A few minutes
  1. Confirm your theme JSON-LD binds `description` to `{{ product.description | strip_html | json }}`.
  2. Admin → Products: fill in the Description field for every product.

BigCommerce

A few minutes
  1. In `templates/components/products/product-view.html`, bind JSON-LD `description` to `{{product.description}}`.
  2. Catalog → Products: fill in Description for every product.

WooCommerce

A few minutes
  1. Yoast SEO / RankMath emit `description` from the WordPress post content. Confirm products have non-empty content.
  2. Products → All Products: open each, fill in Product description.

Custom / headless

Developer
  1. Render `description` in your Product JSON-LD block from the product copy field.
  2. Validate at https://validator.schema.org/ on a few PDPs.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Hat",
  "description": "Black wide-brim fedora in wool felt. Sized S/M/L. Made in Portugal.",
  "image": "https://example.com/hat.jpg",
  "offers": {
    "@type": "Offer",
    "price": "49.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

The spec it's pinned to

  • schema.org/Product.description

    schema.org/Product carries a `description` property — free-form text describing the product. Agents quote it to answer shopper questions.

  • Google merchant listing — description recommended

    Google's merchant listing rich result recommends `description` (mapped to `description`); products without one are eligible but less complete.

schema.org/description

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