A

Product data

MEDIUM

Product title not a placeholder

Each Product title is not a known placeholder (Default Title, Untitled, Product 1, …) and not a slug-shape token (e.g. `red-hat-001`). Placeholder titles like Default Title make products look broken to agents.

What this check looks for

Agents look for human-meaningful titles. The legacy regex flagged any short alphanumeric string as a placeholder, which false-positived on legitimate short words like "Bag" or "Red". v2 tightens the rule: we fail only if the title is empty, matches a known placeholder list ("Default Title", "Untitled", "Product 1", "sample", "test", etc.), or matches a slug shape (lower-case alphanumerics with at least one hyphen). Single short words pass. Coverage ≥ 95% passes; ≥ 70% partial; otherwise fail.

Which AI surfaces it affects

  • Google AI Mode (UCP)60
  • ChatGPT (ACP)50
  • Microsoft Copilot40
  • Perplexity40
  • Meta AI40

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

How to fix it

Replace placeholder and slug-shape titles with real product names

Shopify

A few minutes
  1. Admin → Products → search for `Default Title`, `Untitled`, `test`, `sample` and rename each.
  2. If variants show `Default Title`, that's Shopify's auto-label for single-variant products — fix in theme by referencing `Variant.option_values | first` instead of `Variant.title`.

BigCommerce

A few minutes
  1. Catalog → Products → search for `Product 1`, `New Product`, `Untitled`.
  2. Delete stale trial products; rename real ones.

WooCommerce

A few minutes
  1. Products → All Products → search for `Product`, `Untitled`, `sample`, `test`.
  2. Bulk update via WP All Import for large catalogs.

Custom / headless

Developer
  1. Add an admin-side validator that rejects placeholder titles at write time.
  2. Backfill existing offenders.
const PLACEHOLDERS = new Set([
  "untitled product", "untitled", "new product", "default title",
  "sample", "sample product", "test product", "test",
  "draft product", "draft", "placeholder", "placeholder product",
]);
const SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)+$/;
const PRODUCT_N_RE = /^product\s+\d+$/i;

function isPlaceholderTitle(name: string): boolean {
  const t = name.trim();
  if (t.length === 0) return true;
  if (PLACEHOLDERS.has(t.toLowerCase())) return true;
  if (PRODUCT_N_RE.test(t)) return true;
  if (SLUG_RE.test(t)) return true;
  return false;
}

The spec it's pinned to

  • schema.org/Product.name (quality)

    schema.org doesn't quantify quality, but agents reject obvious placeholders (Default Title, Untitled, Product 1) and slug-shape names that look like internal IDs.

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 product data checks

← All 82 checks