llms.txt, schema and feeds: what AI shopping agents actually read.

Some files are read by almost every shopping agent. One is read by almost none. A plain guide to which is which, and what to do first.

By Recommended by AgentsPublished 8 min read

Three glass panels floating in dark space holding a node graph, rows of data cells and plain lines, with a beam of amber light passing through all three

Ask five people how to make a store readable to AI and you will hear five different files: llms.txt, schema, a product feed, a sitemap, robots.txt. They are not interchangeable, and they are not equally important. Some are read by almost every shopping agent. One is read by almost none, as far as anyone can show.

This is a plain guide to what each one is, which agents use it, and what order to tackle them in. Where the evidence is thin we say so.

What do AI shopping agents actually read?

AI shopping agents read three versions of your product: the one in your feeds, the one on your live site, and the one the open web describes. Which version counts most depends on the agent.

  • Feed-led agents. ChatGPT Shopping and Gemini work largely from structured product data supplied by merchants, alongside the web.
  • Browser agents. Agents such as Meta's Muse open your live store in a browser and read the rendered page, as we describe in why Muse reads your site like a customer.
  • Web-led agents. Claude and Perplexity lean on search results and on what reviewers, guides and forums say.

The practical problem is that these three versions often disagree on price, stock or delivery. When they do, an agent has no way to know which is right, and the safe choice is to recommend a product whose facts line up. So the goal is not to pick one format. It is to make all of them say the same thing.

The files and formats, compared
SourceWhat it carriesWho reads itPriority
Product feedsPrice, stock, identifiers, variants, shipping, for the whole catalogChatGPT Shopping, Gemini and Google surfacesHigh
Schema markup (JSON-LD)The same facts, attached to each pageSearch engines, and the agents that build on their indexes or fetch pagesHigh
Visible page contentEverything a shopper seesBrowser agents; any agent that fetches the pageHigh
robots.txt and firewall rulesWho is allowed inEvery well-behaved crawler and agentHigh: a wrong rule cancels everything else
XML sitemapWhich URLs exist and when they changedCrawlersMedium: hygiene
llms.txtA curated Markdown summary and linksNo major agent has confirmed using it for recommendationsLow: cheap, optional
Third-party coverageOpinions, comparisons, experienceAll agents, web-led ones mostHigh, but slow

What is a product feed, and which ones matter?

A product feed is a structured file or API that lists every product you sell with its current price, availability, identifiers and attributes. It is the most direct way to put facts in front of a feed-led agent, because you are handing over data instead of hoping a page is parsed correctly.

Three feed destinations matter most for shopping agents today:

  • Google Merchant Center. The long-standing product feed behind Google Shopping, and the product data source for Google's AI shopping surfaces.
  • Google's Universal Commerce Protocol (UCP). Google's open standard for letting agents discover products and complete purchases with merchants.
  • OpenAI's Agentic Commerce Protocol (ACP). The open standard, developed with Stripe, that lets merchants supply product feeds to ChatGPT and accept purchases made in the conversation.

The specifications differ, but the fields agents care about overlap heavily: title, description, price and currency, availability, brand, GTIN or other identifiers, variant attributes such as size and color, images, shipping and return terms. Two rules matter more than any specification detail:

  1. Coverage. Every product you want recommended should be in the feed, with its variants. Partial feeds produce partial visibility.
  2. Freshness. The feed must match the live store. If a sale starts at nine o'clock, the feed should know. An out-of-date feed creates the very conflict that gets products dropped.

What schema markup do agents need?

Agents need Product markup with a complete Offer, and ideally ratings, shipping details and a return policy, written as JSON-LD on every product page. Schema markup is the same set of facts as a feed, attached to the page itself, so anything that fetches the page can read them without guessing from the layout.

The types worth implementing, in order:

  1. Product: name, description, image, brand, sku, gtin, and the attributes shoppers filter on, such as color, size and material.
  2. Offer: price, priceCurrency, availability, url, itemCondition. For variants, one Offer per variant or a ProductGroup.
  3. AggregateRating and Review: only for genuine, visible reviews.
  4. OfferShippingDetails: shipping cost, destinations and delivery time.
  5. MerchantReturnPolicy: return window, method and fees.
  6. Organization, site-wide: who you are, your logo and contact details.

A trimmed example of what a product page should carry:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Trail Shoe",
  "brand": { "@type": "Brand", "name": "Example Brand" },
  "sku": "EX-TRAIL-01",
  "gtin13": "0000000000000",
  "material": "Recycled mesh upper",
  "offers": {
    "@type": "Offer",
    "price": "129.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "merchantReturnDays": 30,
      "returnFees": "https://schema.org/FreeReturn"
    }
  }
}

