Shopify agentic readiness scanner: a 2026 guide

On April 28, 2026, Shopify quietly shipped a free scanner at shopify.com/agentic-readiness (the original URL commerce-readiness.shopify.io now redirects there). You paste any public storefront URL, click Scan, and about 30 seconds later you get a score, a breakdown across five categories, and an impact-effort matrix that ranks every failed check by how much it will move your score versus how hard it is to fix. There is no login. There is no install. It works on any Shopify store, yours or a competitor’s.
The Shopify agentic readiness scanner is the most useful diagnostic Shopify has shipped this year. It is also, deliberately, the most uncomfortable one. We ran it across a sample of stores during research for this post and the same three gaps showed up again and again. Missing llms.txt. Incomplete product JSON-LD. Thin policy pages. The scanner exposes the soft underbelly of catalog data that most merchants never look at because the storefront still looks fine in a browser.
This guide is what we wish a real merchant had written when we first opened the tool. It covers what the scanner actually does under the hood, what every category measures, what the impact-effort matrix is for, and what to fix in what order. We pulled the technical details from the public scan output and from a Wislr Research teardown that intercepted the scanner’s traffic.
In this post
- What the scanner is and where to find it
- How the scan actually runs (45 requests, 7 seconds)
- The five categories, in plain English
- The URLs the scanner hits on your store
- The three failures almost every store has
- Score benchmarks: what good looks like
- How to read the impact-effort matrix
- The big limitation: it diagnoses, it does not fix
- The fix order we recommend
- Where product structure shows up in the score
- The disclaimer worth reading twice
- Our take
- FAQ
- Related reading
What the scanner is and where to find it
Officially, the tool is called the Agentic Commerce Audit. Most people who write about it call it the readiness scanner because that phrasing matches the original subdomain. Both names point to the same product. The current URL is shopify.com/agentic-readiness; the old commerce-readiness.shopify.io still works and 301s to the new location.
It’s free. There is no login wall. You don’t even need to own the store you’re scanning. That’s part of the point. The scanner is a public diagnostic, designed to make the technical readiness gap visible to merchants, agencies, and the press. You can scan your own store. You can also scan your top three competitors. We did, and the results were instructive.
The output is three things stacked on one page:
- An overall score (0 to 100), positioned next to a benchmark cohort
- A breakdown of how you scored in each of the five categories
- An impact-effort matrix that lists every failing check, what the fix looks like, and how much it will move your score
That third panel is the actually useful one. Skip past the score itself. Spend your time inside the matrix.
How the scan actually runs (45 requests, 7 seconds)
The scanner fires 45 HTTP requests across 41 distinct URLs from your storefront in a single sweep. The teardown by Wislr Research clocked the full run at about 7 seconds on average. Requests go out with the user agent AgenticCommerceBot, which is the same UA pattern Shopify is asking AI agents to identify themselves with. You can verify this from your server logs if you want to see exactly what got pulled.
The 31 scored checks are computed from the responses to those 45 requests. Some checks read a single endpoint (does /llms.txt return 200?). Some combine multiple responses (does your product page have JSON-LD and does that JSON-LD include both offers and review nodes?). A handful look at content quality, not just presence (a 30-word shipping policy page exists, but it does not contain the data an AI agent would extract).
What it does not do: it does not crawl beyond the URL you submit. It does not test the whole catalog. It does not run JavaScript-rendered content (it reads the server response). If you rely on a client-side library to inject schema, the scanner will mark it as missing. That is a known limitation worth fixing on your end, not a bug in the scanner.
The five categories, in plain English
Shopify’s marketing materials and the in-product UI use slightly different category names for the same thing. Both name sets show up in third-party writeups, which gets confusing fast. Here is the mapping:
| Marketing name | In-product name | What it actually measures |
|---|---|---|
| AI discoverability | Agent Discovery | Can an AI agent find and read your store? Tests robots.txt, llms.txt, sitemaps, the UCP discovery endpoint. |
| Product schema | Product Intelligence | Does each product page expose clean, complete JSON-LD with the fields AI agents need to recommend it? |
| Transaction readiness | Transaction Readiness | Is your store actually capable of completing an agent-driven checkout? Guest checkout enabled, prices and inventory current, no required account sign-in. |
| Trust signals | Store Quality | The signals AI agents and shoppers use to decide if you are a real business. Policy pages, About, contact, FAQ depth. |
| Operational maturity | Operational Readiness | The boring infrastructure layer. Shipping policy clarity, return windows, currency declarations, locale variants of sitemaps. |
The two name sets are interchangeable. We will use the marketing names in the rest of this post because that is what most other coverage uses.
The URLs the scanner hits on your store
If you want to pre-flight your own scan, here is the exact URL hit list, recovered from a Wislr Research traffic capture. Running this against your own store will give you a head start on what the scanner is going to flag.
| Category | URLs tested |
|---|---|
| Discovery (5 URLs) | /, /robots.txt, /llms.txt, /a/llms, /.well-known/ucp |
| Sitemaps (6 URLs) | /sitemap.xml, /sitemap_blogs_1.xml, /sitemap_pages_1.xml, /sitemap_collections_1.xml, /sitemap_products_1.xml, plus a locale-prefixed product sitemap (for example /en-gb/sitemap_products_1.xml) |
| Catalog (2 URLs) | /products.json, a sampled /collections/[handle] |
| Products (10 URLs) | HTML and JSON variants of the submitted product handle, plus a few sampled handles from the catalog |
| Policies (3 URLs) | /policies/privacy-policy, /policies/shipping-policy, /policies/terms-of-service |
| Informational (14 URLs) | Multiple naming conventions for About, Contact, FAQ, Help, Shipping, Delivery |
| Customer flow (1 URL) | /customer_authentication/login |
The most consequential set is the first row. A store that does not return 200 for /llms.txt and /.well-known/ucp will lose ground in Agent Discovery no matter how good the rest of the store is. The good news is that Shopify now ships both of these endpoints automatically. We documented the rollout in our native llms.txt rollout post. If you are on a recent theme and your store is in scope for the rollout, those endpoints already exist.
The three failures almost every store has
Across the stores we scanned and the patterns we see in public writeups (including a viral post by Yiqi Wu in early May), three checks fail almost every time. If you do nothing else after reading this post, fix these.
1. Missing or broken /llms.txt
The proposed llms.txt standard is a markdown file at the root of your domain that gives an AI agent a fast curated overview of who you are and what you sell. The Shopify rollout generates one automatically for stores in scope. But “in scope” is not the same as “live.” If your store is on an older theme, a custom storefront, a non-Shopify headless build, or a locked-down enterprise tier, the file may not be there. The scanner checks two paths: /llms.txt and /a/llms. Either has to return 200.
The fix, if Shopify is not serving it for you yet, is to publish a static llms.txt file via a theme app, a custom page route, or a CDN rewrite. The content does not need to be elaborate. A short site summary, links to your top collections, links to your policies, and a contact path. We covered the structure in our llms.txt setup guide.
2. Incomplete product JSON-LD
This is the gap most stores do not realize they have. The Product schema on a typical Shopify product page often includes name, image, description, and offers. What it usually misses: review and aggregateRating (because the review app injects them client-side), brand when the store sells multiple brands, sku on the offer node, shippingDetails in the offer block, and the new itemCondition field that AI agents read to filter out used or refurbished items.
The scanner reads the rendered server response. If your review widget paints its stars after the page loads, the scanner counts that as missing. Same for any structured data injected by an app or by a custom Liquid block that triggers on a DOM event. The fix is to make sure the JSON-LD is present in the initial HTML response, not added later.
Generate a clean baseline block with our free JSON-LD Schema Generator and validate it with the Shopify SEO Checker. If your theme is fighting you, push the schema into the page via a server-rendered metafield rather than relying on the app.
3. Thin or template policy pages
The scanner does not just check that /policies/privacy-policy, /policies/shipping-policy, and /policies/terms-of-service return 200. It also reads the content. A 30-word generic shipping policy (“we ship within 5 to 7 business days”) is treated as low quality. A two-paragraph privacy policy that does not name the categories of data you collect is treated the same.
AI agents pull policy content into the answer they give a shopper. If your shipping policy is empty, the agent invents one or warns the shopper that the information is unclear. Either is bad for conversion. The fix is to actually write the policies. Include shipping windows by region, the return window in days, the cancellation rules, the contact channel for refunds, and the data categories you process.
Score benchmarks: what good looks like
The scanner does not publish a formal benchmark distribution, but the patterns are consistent across writeups and across the stores we scanned:
| Score band | What it means | Who usually lands here |
|---|---|---|
| 0 to 35 | Bottom quartile. Multiple categories are failing outright. | Single-product launchers, brand-new stores, stores with heavy client-side rendering. |
| 35 to 50 | Median. Sitemaps and basics are fine, schema and policies are thin. | Most independent Shopify stores in 2026. |
| 50 to 65 | Above average. Active maintenance, but at least one category still trails. | Mid-market stores running an SEO program. |
| 65 to 80 | Competitive. Schema is clean, policies are real, llms.txt is live. | Stores that have already done one round of AEO work. |
| 80 to 100 | Target band for $5M+ stores and enterprise. Few gaps left. | Plus-tier stores with a dedicated tech team. |
Most stores we scanned landed between 35 and 65. The top scorer in our sample was a Plus store that had already invested in structured data for Google. Their score was 78. The bottom scorer was a one-year-old DTC brand on a recent theme that had never opened the policy editor. Their score was 27.
Use the bands as a north star, not a benchmark to obsess over. The point of the score is to mark progress, not to win.
How to read the impact-effort matrix
The matrix is the part of the output most merchants skip. That is a mistake. The matrix takes every failing check, scores it on two axes (how much it will move your overall score, how much developer effort it will need), and plots it. The cells you care about are the top-left quadrant: high impact, low effort.
Typical wins that land in the top-left quadrant on a 50-band store:
- Adding
brandandskuto your product JSON-LD (Liquid edit, 30 minutes) - Writing real shipping and return policies (an afternoon of writing)
- Filling in alt text on product images (a few hours, or a CSV pass)
- Adding an About page with structured contact information
Bottom-right quadrant items (high effort, lower impact) typically include rebuilding a headless storefront to server-render schema, migrating away from a review app that only paints client-side, or implementing the UCP MCP endpoint manually. Worth doing eventually. Not the first move.
The big limitation: it diagnoses, it does not fix
The single most honest line you can write about this tool: it is a diagnostic, not a remedy. The scanner tells you what is broken and ranks the gaps by priority. It does not write your llms.txt. It does not patch your JSON-LD. It does not draft your shipping policy. The Yiqi Wu post that went around in early May put it sharply: “It is very useful for diagnosing what is broken and ranking it by priority. But it does NOT fix anything.”
That gap is where most agencies, third-party apps, and (yes) we ourselves at Craftshift have built tooling. Shopify’s first-party scanner is the universal benchmark. The actual work of fixing each gap lives in your theme, your apps, your content team, and your product data. There is no scan-and-resolve button. Anyone who tells you otherwise is selling.
The fix order we recommend
If you score below 50 on your first run, do these in order. The sequencing matters because some fixes set up others.
- Confirm
/llms.txtand/.well-known/ucpresolve. Visit both URLs in a browser. If you get a 404, write Shopify support, or publish a static file via a theme app. - Write real policy pages. Shipping, returns, privacy, terms. 300+ words each. Include concrete data: shipping windows by region, return window in days, refund timeline, contact email.
- Audit your product JSON-LD in the rendered HTML. View source on a product page. Search for
"@type": "Product". Make sureoffers,brand,sku, and (if applicable)aggregateRatingare present in the initial response, not injected by JavaScript. - Fix variant image binding. The scanner does not flag the wrong image on the wrong color (yet), but downstream AI surfaces will. This is foundational catalog hygiene. We use Rubik Variant Images for this; if you have your own solution, fine, but make sure each variant resolves to the right photo in the JSON product feed.
- Restructure runaway variant products. A product with 90 variants becomes one entry in Shopify Catalog and one thumbnail in an AI chat. If you sell distinct colors as variants, look at Combined Listings so each color earns its own URL.
- Fill in alt text and image filenames. Run our free image audit tool or generate AI-suggested alt text for the gaps.
- Re-scan. The scanner has no rate limit we have hit. Run it again. Watch the score move.
One round of those seven items, in the order listed, will move a typical mid-30s score to mid-60s. We’ve done it. It isn’t magic. It’s hygiene.
Where product structure shows up in the score
Product Intelligence is the category that punishes bad catalog structure hardest. The scanner does not yet test for the specific failure modes that hurt you in an AI chat (wrong variant image, runaway variant counts, mis-clustered listings), but those failures show up as missing fields in the JSON-LD it does test for.
Three concrete patterns we have audited recently:
- Store A had clean schema but every variant linked to the same hero image. AI agent recommendations showed the brown shoe even when the shopper asked for olive. The scanner did not flag this; the AI rendering did, badly.
- Store B had a t-shirt listing with 14 colors as variants. The scanner gave it a decent score because the schema was complete. But the AI chat surface treated it as one product. Thirteen colors were invisible.
- Store C had separate products per color but no swatch on the collection page. The scanner did not care. The shopper, asking ChatGPT for “blue raglan tees,” still missed the store entirely because the collection feed surfaced product C-NAVY but not C-RED.
The scanner is a lagging indicator. The score will go up if you ship clean schema. The actual revenue impact depends on whether the structure underneath that schema is correct. Run the scanner, sure. But pair it with our product page grader for storefront-level signals and our variant combination calculator if your catalog is brushing the 2,048 limit.
The disclaimer worth reading twice
At the bottom of the scanner page, Shopify includes a short disclaimer. Paraphrased: these are informational signals, and a perfect score does not guarantee your products will be surfaced by AI agents. That line is easy to read past. Don’t.
The scanner tests technical readiness. The AI surface still picks winners by competitive signals: brand familiarity, review volume, conversion rate, price competitiveness, return rate. A perfect 100 with no reviews and a 4-week shipping window will lose to a 70 with 800 reviews and 2-day shipping. The score is necessary, not sufficient.
Our take
The scanner is the most useful free tool Shopify has shipped to merchants in the last two years. We are saying that out loud because most of Shopify’s recent free tools have been thin. This one isn’t. It’s calibrated to what actually matters for AI discoverability, the URL list it tests is real and not vanity, and the impact-effort matrix is the kind of output most third-party SEO tools do not bother to compute.
What annoys us: the score is published prominently and the disclaimer is buried. A merchant who hits 85 will feel done. They aren’t done. The score measures technical readiness, which is the floor, not the ceiling.
What we expect: the scanner will get more rigorous over the next twelve months. Variant image binding will get its own check. Translation coverage will get its own check. The check list will likely grow from 31 to 50 by the end of 2026. Stores that ship the seven-step fix order now will be ahead of that next wave.
FAQ
Where is the Shopify agentic readiness scanner?
The current URL is shopify.com/agentic-readiness. The original commerce-readiness.shopify.io still works and redirects there. You do not need to be logged in to use it.
Is the scanner free?
Yes. No login required, no Shopify account needed, no usage cap that we have hit. You can scan any public Shopify URL, including stores you do not own.
How long does the scan take?
About 30 seconds end-to-end. The scanner fires roughly 45 HTTP requests across 41 URLs in a 7-second sweep, then computes the 31 checks on top of those responses. The remaining time is the result page render.
What is a good score?
Most independent Shopify stores score between 35 and 65 on a first run. Scoring 65 to 80 puts you in the competitive band for a mid-market store. Scoring 80 or above is realistic for Plus-tier stores with a dedicated tech team.
Does a high score guarantee AI discoverability?
No. The scanner page itself disclaims this. A perfect 100 measures technical readiness, not competitive readiness. AI agents still weigh review volume, brand familiarity, price, shipping speed, and return rates when picking winners.
Does the scanner fix the gaps for me?
No. It is a diagnostic tool, not a remediation tool. It surfaces failed checks and ranks them by impact and effort. The work of fixing each gap (writing policies, adding JSON-LD fields, restructuring variants) lives outside the scanner in your theme, apps, and content team.
Can I scan a competitor’s store?
Yes. The scanner accepts any public storefront URL. This is one of its quietly useful features. Run it on your top three competitors and you will see exactly which checks they are passing that you are not. That tells you where the cheap wins are.
Related reading
- Shopify Catalog and AI channels: the 2026 guide
- Shopify shipped native llms.txt, agents.md, and an agentic discovery sitemap to every store
- Shopify stores are shoppable inside ChatGPT: what merchants need to know
- The Shopify AEO guide: how to win in ChatGPT, Perplexity, and Google AI
- The llms.txt Shopify setup guide
- Shopify variant images FAQ (rubikvariantimages.com)
- Shopify Combined Listings explained (rubikify.com)