Discovery
HIGHProduct pages discoverable without JavaScript
At least one product page is discoverable from a non-JavaScript crawl of the sitemap or initial HTML. AI shopping crawlers do not run JavaScript; without server-rendered product pages, agents can't see your catalog.
What this check looks for
AI shopping crawlers like OAI-SearchBot, ChatGPT-User, PerplexityBot, and Perplexity-User do not execute JavaScript. They read the initial HTML response only. If your storefront is fully client-rendered or your product URLs are absent from the sitemap, these crawlers see an empty store. This check is the single, scored explanation for why the ~30 product-level checks (structured data, product data, images) come back `na` on a JS-only storefront: the products were never discoverable in the first place.
Which AI surfaces it affects
- ChatGPT (ACP)90
- Perplexity90
- Meta AI70
- Microsoft Copilot60
- Google AI Mode (UCP)50
Weighted against the live specs — ACP 2026-04-17, UCP 2026-04-08.
How to fix it
Make product pages discoverable without JavaScript
Shopify
Developer- Shopify's Online Store storefronts are server-rendered by default; confirm products appear in `/sitemap.xml`.
- On a Hydrogen / headless storefront, configure Hydrogen's server-rendered routes so the product page HTML carries name + price + JSON-LD.
BigCommerce
Developer- Confirm products appear in `/xmlsitemap.php`.
- On a Catalyst / headless build, ensure product routes are server-rendered (use Next.js' `getServerSideProps` or static-generated routes).
WooCommerce
A few minutes- Confirm Yoast SEO or Rank Math publishes a product sitemap.
- Verify product pages return full HTML in the initial response (View Source on a product URL — name, price, and JSON-LD should be visible).
Custom / headless
Developer- Switch product routes to server-side or static rendering so the first HTML response contains the product data.
- Embed JSON-LD Product markup in the server-rendered HTML.
- Add every product URL to your sitemap and reference the sitemap from robots.txt.
<!-- Server-rendered product page HTML (no JS required) -->
<!doctype html>
<html>
<head>
<title>Acme Widget — Acme Goods</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme Widget",
"offers": { "@type": "Offer", "price": "29.00", "priceCurrency": "USD" }
}
</script>
</head>
<body>
<h1>Acme Widget</h1>
<p>$29.00</p>
</body>
</html>The spec it's pinned to
Google merchant listing — crawlable content
Google's merchant-listing guidance and AI-shopping crawlers (OAI-SearchBot, PerplexityBot) prefer server-rendered HTML so product data is visible without JavaScript execution.
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.