I've written here before about fixing robots.txt for the AI bots and checking your store's ChatGPT visibility with a free audit module. This post zooms out and puts the whole thing in one place: the four layers that decide whether an AI assistant can find, trust, and recommend your Magento store β and the honest data on which layers actually matter in 2026.
Default Magento 2 typically scores around 23% on an AEO audit across the stores I've measured. Not because anything is broken β because every one of these signals ships off by default and nobody flipped them on.
Here's the stack, in priority order.
The most common failure, and almost always accidental. A robots.txt
written for Google in 2019 says nothing about the AI fleet, and some security/hardening configs block unknown bots β which now includes the crawlers feeding ChatGPT, Claude, Gemini, and Perplexity.
There's no single user-agent to allow. In 2026 you're dealing with ~10 distinct AI bots across four platform families. Minimal explicit allow-list:
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
Sitemap: https://yourstore.com/sitemap.xml
Key gotcha: ** Google-Extended is not Googlebot.** Blocking it doesn't touch your Google ranking β it only governs whether Google's AI products may use your content. Tons of sites blocked it during the 2023β24 anti-scraper panic and never revisited. If you want AI visibility, reconsider it.
Highest-leverage 20 minutes in the whole stack. Do it first.
This one is Magento-specific and it's the difference between being eligible for AI Shopping answers and being silently dropped.
Default Magento 2 outputs product structured data as microdata, not JSON-LD. AI extraction systems strongly prefer JSON-LD β a clean, self-contained block they can parse without reconstructing meaning from scattered HTML attributes.
And the field that quietly kills you:
offers.availability
is frequently missing β and ChatGPT Shopping will skip a product with no availability signal entirely.
From the model's side, it's assembling a purchasable recommendation. A product it can't confirm is in stock is a liability, so it drops it. No warning. You just don't appear.
Correct, AI-friendly block:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Pre-Seasoned Cast Iron Skillet 12\"",
"sku": "CAST-SKILLET-12",
"brand": { "@type": "Brand", "name": "YourBrand" },
"offers": {
"@type": "Offer",
"url": "https://yourstore.com/cast-iron-skillet-12",
"priceCurrency": "EUR",
"price": "59.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "212"
}
}
</script>
Three traps:
availability
to real stockInStock
. A model that recommends your out-of-stock item once learns to distrust your feed.Verify it's in the raw HTML (no JS):
curl -s https://yourstore.com/your-product | grep -A30 'application/ld+json'
Nothing returned = the AI layer sees nothing.
llms.txt
is a Markdown file at your root giving AI systems a curated map of your store β to LLMs what robots.txt is to crawlers, but editorial rather than access-control.
Now the honest part. The "llms.txt boosts your AI rankings" pitch isn't supported by 2026 data:
llms.txt
. That's 0.1%.So why ship it? Because it's a Business-to-Agent (B2A) play, not an SEO play. Agentic and IDE-style tooling already fetches it, agentic commerce is heading the same way, and conventions like this often get published before platforms formally commit (robots.txt predated official search-engine support). It's half a day of cheap insurance.
> Premium cast iron and carbon steel cookware. EU-based, ships across Europe,
> 30-day returns, mid-range pricing.
## Categories
- [Cast Iron Skillets](https://yourstore.com/cast-iron)
- [Dutch Ovens](https://yourstore.com/dutch-ovens)
## Buying Guides
- [Cast iron vs carbon steel](https://yourstore.com/guides/cast-vs-carbon)
## Policies
- [Shipping & Returns](https://yourstore.com/shipping)
Ship it, spend the half day, then stop optimizing it and put your energy into Layers 1, 2, and 4. And remember: a stale llms.txt
is worse than none β wrong stock claims train models to distrust you.
The 2026 shift bigger than schema tweaks: AI is moving from discovery ("here are some pans") to transaction ("I bought the pan for you"). Two protocols define that layer, and Magento merchants β unlike Shopify merchants β wire it up themselves.
/.well-known/ucp
.Reality check:
Shopify gets much of this by partnership default. Magento/Adobe Commerce: you own the stack β full control, full responsibility.
robots.txt
so the AI fleet can crawl you. (~20 min, highest leverage)offers.availability
. (HyvΓ€ users: confirm you have curl
. Not in raw HTML = invisible.llms.txt
as cheap B2A insurance, then leave it.Google decides whether you rank. AI engines increasingly decide whether you exist in the answer. Two separate jobs now.
The open-source modules behind this (AEO audit CLI, llms.txt generator, multi-store AI description tooling) are on Packagist and documented at angeo.dev. The llms.txt and ACP/UCP figures come from independent 2026 studies β verify current spec versions as you implement, this area moves monthly.
If you've pulled your own AI-bot server logs on a Magento store, drop the numbers in the comments β real crawler data is still scarce and I'd like to compare.