Skip to content

Knowledge Base

agents.md on Shopify: 18 out of 18 still on the default

Louie Valkhof
Louie Valkhof
16 min read
Isometric 3D render of a grid of identical storefronts, each showing the same blank sign

What agents.md on Shopify is, and why yours probably still says nothing about your brand

Every Shopify store serves a file at /agents.md that calls itself the canonical, agent-facing description of the store. Since 28 May 2026 you are allowed to write that file yourself. On 12 August 2026 we checked eighteen Dutch Shopify stores. All eighteen answer at /agents.md. All eighteen still carry the text Shopify generates for them. Not one had written their own.

That is the measurement. The reason this article exists is the sentence underneath it. In the same weeks that this file opened up, a service appeared in the Dutch market selling you an llms.txt as AI visibility. Google states in its own documentation that it ignores those files for Search. So you pay for a file that does nothing for your Google rankings, while the file that actually gets served to shopping agents stays on the factory setting.

Those two things get mixed up constantly, including by people acting in good faith. This article separates them. What sits in your agents.md right now, how you can tell nobody has touched it, why Shopify actively announces it to crawlers, and what we still do not know. That last part is in here too, because we are not selling this yet.

What is agents.md on Shopify exactly?

A markdown file on your own domain, written for machines instead of visitors. Type /agents.md after your store address and you can read it. It is not a beta, not an app, and not a setting you enabled. It is simply there.

Shopify described the change in a changelog entry dated 28 May 2026: your store includes a default agents.md file at /agents.md, and the paths /llms.txt and /llms-full.txt point to that same content by default. The same entry states what you can do about it: add templates/agents.md.liquid under Online Store, Themes, Edit code. If no template exists for a given path, the system falls back to your agents.md template, and only then to the Shopify-generated default.

Read that fallback order again. One template controls three addresses. Anyone worried about llms.txt and llms-full.txt handles both with the file that actually matters, not the other way around.

The content is not a technical protocol but plain language. The file tells an agent who the store is, which addresses it may use to fetch products, how it creates a cart and where the policy pages live. Exactly the kind of information a seller would otherwise give in a conversation. Except nobody at the store wrote this conversation.

How we measured this, and where the measurement stops

We selected eighteen Dutch online stores whose Shopify origin was confirmed through the powered-by response header on a normal GET request. That detail matters more than it sounds: on a HEAD request the header is absent for some stores, which would lead you to conclude wrongly that they are not on Shopify.

For each store we fetched /agents.md and looked at three things: the status code, the content type the server sends along, and the order of the headings inside the file. All eighteen answer with a valid status and with markdown as the content type. All eighteen share the same heading structure, in the same order, with only the brand name and the store's own web addresses differing.

This is a sample of eighteen measured stores on a single day, not a statement about Dutch e-commerce as a whole. We therefore report the numbers as counts and not as a market figure. One of the eighteen is also an alias domain that answers every path with the homepage, so where page content is concerned we work with seventeen.

What we did not measure: whether a store does something about agent context elsewhere, through an app or through extra questions and answers alongside the generated set. That cannot be established from the outside. Our claim is narrow and checkable: on the file an agent opens first, all eighteen carry the generated text.

The proof that nobody touched it: one store is missing one block

Eighteen identical files could also mean that eighteen brands happened to write the same thing. So we went looking for the deviation instead of the similarity.

It sits at one store. Every other store we measured has a block in its agents.md headed ## Store Policies, with links to their policy pages underneath. At oilily.com that block is missing entirely. Not empty, not a placeholder, simply gone. The reason is verifiable: that store has not published those policy pages.

That is the closing argument. An editor writing a brand document without policy texts leaves the heading standing or writes something in its place. A generator that finds no policy texts drops the whole block. The content follows the store data, not a person.

There is a second signal pointing the same way. On the stores we measured, /llms.txt is identical to /agents.md except for a single sentence. That difference shows up in a byte comparison and it is the same difference at every store. Two files that match on all but one line across eighteen independent brands is not an editorial choice. That is one template.

We ran a version of this a week earlier on a smaller set, with the same outcome. How that broader shift works we covered earlier in agentic search and your webshop traffic, and the buying mechanics behind it in how AI agents buy products via Shopify. This article is about the file itself, and about which of the two files deserves your attention.

llms.txt is not SEO, and agents.md is not llms.txt

Without this distinction, this is just another piece about AI visibility. So here it is.

Google is unambiguous. Its guidance on generative AI and Search carries a list of things you can ignore, and at the top of it: you do not need to create new machine readable files, AI text files, markup or Markdown to appear in Google Search, because Google Search itself does not use them. Further down, more directly still: creating and maintaining such files will neither harm nor help your visibility or rankings in Google Search, because Google Search ignores them.

