A

Structured data

HIGH

Product `name` populated

Each Product JSON-LD node carries a non-empty `name` string. A product's name is the minimum an agent needs to list it.

What this check looks for

Without a `name` on the Product node, agents have no human-readable label to show or match against shopper intents. We trim the value and require length > 0. Coverage ≥ 95% across PDPs with Product JSON-LD passes; ≥ 50% is partial; otherwise fail. PDPs that lack Product JSON-LD entirely are not counted — they're caught by `product-jsonld-present`.

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

Populate `name` on every Product JSON-LD node

Shopify

A few minutes
  1. Confirm your theme's Product JSON-LD references `{{ product.title | json }}` (not `product.handle` or `product.id`).
  2. Admin → Products: filter for empty titles and rename them.

BigCommerce

A few minutes
  1. In `templates/components/products/product-view.html`, the JSON-LD `name` should bind to `{{product.title}}`.
  2. Storefront → Products: filter for empty Name and fill them.

WooCommerce

A few minutes
  1. Update your schema plugin (Yoast SEO / RankMath) to the latest version — older versions occasionally drop `name`.
  2. Products → All Products: filter for empty title and fill them.

Custom / headless

Developer
  1. Bind `name` in your Product JSON-LD template to the product title field.
  2. Add a build-time validation that fails the deploy if any PDP renders an empty `name`.
<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",
  "offers": {
    "@type": "Offer",
    "price": "49.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

The spec it's pinned to

  • schema.org/Product.name

    schema.org/Product requires a `name` property — the human-readable product title. Agents and feeds reject Products without one.

  • Google merchant listing — title required

    Google's merchant listing rich result requires `name` (mapped to `title`) on each Product. Missing names disqualify the listing.

schema.org/name

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