DEV Community

Cover image for The 4-Layer Magento 2 AEO Stack: Making Your Store Visible to ChatGPT, Claude & Gemini (2026)
Ievgenii Gryshkun
Ievgenii Gryshkun

Posted on • Originally published at angeo.dev

The 4-Layer Magento 2 AEO Stack: Making Your Store Visible to ChatGPT, Claude & Gemini (2026)

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.

Layer 1 — robots.txt: you're probably blocking the bots you want

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
Enter fullscreen mode Exit fullscreen mode

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.

Layer 2 — JSON-LD: Magento ships the wrong format and skips the one field that matters

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>
Enter fullscreen mode Exit fullscreen mode

Three traps:

  • Don't inject schema via GTM. AI crawlers generally don't execute JavaScript, so tag-manager-injected schema is invisible to them even though it validates in DevTools. It must be server-rendered.
  • Hyvä themes ship with zero product schema by default — neither microdata nor JSON-LD. If you migrated to Hyvä for speed, you may have silently dropped your structured data. Check now.
  • Bind availability to real stock, never a hardcoded InStock. 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'
Enter fullscreen mode Exit fullscreen mode

Nothing returned = the AI layer sees nothing.

Layer 3 — llms.txt: ship it, but not for the reason you've been sold

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:

  • A 300k-domain study found ~10% adoption; among the 50 most AI-cited domains, only one had the file.
  • One vendor logged 62,100 AI bot visits over 90 days — 84 hit llms.txt. That's 0.1%. Another tracking 500M+ bot events found GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and Google-Extended overwhelmingly skip it and crawl HTML directly.
  • OpenAI, Anthropic, and Perplexity haven't committed to reading it automatically.

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.

# YourStore

> 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)
Enter fullscreen mode Exit fullscreen mode

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.

Layer 4 — ACP & UCP: the part that's actually about money

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.

  • ACP (OpenAI + Stripe) — live in ChatGPT since late 2025; settled into a discovery-and-feed role. You submit a spec-compliant feed, ChatGPT surfaces products, checkout uses delegated single-use payment tokens, with a transaction fee on completed Instant Checkout orders.
  • UCP (Google + Shopify + 20-plus partners incl. Walmart, Target, Visa, Mastercard) — announced at NRF Jan 2026, expanded at Google Marketing Live in May. Broader, protocol-agnostic (REST, MCP, A2A), spanning discovery → cart → checkout → post-purchase across Google AI Mode, Gemini, YouTube, Gmail. Agents discover capabilities via /.well-known/ucp.

Reality check:

  • It's not "pick one." They target different agent ecosystems; dual-protocol merchants reportedly see meaningfully more agentic traffic.
  • Most groundwork is shared — clean schema, an accurate live feed, defined shipping/return/pricing policies are prerequisites for both and survive any spec reshuffle (ACP already pivoted away from native checkout once).
  • Sensible Magento order: solid Layers 1–3 → ship ACP feed → prepare UCP manifest.

Shopify gets much of this by partnership default. Magento/Adobe Commerce: you own the stack — full control, full responsibility.

TL;DR priority order

  1. Fix robots.txt so the AI fleet can crawl you. (~20 min, highest leverage)
  2. Emit server-rendered JSON-LD with a live offers.availability. (Hyvä users: confirm you have any schema.)
  3. Verify with no-JS curl. Not in raw HTML = invisible.
  4. Ship llms.txt as cheap B2A insurance, then leave it.
  5. Build the shared commerce substrate, attach ACP, then UCP.

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.

Top comments (0)