Keeping a shop readable by AI assistants
Making a shop readable to AI assistants is about a day of work. Keeping it readable is the actual job, and the defaults are quietly working against you.
People increasingly ask an assistant rather than a search engine. If the answer names three suppliers in your category and you are not one of them, that is a channel you are absent from, and no report in your analytics will tell you.
Getting readable is not hard. Staying readable is the part nobody does.
Start by checking you are not blocking them
This is the one that catches people, because the block is often not something anyone chose.
Fetch your own robots.txt over the network and compare it to the copy in your repository. On a site I audited recently the live file carried Disallow rules for nine AI crawlers that appear nowhere in the project. The CDN was rewriting the file at the edge, with the option enabled by default.
curl -s https://your-domain.com/robots.txtIf the live file has rules your repository does not, something in front of your origin is writing them. That is a legitimate choice if your content is the product. It is a bad accident if you were hoping to be cited.
Then make the content readable without JavaScript
Most assistants read the HTML you serve. If your product data assembles client-side, an assistant sees an empty shell, exactly as an old-fashioned crawler would.
Server-render the parts that carry meaning: name, price, availability, specifications, the description. This is the same work as ordinary SEO, which is the good news.
Structured data does more work here than it used to
Product, Offer, availability, price, currency, and review data if you have it. Structured data has always been a hint for search engines. For an assistant trying to answer a specific question it is closer to the primary source, because it is the part of the page that does not require interpretation.
And then the actual job
Everything above is a day, maybe two. Here is why it does not hold.
A CDN or security setting changes a default and starts blocking crawlers, without a deploy and without a line in your codebase.
A redesign moves content into a client-side component and the server-rendered version quietly thins out.
A structured data field stops being populated because an import changed, and nothing validates it.
A new consent or bot-protection layer challenges non-browser traffic, which includes every assistant.
None of these produce an error. Each of them removes you from the channel silently, and you find out months later when somebody asks the assistant a question about your category and you are not in the answer.
So the practical advice is dull: put the robots.txt check and a structured-data check into whatever already runs against production on a schedule. Readability is not a project you finish. It is a thing that decays unless something is watching it.
