Agentic commerce
How do you make an ecommerce store readable by AI shopping agents?
Updated
Making a store agent-readable is four pieces of work: server-render product data so price, availability and identifiers exist in raw HTML rather than after client-side rendering; mark it up with schema.org Product including offers, price, priceCurrency, availability and a GTIN or SKU; publish a discovery layer — robots.txt admitting assistant crawlers, a sitemap, and an llms.txt; and expose a programmatic quote and cart endpoint so an agent can obtain a binding price without driving a browser. The first item resolves most of the gap on its own.
Start by measuring your own gap
Before changing anything, run the test that predicts most of the problem. Fetch a product page the way a crawler does — no JavaScript execution — and look at what survives.
You are checking for four things in the raw response: the price, the availability state, the variant identity, and a stable product identifier. If any of those only materialise after client-side rendering, then an agent evaluating your product is either guessing or skipping you. Adobe found product pages scoring 66% on machine readability, the lowest of any page type, and this is overwhelmingly why.
Run the same test on your collection pages and your search results. Category pages that render entirely client-side are invisible as discovery surfaces even when the individual products are fine.
The four layers, in payback order
Each layer below is independently useful. None of it is wasted if a particular protocol fails to win, which is the property you want given how much is still moving.
| Layer | What to ship | Why it pays back first |
|---|---|---|
| Server-rendered product data | Price, availability, variant, SKU/GTIN present in the initial HTML response | Closes the largest measured gap and improves classical SEO simultaneously — the same fix serves both audiences |
| schema.org Product markup | Product with offers, price, priceCurrency, availability, sku/gtin, aggregateRating only if real | Turns parsed text into asserted facts; also the input for Google merchant rich results |
| Discovery layer | robots.txt admitting assistant crawlers, sitemap.xml, llms.txt stating what you sell | Cheap, one-time, and determines whether any of the above is ever fetched |
| Programmatic quote and cart | An API returning a binding total including shipping and tax, plus cart construction | Required by UCP and ACP for the transaction step; removes browser simulation entirely |
The robots.txt decision people get wrong
Blocking AI crawlers wholesale is a defensible position for a publisher whose product is the text. It is close to indefensible for a merchant whose product is a product: you are declining to appear in the fastest-growing referral channel in retail in order to protect copy you wrote to sell that product.
Be deliberate rather than default. Decide separately about crawlers that build training corpora and agents that fetch a page to answer a live shopping question — they are different bargains, and most retailers want to admit the second unconditionally.
The other common error is over-broad disallow rules. If your authenticated surfaces sit on root-level paths that are prefixes of marketing pages, a bare disallow silently deindexes the marketing page too. Anchor each rule.
llms.txt is cheap and the objection to it is weak
We used to frame this as a cheap bet nobody had taken. Our own measurement says otherwise: of 147 well-known DTC brands, most reachable ones already publish an llms.txt — and the large majority did not write it, because their platform ships a templated one. Google has said no AI system uses the file; whether merchants publish it is no longer in question.
So the decision is not whether to have one. It is whether the generated default is worth anything. A 4.3KB template describes a generic store — it does not know which of your products matter or what separates you from every other brand publishing the same document. The brands that wrote their own range from 566 bytes to 28KB.
The rule either way: generate it from your route registry rather than hand-writing it, so it cannot rot. A stale index is worse than none, because it confidently points at pages that have moved.
What you get without building any of it on PlatformDTC
On PlatformDTC these are platform properties rather than a project. Storefronts server-render product data with structured markup as the default output of the publish pipeline. The discovery layer — robots, sitemap, llms.txt — is generated from the real route tree at build time, so a page that ships is a page that is discoverable.
The programmatic layer is the Agent Gateway: catalog, cart, quote and order operations exposed as scoped API calls and as MCP tools, with idempotency keys, an audit trail, and a human approval gate on anything that spends.
Frequently asked questions
- Does agent-readiness conflict with conversion-rate optimisation?
- Rarely, because they operate on different layers. Server-rendering price and availability changes what is in the HTML response, not what a human sees. The genuine tension is with tactics that exist only to manufacture urgency — an agent reads the real inventory number, so a fake one is both ineffective and a credibility risk.
- Is schema.org Product markup enough on its own?
- Only if the values in it are real and current. Markup that asserts a price the page no longer charges, or in-stock on a sold-out variant, is worse than none — it produces confident wrong answers and, for Google merchant rich results, risks a structured-data penalty. Generate it from the same source the storefront renders from.
- How long does this take on an existing store?
- The discovery layer is hours. Schema markup is days if your catalog data is clean. Server-rendering product data is the real project and depends entirely on your storefront architecture — a client-side-rendered theme built on a JSON API is a rebuild of the render path, not a patch.
- Which assistant crawlers should I allow?
- Distinguish the two purposes. Agents that fetch pages to answer live shopping questions — the ones producing the referral traffic Adobe measures — are the ones to admit. Bulk training-corpus crawlers are a separate commercial decision. Name them individually in robots.txt rather than relying on a blanket rule.
Sources
- AI traffic grows but retail sites lag in AI search visibility (Q1 2026) — Adobe Digital Insights