# The agent readiness checklist for online stores

Twenty tasks that get a store ready for AI shopping agents, in the order an agent meets them: from robots.txt and product data to checkout, bots and analytics, each with the check that tests it.

By Valerii Checha, 3 Nov 2026

An online store is ready for AI agents when an agent can find its products, read their price, stock, shipping and returns, and get from the cart to the payment step without an account or a puzzle, and when the store can tell a useful agent from an abusive bot. This checklist turns that into twenty tasks in five groups, in the order an agent meets them, each with the [check](https://storewalk.ai/checks) in our scan that tests it.

Storewalk is ours: we build the scan, and this guide is part of its site. The facts about Google, Cloudflare, UCP and the AI vendors come from their own pages, read on 3 November 2026. The reasons and the advice are ours unless they sit in quotation marks. If you want the idea before the list, [what is agent readiness](https://storewalk.ai/blog/what-is-agent-readiness) explains the term, and [the hub article](https://storewalk.ai/blog/why-agents-cant-buy) sets out the five walls an agent hits on the way to a purchase.

## How do you use this checklist?

Work down the list, tick what is done, and follow the links for the tasks that are not. Each task names the check that tests it and the article that explains it. The ticks are saved in your browser, so you can come back next week and find your place. They are not sent anywhere, so nobody will know how many you skipped.

The agent readiness checklist, saved in this browser.

Find and read: Can an agent find your products and read them?

- \[ ] Let AI agents read your product pages in robots.txt. robots.txt holds rules “that crawlers are requested to honor”. A Disallow: / under an agent’s name asks it to skip the whole store. Keeping cart and checkout out is normal and costs little. Checks: [DISC-001 robots.txt allows AI agents](https://storewalk.ai/checks/DISC-001). Read: [robots.txt for AI agents: which bots to allow and block](https://storewalk.ai/guides/robots-txt-for-ai-agents). Source: [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309).
- \[ ] List your product URLs in a sitemap. A sitemap is the cheapest way to hand any crawler your full product list. Our scan looks for product URLs in it. Checks: [DISC-003 Sitemap with product URLs](https://storewalk.ai/checks/DISC-003). Read: [How agents discover what a store offers](https://storewalk.ai/blog/how-agents-discover-a-store).
- \[ ] Put Product structured data on every product page, with a price and currency. Google’s merchant listing markup requires a name, an image and an Offer, and “priceCurrency is required if price is specified”. Our check also asks for an identifier such as a SKU or GTIN, which is our rule, not Google’s. Checks: [DISC-004 Product structured data](https://storewalk.ai/checks/DISC-004) and [DISC-005 Structured data matches rendered page](https://storewalk.ai/checks/DISC-005). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page). Source: [Google: Merchant listing structured data](https://developers.google.com/search/docs/appearance/structured-data/merchant-listing).
- \[ ] Make sure the price and the buy button are in the HTML, not only drawn by scripts. The vendors do not say whether their agents run JavaScript. A page whose facts arrive only through scripts is a bet on that answer. Checks: [DISC-006 Content available without JavaScript](https://storewalk.ai/checks/DISC-006). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page).
- \[ ] Publish an llms.txt that links your key pages. It is a proposal, cheap to write, and Google says “Google Search ignores them”. Our check wants an H1, at least 20 lines and links that resolve. Checks: [DISC-002 llms.txt present and non-trivial](https://storewalk.ai/checks/DISC-002). Read: [llms.txt for online stores: what to put in it](https://storewalk.ai/guides/llms-txt-for-online-stores). Sources: [llmstxt.org](https://llmstxt.org/) and [Google Search Central: AI optimization guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide).
- \[ ] Serve a Markdown version of a page when a client asks for one. Optional. On Cloudflare it is a switch: “Markdown for Agents is available to Pro, Business and Enterprise plans”. Elsewhere it is a developer job. Checks: [DISC-009 Pages served as Markdown on request](https://storewalk.ai/checks/DISC-009). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page). Source: [Cloudflare docs: Markdown for Agents](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/).
- \[ ] Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes. UCP says “Businesses publish their profile at /.well-known/ucp”, and that version, services and payment handlers are required. On the Shopify demo store we read, the platform serves one. Checks: [DISC-007 Agent commerce discovery documents](https://storewalk.ai/checks/DISC-007) and [DISC-018 UCP profile passes schema validation](https://storewalk.ai/checks/DISC-018). Read: [UCP explained](https://storewalk.ai/blog/ucp-explained). Sources: [UCP specification overview, 2026-08-25](https://ucp.dev/2026-08-25/specification/overview/) and [Dawn demo store: robots.txt (read 3 November 2026)](https://theme-dawn-demo.myshopify.com/robots.txt).

Judge: Can it judge a product: price, stock, delivery, returns?

- \[ ] State shipping costs and delivery terms in plain words, with a currency. “Calculated at checkout” tells an agent nothing it can compare. A cost with its currency, or “free over 50 EUR”, does. Checks: [EVAL-001 Shipping cost and terms machine-readable](https://storewalk.ai/checks/EVAL-001). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page).
- \[ ] State the return window in days. “30 days from delivery” is a fact an agent can repeat to a shopper. “Contact us” is homework. Checks: [EVAL-002 Return policy machine-readable](https://storewalk.ai/checks/EVAL-002). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page).
- \[ ] Show every price with an explicit currency. A bare “$” could be one of several dollars. A currency code in the markup settles it. Checks: [EVAL-003 Price transparency](https://storewalk.ai/checks/EVAL-003). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page).
- \[ ] Say whether each product is in stock, in the markup and on the page. An agent asked to buy something today needs to know it can be bought today. Checks: [EVAL-004 Availability explicit](https://storewalk.ai/checks/EVAL-004). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page).
- \[ ] Mark up sizes and colours as variants, not as one product with a dropdown. Google’s variant markup is a ProductGroup with “variesBy, hasVariant, and productGroupID”. Each variant then has its own price and stock. Checks: [EVAL-005 Variant data structured](https://storewalk.ai/checks/EVAL-005). Read: [How an AI agent reads a web page](https://storewalk.ai/blog/how-agents-read-a-page). Source: [Google: Product variant structured data](https://developers.google.com/search/docs/appearance/structured-data/product-variants).

Buy: Can it get from the cart to the payment step?

- \[ ] Let shoppers check out without creating an account. In UCP, guest checkout needs only the agent’s own credentials, and “identity linking upgrades the experience, it does not gate it.” In our reading, a required sign-in stops an agent with no account. Checks: [TRX-001 Guest checkout available](https://storewalk.ai/checks/TRX-001). Read: [Why agents stall at checkout](https://storewalk.ai/blog/why-agents-stall-at-checkout). Source: [UCP: Identity linking, 2026-08-25](https://ucp.dev/2026-08-25/specification/common/identity-linking/).
- \[ ] Keep CAPTCHAs off the way to the payment step. Anthropic says its bots respect anti-circumvention tools: “we will not attempt to bypass CAPTCHAs”. A puzzle before payment ends a polite agent’s visit. Checks: [TRX-002 No CAPTCHA before the payment step](https://storewalk.ai/checks/TRX-002). Read: [Why agents stall at checkout](https://storewalk.ai/blog/why-agents-stall-at-checkout). Source: [Anthropic: Does Anthropic crawl data from the web?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler).
- \[ ] Make sure add to cart and checkout can be reached from a product page. The simplest wall is a missing door. Our scan looks for a way from a product page to checkout. Checks: [TRX-010 A path to buy exists](https://storewalk.ai/checks/TRX-010). Read: [Why agents stall at checkout](https://storewalk.ai/blog/why-agents-stall-at-checkout).
- \[ ] Offer an agent checkout (UCP or ACP) if your platform or payment provider has one. An agent that can call a checkout does not have to fill in your form at all. This is the biggest job on the list, and often your platform’s. Checks: [TRX-004 Agent checkout endpoint present](https://storewalk.ai/checks/TRX-004). Read: [UCP vs ACP vs MCP vs AP2](https://storewalk.ai/blog/ucp-vs-acp-vs-mcp-vs-ap2).

Tell apart: Can your store tell a useful agent from an abusive bot?

- \[ ] Use bot management that knows verified bots and signed agents. Cloudflare calls a verified bot one “that Cloudflare has confirmed is transparent about who it is and what it does”. Blocking every bot blocks those too. Checks: [VER-001 Bot management present](https://storewalk.ai/checks/VER-001). Read: [Bots, crawlers and agents: who is knocking](https://storewalk.ai/blog/bots-crawlers-agents). Source: [Cloudflare docs: Verified bots](https://developers.cloudflare.com/bots/concepts/bot/verified-bots/).
- \[ ] Put stricter controls on checkout than on product pages. Reading a product page is cheap for you. Placing an order is not. The controls can differ. Checks: [VER-003 Checkout has stricter controls than the product page](https://storewalk.ai/checks/VER-003). Read: [Bots, crawlers and agents: who is knocking](https://storewalk.ai/blog/bots-crawlers-agents).
- \[ ] State how AI may use your content, with a Content-Signal line. One robots.txt line can say yes to search and to AI answers and no to training. It is a statement of preference, not a lock. Checks: [VER-004 Content Signals / AI usage preferences declared](https://storewalk.ai/checks/VER-004). Read: [How agents discover what a store offers](https://storewalk.ai/blog/how-agents-discover-a-store). Source: [Cloudflare docs: Content Signals](https://developers.cloudflare.com/bots/additional-configurations/managed-robots-txt/).

See: Can you see agents in your numbers?

- \[ ] Count AI agent visits apart from people, from your edge or server logs. Google Analytics drops “traffic from known bots and spiders” on its own, and you “cannot disable known bot traffic exclusion”. Agents need another view. Checks: [MEAS-001 Analytics distinguishes AI agents from humans](https://storewalk.ai/checks/MEAS-001). Read: [Bots, crawlers and agents: who is knocking](https://storewalk.ai/blog/bots-crawlers-agents). Source: [Google Analytics Help: Known bot-traffic exclusion](https://support.google.com/analytics/answer/9888366).

Words in quotation marks are the source’s; the rest is ours.

The groups follow the stages of our scan. An agent that cannot read your products never gets to judge them, and one that cannot judge them has no reason to reach checkout, so the early groups matter most. The last group, measurement, is about you rather than the agent.

## Can an agent find your products and read them?

Start with robots.txt, the file a well-behaved crawler reads before it reads your pages. [RFC 9309](https://storewalk.ai/blog/agentic-commerce-glossary#rfc9309), the standard behind it, calls its rules ones "that crawlers are requested to honor". A `Disallow: /` under an agent's name asks it to skip the whole store. Asking every bot to stay out of the cart, checkout and account pages is normal, and our [robots.txt check](https://storewalk.ai/checks/DISC-001) reports a file like that as a WARN rather than a failure. [robots.txt for AI agents](https://storewalk.ai/guides/robots-txt-for-ai-agents) lists which bots to allow, with a generator for the file.

Next, a sitemap with your product URLs, which is the cheapest way to hand any crawler the whole catalogue. Our [sitemap check](https://storewalk.ai/checks/DISC-003) looks for product URLs in it.

Then product [structured data](https://storewalk.ai/blog/agentic-commerce-glossary#structured-data), the block of JSON-LD in a product page that states the facts as data. Google's merchant listing markup requires a product `name`, an `image` and an `offers` block, and says that "priceCurrency is required if price is specified". Our [product data check](https://storewalk.ai/checks/DISC-004) asks for one thing more, an identifier such as a SKU or GTIN. That is our rule, not Google's. Its partner, [DISC-005](https://storewalk.ai/checks/DISC-005), checks that the markup agrees with the page.

Make sure the price and the buy button are in the page's HTML and not only drawn later by scripts. The AI vendors' crawler pages do not say whether their agents run JavaScript, so a page whose facts appear only after scripts run is a bet on an answer nobody has given. [How agents read a page](https://storewalk.ai/blog/how-agents-read-a-page) shows the difference, and our [JavaScript check](https://storewalk.ai/checks/DISC-006) measures it.

The next two are cheap and optional. An [llms.txt](https://storewalk.ai/blog/agentic-commerce-glossary#llms-txt) is a Markdown file at the root of your site that lists your key pages for language models. Google's own guide says it does not need one, and that "Google Search ignores them". Our [llms.txt check](https://storewalk.ai/checks/DISC-002) wants an H1, at least 20 lines and links that resolve, and [llms.txt for online stores](https://storewalk.ai/guides/llms-txt-for-online-stores) has a builder for the file. A Markdown version of a page, served when a client asks for `text/markdown`, is a switch on Cloudflare: "Markdown for Agents is available to Pro, Business and Enterprise plans". Elsewhere it takes a developer.

Last in this group is a [UCP](https://storewalk.ai/blog/agentic-commerce-glossary#ucp) profile, the file that tells an agent which commerce services your store offers. The specification says "Businesses publish their profile at /.well-known/ucp", and that version, services and payment handlers are required. On some platforms the profile is written for you, so check what yours serves before you write one. [UCP explained](https://storewalk.ai/blog/ucp-explained) goes through it key by key.

## Can it judge a product before it buys?

An agent shopping for someone has to answer the questions a careful person would ask: how much, in which currency, is it in stock, what does delivery cost, and can it go back. If the answer is on your site in plain words, the agent can repeat it. If it is hidden behind "calculated at checkout", the agent has nothing to compare.

Show every price with an explicit currency. A bare "$" could be one of several dollars, and a currency code in the markup settles it. Our [price check](https://storewalk.ai/checks/EVAL-003) reads both. Say whether each product is in stock, in the markup and on the page, which our [availability check](https://storewalk.ai/checks/EVAL-004) reads.

Write your shipping terms with a cost and a currency, or a plain rule such as free delivery over a stated amount, and your return window in days. "30 days from delivery" is a fact an agent can pass on. "Contact us to arrange a return" is homework. The [shipping](https://storewalk.ai/checks/EVAL-001) and [returns](https://storewalk.ai/checks/EVAL-002) checks look for exactly those words.

Mark up sizes and colours as variants. Google's variant markup is a ProductGroup with "variesBy, hasVariant, and productGroupID", which gives each variant its own price and stock instead of one product with a dropdown nobody can read. Our [variant check](https://storewalk.ai/checks/EVAL-005) looks for it.

## Can it get from the cart to the payment step?

Let shoppers check out without creating an account. An agent buying for someone has no account on your store. In UCP, guest checkout needs only the agent's own platform credentials, and the specification puts the principle in one line: "identity linking upgrades the experience, it does not gate it." In our reading, a store that requires sign-in stops an agent at the door. Our [guest checkout check](https://storewalk.ai/checks/TRX-001) reads your checkout entry for it.

Keep CAPTCHAs off the way to the payment step. Anthropic says plainly that its bots respect anti-circumvention technology: "we will not attempt to bypass CAPTCHAs". In our reading, a puzzle before payment can end a polite agent's visit. Our [CAPTCHA check](https://storewalk.ai/checks/TRX-002) looks for one before payment.

Check there is a way from a product page to checkout at all, which our [path check](https://storewalk.ai/checks/TRX-010) tests.

The biggest task on the list is an agent checkout, an endpoint an agent can call through a protocol such as UCP or ACP instead of filling in your form. It is often your platform's or payment provider's job rather than yours. [UCP vs ACP vs MCP vs AP2](https://storewalk.ai/blog/ucp-vs-acp-vs-mcp-vs-ap2) explains which protocol does what, and [why agents stall at checkout](https://storewalk.ai/blog/why-agents-stall-at-checkout) covers the rest of this group.

## Can your store tell a useful agent from an abusive bot?

You still want to stop scrapers and card testers. The trick is to stop them without stopping the agents your customers send.

Use [bot management](https://storewalk.ai/blog/agentic-commerce-glossary#bot-management) that knows the difference. Cloudflare, for example, describes a verified bot as one "that Cloudflare has confirmed is transparent about who it is and what it does". A rule that blocks every bot blocks those too, along with agents that sign their requests with [Web Bot Auth](https://storewalk.ai/blog/agentic-commerce-glossary#web-bot-auth). Our [bot management check](https://storewalk.ai/checks/VER-001) looks for a bot layer in front of your store.

Put stricter controls on checkout than on your product pages. An agent reading a product page costs you almost nothing, while a bad bot placing orders costs you money, so the two can be treated differently. Our [VER-003](https://storewalk.ai/checks/VER-003) compares them.

State how AI may use your content, with a [Content-Signal](https://storewalk.ai/blog/agentic-commerce-glossary#content-signals) line in robots.txt. One line can say yes to search and to AI answers and no to training. It states a preference and does not enforce one. Our [VER-004](https://storewalk.ai/checks/VER-004) reads it, and [how agents discover a store](https://storewalk.ai/blog/how-agents-discover-a-store) explains the syntax.

## Can you see agents in your numbers?

Probably not in Google Analytics. Its help page says "traffic from known bots and spiders is automatically excluded", and adds "you cannot disable known bot traffic exclusion". The tag that feeds it is a script in the page, too, so in our reading a client that never runs your scripts never shows up there at all. Agent traffic has to be counted at your edge, in a service such as Cloudflare, or in your server logs. Our [MEAS-001](https://storewalk.ai/checks/MEAS-001) cannot be answered by visiting your store, because the answer is in your own traffic data.

## Where should you start?

With what you can change yourself today. The same twenty tasks, sorted by who does the work and, within that, by the size of the job, as our scan labels each check's fix:

Where to start: the same tasks by who does the work, smallest job first.

A setting I can change, smallest job first:

1. List your product URLs in a sitemap (Small job; Vendor setting). Checks: [DISC-003 Sitemap with product URLs](https://storewalk.ai/checks/DISC-003).
2. Serve a Markdown version of a page when a client asks for one (Small job; Vendor setting). Checks: [DISC-009 Pages served as Markdown on request](https://storewalk.ai/checks/DISC-009).
3. Let shoppers check out without creating an account (Small job; Vendor setting). Checks: [TRX-001 Guest checkout available](https://storewalk.ai/checks/TRX-001).
4. Keep CAPTCHAs off the way to the payment step (Small job; You, in settings). Checks: [TRX-002 No CAPTCHA before the payment step](https://storewalk.ai/checks/TRX-002).
5. Use bot management that knows verified bots and signed agents (Small job; Vendor setting). Checks: [VER-001 Bot management present](https://storewalk.ai/checks/VER-001).
6. Put stricter controls on checkout than on product pages (Medium job; Vendor setting). Checks: [VER-003 Checkout has stricter controls than the product page](https://storewalk.ai/checks/VER-003).
7. Count AI agent visits apart from people, from your edge or server logs (Medium job; You, in settings). Checks: [MEAS-001 Analytics distinguishes AI agents from humans](https://storewalk.ai/checks/MEAS-001).
8. Make sure add to cart and checkout can be reached from a product page (Large job; Vendor setting). Checks: [TRX-010 A path to buy exists](https://storewalk.ai/checks/TRX-010).

A theme or code change, smallest job first:

1. Let AI agents read your product pages in robots.txt (Small job; Developer). Checks: [DISC-001 robots.txt allows AI agents](https://storewalk.ai/checks/DISC-001).
2. Publish an llms.txt that links your key pages (Small job; Developer). Checks: [DISC-002 llms.txt present and non-trivial](https://storewalk.ai/checks/DISC-002).
3. Show every price with an explicit currency (Small job; Developer). Checks: [EVAL-003 Price transparency](https://storewalk.ai/checks/EVAL-003).
4. Say whether each product is in stock, in the markup and on the page (Small job; Developer). Checks: [EVAL-004 Availability explicit](https://storewalk.ai/checks/EVAL-004).
5. State how AI may use your content, with a Content-Signal line (Small job; Developer). Checks: [VER-004 Content Signals / AI usage preferences declared](https://storewalk.ai/checks/VER-004).
6. Put Product structured data on every product page, with a price and currency (Medium job; Developer). Checks: [DISC-004 Product structured data](https://storewalk.ai/checks/DISC-004) and [DISC-005 Structured data matches rendered page](https://storewalk.ai/checks/DISC-005).
7. State shipping costs and delivery terms in plain words, with a currency (Medium job; Developer). Checks: [EVAL-001 Shipping cost and terms machine-readable](https://storewalk.ai/checks/EVAL-001).
8. State the return window in days (Medium job; Developer). Checks: [EVAL-002 Return policy machine-readable](https://storewalk.ai/checks/EVAL-002).
9. Mark up sizes and colours as variants, not as one product with a dropdown (Medium job; Developer). Checks: [EVAL-005 Variant data structured](https://storewalk.ai/checks/EVAL-005).
10. Make sure the price and the buy button are in the HTML, not only drawn by scripts (Large job; Developer). Checks: [DISC-006 Content available without JavaScript](https://storewalk.ai/checks/DISC-006).

An app or integration, smallest job first:

1. Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes (Medium job; Integration). Checks: [DISC-007 Agent commerce discovery documents](https://storewalk.ai/checks/DISC-007) and [DISC-018 UCP profile passes schema validation](https://storewalk.ai/checks/DISC-018).
2. Offer an agent checkout (UCP or ACP) if your platform or payment provider has one (Large job; Integration). Checks: [TRX-004 Agent checkout endpoint present](https://storewalk.ai/checks/TRX-004).

Who and how big are our scan’s own labels for each check’s fix.

Start with the settings group. Our scan labels guest checkout, the CAPTCHA and the sitemap as small jobs, done in your platform's settings or your bot vendor's. The theme and code group is where structured data, prices and policies live, and it rewards an afternoon with a developer. Integrations such as an agent checkout depend on your platform's roadmap more than on you.

## What does your platform already do?

Each of our platform guides has a matrix of what the platform ships against what an agent needs. Here is that matrix laid over this checklist:

What your platform already does, task by task.

Shopify, from [Shopify AI agent readiness: get your store ready for agentic commerce](https://storewalk.ai/shopify):

- robots.txt lets AI agents in: Fine by default. The generated file names no AI agent. Cart, checkout and account lines apply to everyone, so our DISC-001 reports WARN, which is expected. Tasks: Let AI agents read your product pages in robots.txt. Sources: [Dawn demo store: robots.txt (read 3 November 2026)](https://theme-dawn-demo.myshopify.com/robots.txt) and [Shopify Help Center: Editing robots.txt](https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt).
- agents.md, llms.txt, llms-full.txt: Fine by default. Managed by Shopify for every store; the two llms files mirror agents.md. Whether yours meets our 20-line rule depends on its content. Tasks: Publish an llms.txt that links your key pages. Source: [Shopify.dev: agents.md.liquid](https://shopify.dev/docs/storefronts/themes/architecture/templates/agents-md-liquid).
- UCP profile and UCP MCP endpoint: Fine by default. Served at /.well-known/ucp and /api/ucp/mcp on the demo store we read; the old catalog and cart tools at /api/mcp were removed. We read one store, not every one. Tasks: Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes. Sources: [Dawn demo store: /.well-known/ucp (read 3 November 2026)](https://theme-dawn-demo.myshopify.com/.well-known/ucp) and [Shopify.dev: Storefront MCP](https://shopify.dev/docs/apps/build/storefront-mcp).
- Selling inside AI assistants: Fine by default. Agentic storefronts are on by default for eligible stores: ChatGPT, Google AI Mode and Gemini, Microsoft Copilot, and Meta. Tasks: Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes; Offer an agent checkout (UCP or ACP) if your platform or payment provider has one. Source: [Shopify Help Center: Agentic storefronts](https://help.shopify.com/en/manual/online-sales-channels/agentic-storefronts).
- Product JSON-LD: Fine by default. Dawn prints the structured_data filter: a Product, or a ProductGroup when there are variants. Our checks read the ProductGroup as one product, with an offer per variant. Other themes may differ. Tasks: Put Product structured data on every product page, with a price and currency; Mark up sizes and colours as variants, not as one product with a dropdown. Source: [Shopify.dev: the structured_data filter](https://shopify.dev/docs/api/liquid/filters/structured_data).
- GTIN, shipping and returns in JSON-LD: Not stated or not shipped. The filter’s docs do not mention gtin, shippingDetails or hasMerchantReturnPolicy, and we have not confirmed what live pages print. Tasks: State shipping costs and delivery terms in plain words, with a currency; State the return window in days. Source: [Shopify.dev: the structured_data filter](https://shopify.dev/docs/api/liquid/filters/structured_data).
- Markdown on request: Gap by default. On the stores we read in September, the answer was labelled text/markdown but the body was HTML. A merchant reported the same in Shopify’s forum on 29 September. Tasks: Serve a Markdown version of a page when a client asks for one. Source: [Shopify developer forum: 404 for Markdown requests (29 September 2026)](https://community.shopify.dev/t/storefront-returns-404-for-product-and-collection-pages-when-requested-with-accept-text-markdown/38079).
- Guest checkout: Yours to set. A setting under Settings > Checkout. Shopify’s page gives no default, so check yours. Tasks: Let shoppers check out without creating an account. Source: [Shopify Help Center: Checkout form options](https://help.shopify.com/en/manual/checkout-settings/checkout-form-options).
- No CAPTCHA before payment: Fine by default. hCaptcha’s default covers forms and login pages, not checkout. Checkout bot protection is Plus only and runs for at most 60 minutes at a time. Tasks: Keep CAPTCHAs off the way to the payment step. Sources: [Shopify Help Center: Online store preferences](https://help.shopify.com/en/manual/online-store/setting-up/preferences) and [Shopify Help Center: Bot protection](https://help.shopify.com/en/manual/checkout-settings/bot-protection).
- Bot management: Fine by default. Handled by Shopify. Unsigned bots get the strictest rate limits; agents that sign with Web Bot Auth can get higher ones. Tasks: Use bot management that knows verified bots and signed agents. Sources: [Shopify Help Center: Editing robots.txt](https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt) and [Shopify.dev changelog: bots and agents should identify themselves (7 May 2026)](https://shopify.dev/changelog/bots-and-agents-should-identify-themselves-via-web-bot-auth).

Not covered by this guide: List your product URLs in a sitemap; Make sure the price and the buy button are in the HTML, not only drawn by scripts; Show every price with an explicit currency; Say whether each product is in stock, in the markup and on the page; Make sure add to cart and checkout can be reached from a product page; Put stricter controls on checkout than on product pages; State how AI may use your content, with a Content-Signal line; Count AI agent visits apart from people, from your edge or server logs.

WooCommerce, from [WooCommerce AI agent readiness](https://storewalk.ai/woocommerce):

- robots.txt lets AI agents in: Fine by default. Core and WooCommerce name no AI agent. The admin and add-to-cart lines apply to everyone, so our DISC-001 reports WARN. Tasks: Let AI agents read your product pages in robots.txt. Sources: [WordPress: do_robots()](https://developer.wordpress.org/reference/functions/do_robots/) and [WooCommerce source: class-woocommerce.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/class-woocommerce.php).
- Cart and checkout out of search results: Fine by default. Done with a noindex robots meta tag, not a robots.txt block, so an agent may still open them. Tasks: Make sure add to cart and checkout can be reached from a product page. Source: [WooCommerce source: wc-template-functions.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/wc-template-functions.php).
- Product JSON-LD: Fine by default. Core prints name, sku, gtin when it is valid, mpn, offers with price, currency and availability, and ratings, in the footer of product pages. Tasks: Put Product structured data on every product page, with a price and currency; Show every price with an explicit currency; Say whether each product is in stock, in the markup and on the page. Source: [WooCommerce source: class-wc-structured-data.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/class-wc-structured-data.php).
- Variable products: Gap by default. When variations differ in price, one AggregateOffer with lowPrice, highPrice and offerCount, and no list of variants. Our DISC-004 counts that as a missing offers.price. Tasks: Put Product structured data on every product page, with a price and currency; Mark up sizes and colours as variants, not as one product with a dropdown. Source: [WooCommerce source: class-wc-structured-data.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/class-wc-structured-data.php).
- Brand and shipping in JSON-LD: Gap by default. Neither brand nor shippingDetails is in the product data core prints. Tasks: State shipping costs and delivery terms in plain words, with a currency. Source: [WooCommerce source: class-wc-structured-data.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/class-wc-structured-data.php).
- Return policy in JSON-LD: Gap by default. WooCommerce 11.3, scheduled for the week of 9 November 2026, adds a MerchantReturnPolicy link, printed on the refund and returns page. Tasks: State the return window in days. Sources: [WooCommerce developer blog: 11.3 pre-release (26 October 2026)](https://developer.woocommerce.com/2026/10/26/woocommerce-11-3-pre-release/) and [WooCommerce source: class-wc-structured-data.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/class-wc-structured-data.php).
- Guest checkout: Fine by default. On in the code by default, labelled “(recommended)”. Tasks: Let shoppers check out without creating an account. Source: [WooCommerce source: class-wc-settings-accounts.php](https://raw.githubusercontent.com/woocommerce/woocommerce/trunk/plugins/woocommerce/includes/admin/settings/class-wc-settings-accounts.php).
- No CAPTCHA before payment: Fine by default. Core has none. A plugin can add one, on the forms you choose. Tasks: Keep CAPTCHAs off the way to the payment step. Sources: [WooCommerce developer docs: Store API rate limiting](https://developer.woocommerce.com/docs/apis/store-api/rate-limiting/) and [WordPress.org: Simple Cloudflare Turnstile](https://wordpress.org/plugins/simple-cloudflare-turnstile/).
- llms.txt and Markdown: Yours to set. Neither is in core. Yoast can write llms.txt; Cloudflare’s Markdown for Agents works in front of any site on its Pro, Business and Enterprise plans. Tasks: Publish an llms.txt that links your key pages; Serve a Markdown version of a page when a client asks for one. Sources: [Yoast help: Enable llms.txt](https://yoast.com/help/enable-llmstxt/) and [Cloudflare docs: Markdown for Agents](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/).
- UCP agent checkout: Yours to set. Through the WooCommerce AI plugin, off by default. WooCommerce’s own agentic commerce page still labels UCP “Coming soon”. Tasks: Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes; Offer an agent checkout (UCP or ACP) if your platform or payment provider has one. Sources: [WooCommerce docs: WooCommerce AI](https://woocommerce.com/document/woocommerce-ai/) and [WooCommerce: Agentic commerce](https://woocommerce.com/agentic-commerce/).

Not covered by this guide: List your product URLs in a sitemap; Make sure the price and the buy button are in the HTML, not only drawn by scripts; Use bot management that knows verified bots and signed agents; Put stricter controls on checkout than on product pages; State how AI may use your content, with a Content-Signal line; Count AI agent visits apart from people, from your edge or server logs.

BigCommerce, from [BigCommerce AI agent readiness](https://storewalk.ai/bigcommerce):

- robots.txt lets AI agents in: Fine by default. BigCommerce says no entries are needed to allow AI crawling. Its hidden rules ask the crawlers it lists to wait 10 seconds between requests and stay off cart, checkout, account, admin and filter pages. Tasks: Let AI agents read your product pages in robots.txt. Source: [BigCommerce Support: Understanding the robots.txt file](https://support.bigcommerce.com/articles/en_US/Knowledge/Understanding-the-Robots-txt-File).
- Product JSON-LD (Stencil, Cornerstone): Fine by default. Name, sku, mpn, gtin, brand, image, description and an offer with price, currency and availability. Tasks: Put Product structured data on every product page, with a price and currency; Say whether each product is in stock, in the markup and on the page. Source: [Cornerstone source: schema.html](https://raw.githubusercontent.com/bigcommerce/cornerstone/master/templates/components/products/schema.html).
- Price-range products (Cornerstone): Gap by default. The offer gets minPrice and maxPrice instead of price. Those are not Offer properties in schema.org, and our DISC-004 reports the price missing. Tasks: Put Product structured data on every product page, with a price and currency; Show every price with an explicit currency. Source: [Cornerstone source: schema.html](https://raw.githubusercontent.com/bigcommerce/cornerstone/master/templates/components/products/schema.html).
- Price in Catalyst: Fine by default. Catalyst puts price and currency in offers.priceSpecification. That is valid schema.org, but some tools may miss it. Our DISC-004, DISC-005 and EVAL-003 read it. Tasks: Put Product structured data on every product page, with a price and currency; Show every price with an explicit currency. Source: [Catalyst source: product-schema](https://raw.githubusercontent.com/bigcommerce/catalyst/canary/core/app/%5Blocale%5D/\(default\)/product/%5Bslug%5D/_components/product-schema/index.tsx).
- Shipping and returns in JSON-LD: Gap by default. Neither Cornerstone nor Catalyst prints shippingDetails or a return policy. The policy is a web page you write. Tasks: State shipping costs and delivery terms in plain words, with a currency; State the return window in days. Sources: [Cornerstone source: schema.html](https://raw.githubusercontent.com/bigcommerce/cornerstone/master/templates/components/products/schema.html) and [BigCommerce Support: Processing returns](https://support.bigcommerce.com/articles/en_US/Knowledge/Processing-Returns).
- Guest checkout: Yours to set. Three options and no stated default. Tasks: Let shoppers check out without creating an account. Source: [BigCommerce Support: Guest customers and checkout](https://support.bigcommerce.com/articles/Public/Guest-Customers-and-Checkout).
- No CAPTCHA before payment: Fine by default. Checkout reCAPTCHA is disabled by default. Tasks: Keep CAPTCHAs off the way to the payment step. Source: [BigCommerce Support: reCAPTCHA](https://support.bigcommerce.com/articles/en_US/Knowledge/Updating-Themes-with-reCAPTCHA-v2).
- llms.txt: Not stated or not shipped. We found no native setting for a store’s own llms.txt. Apps exist. Tasks: Publish an llms.txt that links your key pages. Source: [Your Store Wizards: llms.txt for BigCommerce stores](https://blog.yourstorewizards.com/llms-txt-generator-for-bigcommerce-stores/).
- UCP and ACP agent checkout: Not stated or not shipped. Commerce, BigCommerce’s parent, is “building toward” UCP, and says Stripe’s suite “will enable” its merchants. We found no live setting. Tasks: Offer an agent checkout (UCP or ACP) if your platform or payment provider has one. Sources: [Commerce: support for UCP (11 January 2026)](https://finviz.com/news/272920/commerce-supports-universal-commerce-protocol-plans-to-offer-buying-directly-across-googles-ai-surfaces) and [Commerce: Stripe Agentic Commerce Suite (18 December 2025)](https://www.commerce.com/press/pr-stripe-agentic-commerce-suite/).

Not covered by this guide: List your product URLs in a sitemap; Make sure the price and the buy button are in the HTML, not only drawn by scripts; Serve a Markdown version of a page when a client asks for one; Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes; Mark up sizes and colours as variants, not as one product with a dropdown; Make sure add to cart and checkout can be reached from a product page; Use bot management that knows verified bots and signed agents; Put stricter controls on checkout than on product pages; State how AI may use your content, with a Content-Signal line; Count AI agent visits apart from people, from your edge or server logs.

Magento, from [Magento and Adobe Commerce AI agent readiness](https://storewalk.ai/magento):

- robots.txt lets AI agents in: Fine by default. Core names no AI agent. Its Disallow lines apply to everyone, so our DISC-001 reports WARN, which is expected. The /\*? line closes only URLs with a query string. Tasks: Let AI agents read your product pages in robots.txt. Source: [Magento source: Theme/etc/config.xml](https://raw.githubusercontent.com/magento/magento2/2.4-develop/app/code/Magento/Theme/etc/config.xml).
- Product JSON-LD (Luma): Gap by default. Stock Luma prints schema.org microdata, not JSON-LD, and no availability property. Our DISC-004 reads JSON-LD, so it fails. Tasks: Put Product structured data on every product page, with a price and currency; Say whether each product is in stock, in the markup and on the page. Source: [Magento source: catalog_product_view.xml](https://raw.githubusercontent.com/magento/magento2/2.4-develop/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml).
- Product JSON-LD (Adobe Commerce Storefront): Yours to set. Adobe documents the types to add and offers a PDP Metadata Generator, and recommends rendering it on the server. Tasks: Put Product structured data on every product page, with a price and currency; Make sure the price and the buy button are in the HTML, not only drawn by scripts. Source: [Adobe Commerce Storefront: metadata](https://experienceleague.adobe.com/developer/commerce/storefront/setup/seo/metadata/).
- Guest checkout: Fine by default. On by default. Tasks: Let shoppers check out without creating an account. Source: [Adobe Experience League: Guest checkout](https://experienceleague.adobe.com/en/docs/commerce-admin/stores-sales/point-of-purchase/checkout/checkout-guest).
- No CAPTCHA before payment: Fine by default. Checkout reCAPTCHA is not set in the source config. Tasks: Keep CAPTCHAs off the way to the payment step. Source: [Magento security-package source: ReCaptchaCheckout config.xml](https://raw.githubusercontent.com/magento/security-package/develop/ReCaptchaCheckout/etc/config.xml).
- Shipping and returns in JSON-LD: Gap by default. The shipping policy shows at checkout only; RMA is Adobe Commerce only. Neither prints structured data. Tasks: State shipping costs and delivery terms in plain words, with a currency; State the return window in days. Sources: [Adobe Experience League: Shipping settings](https://experienceleague.adobe.com/en/docs/commerce-admin/stores-sales/delivery/shipping-settings) and [Adobe Experience League: Configure returns (RMA)](https://experienceleague.adobe.com/en/docs/commerce-admin/stores-sales/order-management/returns/rma-configure).
- Bot management (Commerce Cloud): Yours to set. The standard Fastly WAF has no bot mitigation; the paid Advanced Security add-on does. Tasks: Use bot management that knows verified bots and signed agents. Sources: [Adobe Experience League: Fastly WAF service](https://experienceleague.adobe.com/en/docs/commerce-on-cloud/user-guide/cdn/fastly-waf-service) and [Adobe Experience League: Advanced Security](https://experienceleague.adobe.com/en/docs/commerce-on-cloud/user-guide/cdn/advanced-security).
- llms.txt: Yours to set. Through Marketplace extensions; we found no core setting. Tasks: Publish an llms.txt that links your key pages. Source: [Adobe Commerce Marketplace: an llms.txt extension](https://commercemarketplace.adobe.com/mb-module-llms.html).
- UCP and ACP: Not stated or not shipped. Adobe says Adobe Commerce is “committed to supporting” UCP and “moving towards supporting UCP and ACP”. Tasks: Offer an agent checkout (UCP or ACP) if your platform or payment provider has one. Source: [Adobe Commerce commits to agentic commerce standards (18 February 2026, mirror)](https://glenbrook.com/payments_news/adobe-commerce-commits-to-agentic-commerce-standards/).

Not covered by this guide: List your product URLs in a sitemap; Serve a Markdown version of a page when a client asks for one; Publish a UCP profile at /.well-known/ucp, or check the one your platform publishes; Show every price with an explicit currency; Mark up sizes and colours as variants, not as one product with a dropdown; Make sure add to cart and checkout can be reached from a product page; Put stricter controls on checkout than on product pages; State how AI may use your content, with a Content-Signal line; Count AI agent visits apart from people, from your edge or server logs.

The statuses are the guides’ own, read from each platform’s pages.

For the full picture, with the admin path for every setting, read the guide for your platform: [Shopify](https://storewalk.ai/shopify), [WooCommerce](https://storewalk.ai/woocommerce), [BigCommerce](https://storewalk.ai/bigcommerce) or [Magento and Adobe Commerce](https://storewalk.ai/magento). If your store runs on something else, the checklist above still applies; you will just be doing more of it yourself.

## Frequently asked questions

### What is an agent readiness checklist?

A list of the things an AI shopping agent needs from an online store to find a product, judge it and buy it, plus what the store needs to tell good agents from bad bots. This one has twenty tasks in five groups, each tied to a check in our scan.

### What should I fix first?

Whatever stops an agent earliest. A robots.txt that blocks agents, a checkout that requires an account and a CAPTCHA before payment can each end a purchase. Product pages without structured data leave the agent to guess from the HTML. Policies, variants and llms.txt make the agent's answer better once it can get in.

### Do I need an llms.txt for Google?

No. Google's AI optimization guide says you do not need new machine-readable or AI text files to appear in Google Search, and that "Google Search ignores them". An llms.txt is aimed at other tools, and our scan counts it as a small, optional signal.

### Do I need UCP or MCP to be agent ready?

Not to start. Most of this checklist is ordinary pages, markup and settings. A UCP profile and an agent checkout matter once the basics are in place, and on some platforms they are published for you.

### How do I know whether my store passes?

Run a scan. It reads your store the way an agent would, from robots.txt to checkout, and reports each of these checks as pass, warn, fail or skipped, with the reason.

The sources below were last checked on the date shown.

## Sources

- [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309)
- [Google Search Central: Merchant listing structured data](https://developers.google.com/search/docs/appearance/structured-data/merchant-listing)
- [Google Search Central: Product variant structured data](https://developers.google.com/search/docs/appearance/structured-data/product-variants)
- [Google Search Central: AI optimization guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)
- [llmstxt.org: The /llms.txt file, v2](https://llmstxt.org/)
- [Cloudflare docs: Markdown for Agents](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/)
- [UCP specification overview, 2026-08-25](https://ucp.dev/2026-08-25/specification/overview/)
- [UCP: Identity linking, 2026-08-25](https://ucp.dev/2026-08-25/specification/common/identity-linking/)
- [Dawn demo store: robots.txt (read 3 November 2026)](https://theme-dawn-demo.myshopify.com/robots.txt)
- [Anthropic: Does Anthropic crawl data from the web?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler)
- [Cloudflare docs: Verified bots](https://developers.cloudflare.com/bots/concepts/bot/verified-bots/)
- [Cloudflare docs: Managed robots.txt and Content Signals](https://developers.cloudflare.com/bots/additional-configurations/managed-robots-txt/)
- [Google Analytics Help: Known bot-traffic exclusion](https://support.google.com/analytics/answer/9888366)
- [Google tag platform: Set up the Google tag](https://developers.google.com/tag-platform/gtagjs)

Last checked 3 Nov 2026