That is not an agency opinion. That is the party that builds the search engine. The same list carries three more items you currently see turning up in Dutch proposals: chopping your content into small pieces for AI, rewriting your texts specifically for AI, and adding extra schema markup because generative results supposedly require it. All three sit on that same list of things you can ignore.

Google adds one nuance worth keeping: maintaining an llms.txt is fine if another system actually reads it. That is precisely the opening, and it does not run through Google.

File Who reads it What Google does with it What it is worth
llms.txt in practice, almost nobody ignores it, explicitly nothing as a standalone service
agents.md shopping agents approaching your store ignores it as a ranking signal the first impression an agent gets of your brand
product and collection copy people and machines ordinary SEO the work you are doing anyway

The practical rule that follows: never pay for an llms.txt as an SEO service. But do not leave your agents.md on the factory setting either, on the grounds that Google does nothing with it, because Google is not the audience here.

Why this is not a dead file: Shopify announces it to crawlers itself

The easiest objection is that agents.md is a file that exists but that nobody fetches. That is checkable, and it does not hold.

We pulled the sitemap index of bocca.nl. The first entry in it, above products, above pages and above collections, is sitemap_agentic_discovery.xml. That is a separate sitemap that exists purely for agent discovery.

Open that sitemap and it holds exactly one address: the store's agents.md file, with a refresh frequency of weekly. One file, its own sitemap, at the top of the index. That is not an artefact. That is a platform actively telling a crawler where to start.

The same store shows what then gets found. The file carries a block recommending that agents install the Shop skill so they can buy directly, compare prices and track orders. Below that, the addresses of the Universal Commerce Protocol, with a step plan running from discovery to search, cart, checkout and completion. At the bottom, a block about the platform, with links to Shopify, to the protocol specification and to that same Shop skill.

It is a complete and well written document. It is just not written by you, and every routing link in it points your buyer at platform infrastructure rather than at your brand.

What is in your agents.md right now, and what is not?

The heading structure is the same at every store we measured. This is what an agent reads, in this order.

Block What it covers How much of it is about your brand
Shopping assistants the Shop skill as the recommended way to buy nothing
Commerce Protocol the two addresses an agent knocks on, and the steps nothing
Read-Only Browsing addresses for fetching products and collections nothing
Store Policies links to your policy pages your addresses
Platform Shopify, the protocol spec, the Shop skill nothing

At the top sits your brand name and one sentence saying this describes how agents interact with your store. That is it. Not a word about what your brand stands for, how your range is built, who you make things for, or why a buyer should choose you over the store next door.

That is understandable from Shopify's side. The platform cannot guess your positioning, so it writes down what it knows for certain: how the technology works. The problem is that the agent now has an answer anyway. A buyer asking why this brand gets a document about checkout protocols back, and then falls back on the only axes that are legible: price, stock and delivery time. That is exactly the mechanism we described in why cheap is not enough.

The odd part is that the text that belongs here usually already exists. Your positioning sits in your brand document, your category logic sits in your collection structure, your returns promise sits on your site. This is not a writing job from scratch. It is a move to an address nobody was looking at.

Why bol.com and Amazon do not have this button

This is not a general e-commerce development. It is one platform's choice, and the marketplaces are doing the opposite.

On the same day we requested the agent addresses of the large Dutch marketplaces. Bol returns an error on /agents.md, on /llms.txt and on /.well-known/ucp. Coolblue refuses the request. Amazon goes a step further: the robots.txt of amazon.nl carries more than a hundred user-agent rules, and the shopping agents of OpenAI, Anthropic, Google and Perplexity are each fully excluded there.

Your own Shopify store Bol and Amazon
Agent layer present yes, open and announced to crawlers no, or closed off
Who writes the brand story the platform, unless you do nobody, the layer does not exist
What carries your brand agents.md, collections, policy copy listing title, imagery, A-plus content
What it costs to fill in a template in your theme not possible

Two platforms, two opposite choices, the same customer. Shopify pushes the seller's brand story outward and fills it in itself when the seller does not. Amazon keeps brand contact to itself and does not let the agents in.

For anyone running both channels that is an argument for the owned channel that goes beyond margin. On your own store a brand layer exists and you can fill it. On the marketplace it does not exist, and your listing content stays the only signal. That is the same dividing line we described in why brands fail on marketplaces.

What we do not know yet, and why we are not selling this

An honest paragraph belongs here, because without it this is a sales pitch with a measurement wrapped around it.

What is established: the file exists on every Shopify store, Shopify documents how to override it, the fallback order sits in that same changelog, and at eighteen measured Dutch stores nobody has done it. All of that is verifiable from the outside and you can check it yourself with a browser.