One rule sits above the rest: markup must match the visible page. Schema that says $129 next to a page that says $149 is not a small bug. It is a reason to distrust both. Generate markup from the same data source as the page and the feed, and you remove the problem at the root.

What is llms.txt, and does it help?

llms.txt is a proposed convention: a Markdown file at the root of your site that gives language models a short description of who you are and links to your most useful pages. It helps a little at most, and nobody has shown that it changes which products get recommended.

Here is the honest position. The format was proposed in 2024 and is not a web standard. No major AI company has publicly committed to using it as a signal for answers or recommendations. It is not a substitute for robots.txt, a sitemap, feeds or schema. On the other hand, it takes an hour to write, it cannot hurt, and it is a tidy place for an agent or a developer tool to find a plain-language summary of your store and your policies.

So: add one, keep it accurate, and move on. We publish our own, and we include llms.txt in Fix engagements. We would never suggest it is where the results come from. If someone offers to sell you llms.txt as a strategy, keep your money for feeds and schema.

How do robots.txt and bot rules affect AI agents?

robots.txt and firewall rules decide whether any of the above gets read at all, so check them before you do anything else. AI companies document the user agents they crawl with, and most run several for different purposes.

  • OpenAI documents OAI-SearchBot for search indexing, ChatGPT-User for pages fetched during a conversation, and GPTBot for model training.
  • Anthropic and Perplexity document their own crawlers and user-triggered fetchers in the same way.
  • Google uses Googlebot for search, and offers Google-Extended as a control for use of content in its AI models.

The distinction to hold on to is between training and retrieval. Blocking a training crawler is a policy choice about your content. Blocking a search or user-triggered fetcher means the agent cannot look at your page when a shopper asks about you. Many stores have blocked both without meaning to, through a blanket rule or a CDN bot-protection default. Check the vendors' current documentation for the exact user-agent names, since they change.

What order should you do this in?

Do it in order of how many agents each step affects and how badly a failure hurts: access, then page facts, then schema, then feeds, then citations, then llms.txt.

  1. Open the door. Review robots.txt and bot rules so retrieval agents are allowed in.
  2. Put the facts on the page as text. Price, stock, delivery and returns, visible in the first render.
  3. Add complete JSON-LD for Product, Offer, shipping and returns on every product template. Validate it.
  4. Stand up and monitor your feeds. Merchant Center first if you do not have it, then ACP and UCP. Alert on price or stock mismatches.
  5. Work on third-party coverage. Reviews, buying guides, forums. It is slow, so start early. See the citation steps in our checklist.
  6. Add llms.txt and keep your sitemap clean. An afternoon's work.
  7. Measure. Track candidate-set presence before and after so you know what worked.

If you would like to know where your store stands against this list, the free check scores one product URL. The Audit covers every template and feed, with pricing on the page, or you can talk to us about scoping a fix.

Key takeaways

  • Agents read three versions of your product: feeds, the live page with its schema, and the open web. They must agree.
  • Feeds and Product/Offer schema carry the facts agents verify. They are the high-priority work.
  • llms.txt is cheap and harmless, but no major agent has confirmed using it for recommendations.
  • Separate training crawlers from retrieval agents in your robots.txt and bot rules. Blocking retrieval makes you invisible.
  • Generate page, schema and feed from one data source so they cannot drift apart.

Questions and answers

Does llms.txt improve AI recommendations?

There is no confirmed evidence that it does. llms.txt is a proposed convention, and no major AI company has publicly committed to using it as a signal for answers or product recommendations. It is cheap and harmless, so add one, but prioritize feeds and schema.

Which schema types matter most for AI shopping agents?

Product with a complete Offer comes first: price, currency, availability, brand, SKU and GTIN. Then AggregateRating and Review for genuine reviews, OfferShippingDetails for delivery, MerchantReturnPolicy for returns, and Organization site-wide. The markup must match what the page visibly says.

What are ACP and UCP?

ACP is the Agentic Commerce Protocol, an open standard from OpenAI developed with Stripe for supplying product feeds to ChatGPT and completing purchases in the conversation. UCP is Google's Universal Commerce Protocol, an open standard for agent-led discovery and checkout across Google's surfaces.

Should I block AI crawlers in robots.txt?

Separate training from retrieval. Blocking a training crawler such as GPTBot or using Google-Extended is a content policy choice. Blocking search or user-triggered fetchers such as OAI-SearchBot and ChatGPT-User stops agents from reading your pages when a shopper asks about you.

Do AI agents run JavaScript on product pages?

It varies. Browser agents load the full page with scripts. Many crawlers and fetchers do not, or do so inconsistently. The safe approach is to have price, stock, delivery and returns present in the initial HTML, with JSON-LD in the page source.

Written by the team at Recommended by Agents. Published . Spotted something out of date? Tell us and we will fix it.

One partner makes you findable.

Start with the free check, or book a thirty-minute readiness call.