{"slug": "the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-2026", "title": "The 4-Layer Magento 2 AEO Stack: Making Your Store Visible to ChatGPT, Claude & Gemini (2026)", "summary": "A developer has outlined a four-layer \"AEO stack\" for Magento 2 stores to achieve visibility with AI assistants like ChatGPT, Claude, and Gemini in 2026. The stack prioritizes proper `robots.txt` configuration for AI bots, switching product structured data from microdata to JSON-LD with accurate availability signals, and implementing an `llms.txt` file as a Business-to-Agent (B2A) play. Default Magento 2 stores typically score only 23% on an AEO audit, with the most common failure being a `robots.txt` that blocks unknown AI crawlers or omits key user-agents like Google-Extended.", "body_md": "I've written here before about [fixing robots.txt for the AI bots](https://dev.to/angeo/how-to-fix-robotstxt-for-chatgpt-and-gemini-in-magento-2-4e11) and [checking your store's ChatGPT visibility with a free audit module](https://dev.to/angeo/how-to-check-if-your-magento-store-is-visible-to-chatgpt-free-aeo-audit-module-4hkm). 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.\n\nDefault 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.\n\nHere's the stack, in priority order.\n\nThe most common failure, and almost always accidental. A `robots.txt`\n\nwritten 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.\n\nThere'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:\n\n```\nUser-agent: GPTBot\nAllow: /\n\nUser-agent: OAI-SearchBot\nAllow: /\n\nUser-agent: ChatGPT-User\nAllow: /\n\nUser-agent: ClaudeBot\nAllow: /\n\nUser-agent: PerplexityBot\nAllow: /\n\nUser-agent: Google-Extended\nAllow: /\n\nSitemap: https://yourstore.com/sitemap.xml\n```\n\nKey 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.\n\nHighest-leverage 20 minutes in the whole stack. Do it first.\n\nThis one is Magento-specific and it's the difference between being eligible for AI Shopping answers and being silently dropped.\n\n**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.\n\nAnd the field that quietly kills you:\n\n`offers.availability`\n\nis frequently missing — and ChatGPT Shopping will skip a product with no availability signal entirely.\n\nFrom 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.\n\nCorrect, AI-friendly block:\n\n```\n<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org/\",\n  \"@type\": \"Product\",\n  \"name\": \"Pre-Seasoned Cast Iron Skillet 12\\\"\",\n  \"sku\": \"CAST-SKILLET-12\",\n  \"brand\": { \"@type\": \"Brand\", \"name\": \"YourBrand\" },\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"url\": \"https://yourstore.com/cast-iron-skillet-12\",\n    \"priceCurrency\": \"EUR\",\n    \"price\": \"59.00\",\n    \"availability\": \"https://schema.org/InStock\",\n    \"itemCondition\": \"https://schema.org/NewCondition\"\n  },\n  \"aggregateRating\": {\n    \"@type\": \"AggregateRating\",\n    \"ratingValue\": \"4.7\",\n    \"reviewCount\": \"212\"\n  }\n}\n</script>\n```\n\nThree traps:\n\n`availability`\n\nto real stock`InStock`\n\n. A model that recommends your out-of-stock item once learns to distrust your feed.Verify it's in the raw HTML (no JS):\n\n```\ncurl -s https://yourstore.com/your-product | grep -A30 'application/ld+json'\n```\n\nNothing returned = the AI layer sees nothing.\n\n`llms.txt`\n\nis 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.\n\nNow the honest part. **The \"llms.txt boosts your AI rankings\" pitch isn't supported by 2026 data:**\n\n`llms.txt`\n\n. 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.\n\n```\n# YourStore\n\n> Premium cast iron and carbon steel cookware. EU-based, ships across Europe,\n> 30-day returns, mid-range pricing.\n\n## Categories\n- [Cast Iron Skillets](https://yourstore.com/cast-iron)\n- [Dutch Ovens](https://yourstore.com/dutch-ovens)\n\n## Buying Guides\n- [Cast iron vs carbon steel](https://yourstore.com/guides/cast-vs-carbon)\n\n## Policies\n- [Shipping & Returns](https://yourstore.com/shipping)\n```\n\nShip 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`\n\nis worse than none — wrong stock claims train models to distrust you.\n\nThe 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.\n\n`/.well-known/ucp`\n\n.Reality check:\n\nShopify gets much of this by partnership default. Magento/Adobe Commerce: you own the stack — full control, full responsibility.\n\n`robots.txt`\n\nso the AI fleet can crawl you. (~20 min, highest leverage)`offers.availability`\n\n. (Hyvä users: confirm you have `curl`\n\n. Not in raw HTML = invisible.`llms.txt`\n\nas 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.\n\n*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.*\n\n*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.*", "url": "https://wpnews.pro/news/the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-2026", "canonical_source": "https://dev.to/angeo/the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-gemini-2026-bjd", "published_at": "2026-06-06 19:06:09+00:00", "updated_at": "2026-06-06 19:11:27.020674+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "generative-ai", "ai-tools", "ai-agents"], "entities": ["Magento", "ChatGPT", "Claude", "Gemini", "Perplexity", "Google", "AEO"], "alternates": {"html": "https://wpnews.pro/news/the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-2026", "markdown": "https://wpnews.pro/news/the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-2026.md", "text": "https://wpnews.pro/news/the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-2026.txt", "jsonld": "https://wpnews.pro/news/the-4-layer-magento-2-aeo-stack-making-your-store-visible-to-chatgpt-claude-2026.jsonld"}}