What is not established: whether your own agents.md.liquid genuinely replaces the Shopify-generated store profile at every point an agent looks. That cannot be measured from the outside. For that you need your own Shopify store where you place the template and then read back what comes out. We have not run that test yet.

We are setting up that store before we offer this as a standalone service. Not because it is likely to go wrong, but because the gap between "the documentation says it can" and "we have seen it work" is exactly the gap a client is paying for. In six years of Oase Creative I have seen enough proposals where that gap was quietly skipped.

What you can use today: knowing the file exists, reading what it says, and asking the right question on your next webshop proposal. Anyone selling you an llms.txt as visibility is selling you something the largest search engine says does nothing for its rankings.

What you can check yourself this week

Four checks, all in your browser, a quarter of an hour together. You need no tooling and you change nothing yet.

  1. Open yourdomain.com/agents.md. Is there anything there? Then you run on Shopify and the file exists. Read the headings from top to bottom.
  2. Look for your own words. Beyond your brand name and your policy addresses, do you find anything you wrote? At all eighteen stores we measured, the answer was no.
  3. Open yourdomain.com/sitemap.xml. Is sitemap_agentic_discovery.xml at the top? Then your agent file is being actively offered to crawlers, even if you have never seen it.
  4. Look at your collection names. Those are the few fields in the product layer you control. Anything called "sale" or "new" is empty to an agent. "Hand-roasted single origin" is not.

The order is not random. The first two show what is currently being said about you. The third shows it is not sitting in a drawer. The fourth is the only part you can change this afternoon without calling anyone.

What you do after that is ordinary craft. Policy texts that are complete and factual, in English as well. Collection descriptions that name your range instead of your discounts. That last field does three things at once: it is the copy on your category page, it is your meta description, and it is the context an agent receives about your store. How that plays out on the SEO side sits in category page SEO on Shopify.

How we handle this on a Shopify delivery

We build online stores from the brand side, not from the technology. That means every project ends with a brand document containing a positioning, a tone of voice and a range logic. Those documents have always been written for people.

Since this measurement there is one extra deliverable attached. A Shopify build now includes its own agents.md template in the theme, carrying brand, category and returns context in plain language, instead of the generic protocol text. It is the same content we were writing anyway, at an address where we were not putting it before.

On existing stores it is a scoped one-day job: read what is there now, write the brand context, place the template, check it back. And the sentence from the previous section applies without exception: our own test store first, the invoice after.

What we do not do is promise this gets you into ChatGPT. Nobody can, and everyone promising it has read the same documentation we have. What we do is make sure the document an agent reads first about your store is yours. It is a small intervention with an uncomfortable consequence: right now, at eighteen out of eighteen measured Dutch brands, an agent reads the same story.

Want to know what sits at your address? Book a call and we will open it together, live, while you watch. If your visibility is off more broadly, an SEO track starts with the fields that do three jobs at once.

Frequently asked questions

What is agents.md on a Shopify store?

A markdown file every Shopify store serves automatically at /agents.md. It calls itself the canonical, agent-facing description of the store. Shopify generates the content from your store data and your policy pages. You do not switch it on, and you can read it by typing /agents.md after your domain.

Can I write my own agents.md on Shopify?

Yes. Shopify documented on 28 May 2026 that you can add templates/agents.md.liquid under Online Store, Themes, Edit code. That template controls what appears at /agents.md and doubles as the fallback for /llms.txt and /llms-full.txt. Of the eighteen Dutch stores we measured, none had one.

Does agents.md or llms.txt help my Google rankings?

No. Google writes in its own guidance on AI and Search that you do not need to create machine readable files to appear in Google Search, and that creating or maintaining them will neither harm nor help your visibility or rankings. For agent-driven purchases the answer is different, because those do not run through Google Search.

How do I know whether my agents.md is still the default?

Open yourdomain.com/agents.md and read the headings. If you see a block about the Shop skill, a block about the Universal Commerce Protocol, a block with read-only addresses and a block about the platform, you are reading the generated version. All eighteen stores we measured carried exactly that order, with only the brand name differing.

Do bol.com and Amazon have an agents.md too?

No. Bol returns an error on /agents.md, /llms.txt and /.well-known/ucp. Amazon does the opposite of Shopify and blocks the shopping agents of OpenAI, Anthropic, Google and Perplexity in its own robots.txt. On those channels your listing content stays the only brand signal you control.

Louie Valkhof
Louie ValkhofFounder & Art Director, Oase Creative
Knowledge Base

Frequently asked questions

Need help with execution?

From strategy to production. Tell us about your project — no strings attached.

Response within 24 hours.
Start a project?