example.com
Scanned 5/21/2026, 5:11:52 PM
0 of 15 checks passed
Category breakdown
Check results
Discoverability
-
Fix robots.txt with AI bot rules Important 0/100
robots.txt not found (HTTP 404)
How to fix: Publish /robots.txt with User-agent rules for AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended).
-
Fix sitemap.xml present and valid Important 0/100
sitemap.xml not found (HTTP 404)
How to fix: Publish /sitemap.xml — Shopify/Hydrogen generates this automatically.
-
Fix Hreflang / locale signals on homepage Nice-to-have 0/100
No hreflang link tags on the homepage.
How to fix: Add <link rel="alternate" hreflang="…"> tags for each supported locale plus x-default. Agents use these to pick the right regional storefront.
Raw evidence
{ "langs": [] }
Content
-
Fix llms.txt manifest for agents Nice-to-have 0/100
llms.txt not found.
How to fix: Publish /llms.txt summarizing your store, key products, and policies — agents use this as a quick index.
-
Fix Markdown content negotiation on homepage Nice-to-have 0/100
Server returned text/html despite Accept: text/markdown.
How to fix: Offer a Markdown variant of key pages — agents prefer Markdown over HTML when reading and summarizing pages.
Raw evidence
{ "contentType": "text/html", "status": 200 }
Product Data
-
Fix schema.org Product JSON-LD on PDP Critical 0/100
Couldn't sample a product page from /sitemap.xml.
How to fix: Publish a sitemap that lists product URLs (Shopify/Hydrogen generates this automatically at /sitemap.xml).
-
Fix Variant, pricing and availability clarity in Product JSON-LD Important 0/100
Couldn't sample a product page to inspect variants.
How to fix: Ensure your sitemap exposes product URLs and that each product page renders Product JSON-LD with offers.
-
Fix Open Graph + Twitter card on PDP Nice-to-have 0/100
Couldn't sample a product page to inspect social meta tags.
How to fix: Ensure your sitemap exposes product URLs so social/agent crawlers can find them.
Checkout
-
Fix Cart permalink format works Important 0/100
GET /cart → 404. GET /cart/000:1 → 404.
How to fix: Publish a /cart route that returns 200. Shopify/Hydrogen does this by default.
Raw evidence
{ "cartStatus": 404, "permalinkStatus": 404 } -
Fix Checkout handoff URL accessible Important 0/100
GET /checkout → 404. No handoff route detected.
How to fix: Expose a stable /checkout URL so agents can hand off a session — Shopify provides this out of the box; custom storefronts must wire it explicitly.
Raw evidence
{ "status": 404 }
Commerce
-
Fix UCP profile discoverable Critical 0/100
No UCP profile found. Last error: HTTP 404.
How to fix: Publish a UCP profile at /.well-known/ucp (Shopify stores get this automatically on Hydrogen/Online Store) and link to it from your homepage.
Raw evidence
{ "lastError": "HTTP 404", "triedLink": false } -
Fix MCP server card discoverable Critical 0/100
No MCP server card at any well-known path. Last error: /.well-known/mcp-server-card.json: HTTP 404.
How to fix: Publish a server card at /.well-known/mcp/server-card.json with name, remotes[], and capabilities. See SEP-2127.
Raw evidence
{ "lastError": "/.well-known/mcp-server-card.json: HTTP 404", "triedPaths": [ "/.well-known/mcp/server-card.json", "/.well-known/mcp-server-card.json" ] } -
Fix ACP compliance markers Important 0/100
/checkout_sessions returned 404.
How to fix: Implement the ACP checkout sessions endpoint. Stripe's docs/agentic-commerce has a turnkey integration for merchants.
Raw evidence
{ "status": 404, "hasLink": false } -
Fix x402 payment headers Nice-to-have 0/100
Probe https://example.com/.well-known/x402 returned 404; no x402 signal.
How to fix: Adopt x402 by responding with 402 + PAYMENT-REQUIRED header on a gated route, or publish a manifest at /.well-known/x402.
Raw evidence
{ "probeUrl": "https://example.com/.well-known/x402", "status": 404 } -
Fix WebMCP opt-in or trusted-agent eligibility Nice-to-have 0/100
WebMCP signals — header:false, meta:false, script-src:false, inline-register:false, inline-mention:false.
How to fix: Opt into WebMCP: register tools with navigator.modelContext.registerTool(...) in an inline <script>, or set the WebMCP-Available: true response header.
Raw evidence
{ "headerSignal": false, "metaSignal": false, "scriptSrcSignal": false, "inlineRegisterSignal": false, "inlineMentionSignal": false }
Watch this store for changes
Share this
Show badge embed code
<a href="https://zephyr.build/scan/example.com"> <img src="https://zephyr.build/badge/example.com.svg" alt="Agent readiness: F 0" /> </a>