What Shopify checks for agentic readiness.
We ran a Shopify research storefront through shopify.com/agentic-readiness, Shopify's public agentic-readiness scanner. The scanner makes 45 requests across 41 distinct URLs in a 7-second sweep. Below: every URL it touched, grouped by category. This is the surface Shopify is signalling matters for agentic shopping on a Shopify store.
-
Shopify's scanner runs a 45-request sweep across 41 URLs.
AgenticCommerceBot, the user-agent Shopify's scanner sends, hit 41 distinct URLs in 7.41 seconds: discovery (
/.well-known/ucp), every/products/{handle}.json, hreflang sitemap variants,/customer_authentication/login, and a HEAD-404 sniff for FAQ, shipping, delivery, and about pages. -
The "agentic shopping" surface area on Shopify is bigger than llms.txt.
The scanner also hits
/.well-known/ucp,/api/ucp/mcp, every/products/{handle}.json, and a battery of policy/contact/about pages. Pass on the first try means having all of them populated.
What Shopify is telling us is important for agentic readiness.
We ran a research storefront through shopify.com/agentic-readiness, Shopify's public agentic-readiness scanner. The scanner makes 45 requests across 41 distinct URLs in a 7-second sweep. Below: every URL it touched, grouped by category. This is the surface Shopify is signalling matters for agentic shopping on a Shopify store.
What the scanner probes, by category
| Path | Method | Status |
|---|---|---|
| Discovery 5 URLs | ||
| / | HEAD, GET | 200 |
| /robots.txt | GET | 200 |
| /llms.txt | GET | 301 |
| /a/llms | GET | 200 |
| /.well-known/ucp | GET | 200 |
| Sitemaps 6 URLs | ||
| /sitemap.xml | GET | 200 |
| /sitemap_blogs_1.xml | GET | 200 |
| /sitemap_pages_1.xml | GET | 200 |
| /sitemap_collections_1.xml | GET | 200 |
| /sitemap_products_1.xml | GET | 200 |
| /en-gb/sitemap_products_1.xml | GET | 200 |
| Catalog 2 URLs | ||
| /products.json | GET | 200 |
| /collections/[collection] | GET | 200 |
| Products 10 URLs · 5 handles × 2 forms | ||
| /products/[product-a] | GET | 200 |
| /products/[product-a].json | GET | 429 |
| /products/[product-b] | GET | 200 |
| /products/[product-b].json | GET | 429 |
| /products/[product-c] | GET | 200 |
| /products/[product-c].json | GET | 429 |
| /products/[product-d] | GET | 200 |
| /products/[product-d].json | GET | 429 |
| /products/[product-e] | GET | 200 |
| /products/[product-e].json | GET | 429 |
| Policies 3 URLs | ||
| /policies/privacy-policy | GET | 200 |
| /policies/shipping-policy | HEAD, GET | 404 |
| /policies/terms-of-service | GET | 200 |
| Informational pages 14 URLs | ||
| /pages/about | HEAD, GET | 404429 |
| /about | HEAD | 404 |
| /about-us | HEAD | 404 |
| /pages/about-us | HEAD | 404 |
| /pages/our-story | HEAD | 404 |
| /pages/company | HEAD | 404 |
| /pages/contact | GET | 200 |
| /pages/faq | HEAD, GET | 404 |
| /faq | HEAD | 404 |
| /pages/help | HEAD | 404 |
| /help-centre | HEAD | 404 |
| /pages/shipping | HEAD | 404 |
| /pages/delivery | HEAD | 404 |
| /delivery | HEAD | 404 |
| Customer flow 1 URL | ||
| /customer_authentication/login | GET | 302 |
If you run a Shopify store, this might be the test you have to pass.
Shopify's commerce-readiness scanner runs 31 checks. The 45-request sweep we logged hits the URL-layer subset of them. Here's the short list to verify on your store now, before Shopify or any other agent runs the scanner against it for you.
- Serve
/llms.txt,/agents.md, and/.well-known/ucpwith a 200 status code. - Populate at least one of
/pages/faq,/pages/shipping,/pages/about,/pages/contact. - Confirm
/products/{handle}.jsonresolves for every product. The verifier checks every catalog item. - Verify the canonical sitemaps (
/sitemap.xml,/sitemap_products_1.xml) and any locale-prefixed variants such as/en-gb/sitemap_products_1.xmlare reachable.