Product data
MEDIUMProduct 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- Admin → Products → search for `Default Title`, `Untitled`, `test`, `sample` and rename each.
- 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- Catalog → Products → search for `Product 1`, `New Product`, `Untitled`.
- Delete stale trial products; rename real ones.
WooCommerce
A few minutes- Products → All Products → search for `Product`, `Untitled`, `sample`, `test`.
- Bulk update via WP All Import for large catalogs.
Custom / headless
Developer- Add an admin-side validator that rejects placeholder titles at write time.
- 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.
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.