Checklist

Magento AEO Checklist 2026: 40 Checks

A single page with every check that decides whether AI systems can reach, read and use a Magento 2 store – from robots.txt and llms.txt to Product schema, feeds, agent endpoints and measurement. 40 checks, each with a way to verify it and a link to the full guide.

In one sentence

Everything a Magento store needs for AI search, in the order to do it, with a check you can run for each item.

Work top to bottom. Each check says what to do, how to verify it, and links to the full guide. Every item has its own anchor (#1 to #40), so you can link to a single check.

Where to start

Sections 1 to 3 decide whether AI systems can read the store at all. Do them first. Section 5 is a later stage: agentic commerce is early, and being early is a cost.

Access: can AI crawlers reach the store?

  1. Allow the AI search crawlers. OAI-SearchBot, Claude-SearchBot and PerplexityBot have Allow: /.
    Check: curl -s https://yourstore.com/robots.txt
    Guide: robots.txt for AI crawlers · #1
  2. Repeat your Disallow lines in every named group. A named group does not inherit from User-agent: * (RFC 9309). Order in the file does not matter.
    Check: Read each AI group: checkout, customer and search paths are there too
    Guide: AI crawlers for Magento 2 · #2
  3. Allow the user-triggered fetchers. ChatGPT-User, Claude-User, Perplexity-User open a page because a person asked.
    Check: Same file
    Guide: AI crawlers for Magento 2 · #3
  4. Decide about training on purpose. GPTBot, ClaudeBot, CCBot are training crawlers. Blocking them does not remove you from AI search.
    Check: Your choice is written down
    Guide: GPTBot vs OAI-SearchBot · #4
  5. Treat Google-Extended as a token, not a crawler. It controls Gemini training and grounding. It does not affect Search, AI Overviews or AI Mode.
    Check: No Google-Extended rule meant to leave AI Overviews
    Guide: Google-Extended · #5
  6. Check that no WAF or CDN rule blocks allowed bots. A 403 or 429 blocks a bot that robots.txt allows.
    Check: grep -E "OAI-SearchBot|Claude-SearchBot|PerplexityBot" access.log, then the status codes
    Guide: Free web scan · #6
  7. Point Sitemap lines at sitemaps only. Never Sitemap: .../llms.txt. The newest lastmod should be recent.
    Check: curl -s https://yourstore.com/sitemap.xml | head
    Guide: robots.txt for AI crawlers · #7
  8. Set the Search Console generative AI setting deliberately. Include is the default. Exclude only with a reason.
    Check: Search Console, Settings, Search generative AI
    Guide: Control AI Overviews · #8
  9. Add a Content-Signal line if you want to state use. For example search=yes, ai-input=yes, ai-train=no. A declaration, not enforcement.
    Check: The line is in robots.txt
    Guide: Content Signals and RSL · #9

Content: can AI systems read what you sell?

  1. Serve llms.txt at the root. HTTP 200, text/plain; charset=utf-8, an H1 and a real one-line summary – not an empty >.
    Check: curl -sI https://yourstore.com/llms.txt
    Guide: llms.txt · #10
  2. Follow llms.txt v2 where you can. Markdown mirrors, rel="alternate" and rel="describedby", and llms.txt links that point to the mirrors.
    Check: curl -sI https://yourstore.com/some-page/ | grep -i '^link'
    Guide: Markdown mirror · #11
  3. Do not call llms-full.txt part of the spec. It is an optional convention. Keep it small if you publish one.
    Guide: llms-full.txt · #12
  4. Publish llms.jsonl for the catalogue. One product per line, regenerated by cron.
    Check: curl -s https://yourstore.com/llms.jsonl | head -3
    Guide: llms.jsonl · #13
  5. Publish agents.md with your policy links. Delivery, returns and privacy are the links an agent must be able to quote.
    Check: curl -s https://yourstore.com/agents.md
    Guide: AGENTS.md · #14
  6. Render the product description in the server HTML. Not only inside a collapsed tab or after JavaScript.
    Check: View source and search for the first sentence of the description
    Guide: The description AI cannot read · #15

Structured data: can a parser trust the product?

  1. Output Product JSON-LD on the server. Not through Google Tag Manager.
    Check: curl -s PRODUCT_URL | grep -c 'application/ld+json'
    Guide: Product JSON-LD for AI search · #16
  2. Write availability as a full URI. https://schema.org/InStock, not InStock.
    Check: curl -s PRODUCT_URL | grep -o '"availability":"[^"]*"'
    Guide: offers.availability · #17
  3. Add sku, brand and GTIN or MPN. These match your listing to the same product elsewhere.
    Check: validator.schema.org on one product
    Guide: Product JSON-LD for AI search · #18
  4. Publish return and shipping policies. Store-wide on the Organization, exceptions on the Offer.
    Check: Rich Results Test on one product
    Guide: Return and shipping schema · #19
  5. Use one @id graph. One Organization @id, one Person @id, #product on products. No duplicate Organization or Article nodes.
    Check: Search the page source for "@id"
    Guide: Entity @id · #20
  6. On Hyvä, add the JSON-LD Hyvä does not emit. Hyvä has Product microdata, but no JSON-LD, brand, GTIN, shipping or returns.
    Guide: What Hyvä emits · #21
  7. Use FAQPage only for visible Q&A. Google shows no FAQ rich results since May 2026.
    Check: The questions are visible on the page
    Guide: FAQPage after May 2026 · #22
  8. Check canonical, hreflang and Open Graph. Filter and sort URLs should not compete with the product page.
    Check: Page source of a filtered category URL
    Guide: Magento 2 audit · #23

Feeds: can shopping surfaces use the catalogue?

  1. Generate an ACP feed with the nine required fields. Price as 79.99 USD. Variants as separate rows with a group_id.
    Check: bin/magento angeo:product-feed:generate, then check three rows
    Guide: ACP product feed · #24
  2. Keep feed and page in step. Same price and stock in both. Full snapshot at least daily.
    Check: Compare one product in the feed and on the page
    Guide: ChatGPT Shopping for Magento 2 · #25
  3. Apply at chatgpt.com/merchants. As of September 2026 there is a waitlist, and shopping is live for US users.
    Guide: ChatGPT Shopping for Magento 2 · #26
  4. Keep Google Merchant Center current. Google’s shopping surfaces lean on it.
    Check: Merchant Center diagnostics
    Guide: How each AI finds products · #27

Agentic: can an agent act? (later stage)

  1. Publish a UCP profile only for what you serve. Spec 2026-08-25, public keys in keys[], no redirects, {} for empty registries.
    Check: curl -sI https://yourstore.com/.well-known/ucp
    Guide: /.well-known/ucp · #28
  2. Check authority binding. A schema URL on the wrong host is rejected silently.
    Check: bin/magento angeo:ucp:validate
    Guide: Authority binding · #29
  3. Start MCP read-only, keep it out of the page cache. Add checkout tools only with server-side limits.
    Check: bin/magento angeo:mcp:tools
    Guide: MCP for Magento · #30
  4. Plan for MCP 2026-07-28. server/discover and per-request versions; no sessions.
    Guide: MCP 2026-07-28 · #31
  5. Serve an A2A Agent Card only if you declare A2A. At /.well-known/agent-card.json, not the old agent.json.
    Check: curl -sI https://yourstore.com/.well-known/agent-card.json
    Guide: A2A Agent Card · #32
  6. Keep payments with your provider. You stay merchant of record. The agent never holds the card number.
    Guide: Merchant of record · #33

Measure: is it working?

  1. Run the audit and keep the score history. 20 signals from inside, 14 from outside.
    Check: bin/magento angeo:aeo:audit
    Guide: AEO score · #34
  2. Read the GA4 AI Assistant channel, plus a custom group. The native channel is a lower bound.
    Check: GA4, Traffic acquisition, Session default channel group
    Guide: GA4 AI Assistant channel · #35
  3. Check Search Console and Bing AI reports. Search Console shows AI impressions; Bing shows citations.
    Check: Both reports, monthly
    Guide: How to measure AI visibility · #36
  4. Measure share of voice on fixed prompts. Repeat runs, and keep grounded and ungrounded runs apart.
    Check: The same prompt set every month
    Guide: AI share of voice · #37

Maintain: does it stay right?

  1. Keep cron running. Stale llms files and sitemaps lower the score on their own.
    Check: bin/magento cron:run is scheduled
    Guide: Case study: 20% to 86% · #38
  2. Re-check crawler names every quarter. Agents are added, split and deprecated.
    Check: Compare against the dated list
    Guide: AI crawlers for Magento 2 · #39
  3. On Adobe Commerce Cloud, purge Fastly after robots changes. Otherwise crawlers read the cached file.
    Check: Check the live file, not the admin
    Guide: robots.txt for AI crawlers · #40

Use this checklist

Link to it, quote it or copy it into your own process – a link back to the item you use is appreciated. A plain Markdown version is at /magento-aeo-checklist/index.md. Found a check that is wrong or missing? Email info@angeo.dev; corrections are listed with the date.

Questions

What is a Magento AEO checklist?
A list of the checks that decide whether AI systems such as ChatGPT, Claude, Perplexity and Google’s AI features can reach, read and use a Magento store. This one has 40 checks in seven groups, each with a way to verify it.
Where should I start?
With access, content and structured data: robots.txt for AI crawlers, llms.txt, server-rendered Product JSON-LD with availability. Without these, nothing later matters.
Does completing the checklist get my store recommended by ChatGPT?
No. It makes the store readable and usable for AI systems. Whether an assistant names it also depends on price, reviews and coverage on other sites.
How often should I go through it?
Once in full, then the measure and maintain sections monthly. Re-check crawler names every quarter.

Related

Sources

Checked 28 September 2026. Each item links to a guide with its own verification date. Disclosure: we build the open-source modules and the audit referenced on this page.

More on this topic