Four labels, two actual stacks
The acronym inflation of the past two years has produced four working labels. SEO for search engines. AEO for answer engines. GEO for generative engines. AIO for AI optimisation generally.
These are industry labels. No major platform vendor documents them as product categories. That does not make them useless, but it does mean you should not expect a vendor page that tells you how to do GEO.
Underneath the labels there are two stacks, and they are genuinely different. Confusing them is the main way merchants waste money in 2026.
Stack one is the web stack. Crawling, indexing, snippets, structured data for rich results. This is what determines whether your pages can appear in search results and in generative AI answers built on search.
Stack two is the commerce stack. Catalogues, feeds, protocols, agent profiles, checkout attributes. This is what determines what a shopping agent knows about your products and whether it can transact.
They share almost nothing operationally. Work on one does not carry over to the other.
Generative AI search readiness is ordinary SEO
This is not an opinion. It is what Google's documentation says.
The optimisation guide for generative AI features states the entry condition: "To be eligible to be shown in generative AI features on Google Search, a page must be indexed and eligible to be shown in Google Search with a snippet."
Indexed. Snippet-eligible. Both are classical SEO conditions with classical diagnostics.
The same guide removes the additions that are commonly sold as generative-AI-specific work:
- "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add."
- "You don't need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search (including its generative AI capabilities)."
- "There's no requirement to break your content into tiny pieces for AI to better understand it."
The companion page, "AI features and your website", lists the controls that exist as nosnippet, data-nosnippet, max-snippet and noindex, and repeats that "There's also no special schema.org structured data that you need to add."
So for the GEO column of your spreadsheet, the documented action list on Google is: get indexed, stay snippet-eligible, do not accidentally suppress yourself. That is SEO with a different label on the invoice.
The answer-engine side has its own measurement, which is a separate topic. Bing Webmaster Tools reports citations and grounding queries, and Bing itself states that the citation metric "does not indicate ranking, authority, or the role of any page within an individual answer." Measurement of answer surfaces exists. A documented optimisation method for them does not.
Agent readiness is a different stack entirely
Nothing in the previous section gets a shopping agent to recommend your product, because shopping agents are not reading your indexed pages.
Shopify's Help Center states that "Shopify Catalog is the primary method for agentic storefronts to receive your product data", with products listed by "their title, description, options, images, price, availability, and other key attributes, all structured in a way that AI agents can parse and understand."
Shopify's agent documentation describes the platform layer as UCP plus "Shopify's UCP-compliant MCP servers". The Storefront Catalog MCP endpoint "requires an agent profile — every request must include a meta.ucp-agent.profile URL". Since the Spring '26 developer edition, "Developers don't apply for UCP access, they register their agent profile in the Developer Dashboard and call the public MCP endpoint."
Google's side runs through Merchant Center. "You remain the Merchant of Record", and "Only product listings using the native_commerce(checkout_eligibility) product attribute will display the 'Buy' button."
OpenAI's side runs through a feed. Merchants "provide a secure, regularly refreshed feed (CSV or JSON)", with nine required discovery fields: item_id, title, description, url, brand, seller_name, image_url, availability, price. "Search defaults to enabled and checkout to disabled", and "OpenAI is not the merchant of record in the Agentic Commerce Protocol. Merchants are expected to bring their own PSP."
Look at the vocabulary. Agent profiles. MCP endpoints. Product attributes. Feed fields. Merchant of record. Payment service providers. None of these words appear in a discussion of indexing and snippets, because this is a different system.
Where schema.org actually sits
Schema.org markup has a real job. It is just not the job it is currently being sold for.
Google's Product structured data documentation says Product markup drives richer results in Search, Images and Lens, plus merchant listing eligibility.
What that page does not do is mention AI features or shopping agents at all.
Combine that with the generative AI guide's statement that no special schema.org markup is needed for generative AI search, and the position is clear on both sides:
- Product schema earns rich results and merchant listing eligibility. Keep it correct.
- Product schema is not the entry ticket to generative AI answers. Google says so.
- Product schema is not the agent interface. The agent interface is Shopify Catalog, the Merchant Center attribute, and vendor feeds.
The practical Shopify consequence is that schema and catalogue data are two separate outputs of the same underlying product record, and both can be wrong independently. A store can have flawless Product markup on its theme and an incomplete catalogue record, or the reverse.
llms.txt: what it is, and what nobody documents
The llms.txt specification is published at llmstxt.org by Jeremy Howard, first published 3 September 2024 and modified 10 August 2026.
Two observations, both verifiable from the vendor documentation itself.
AI labs publish llms.txt for their own developer documentation. That is an authoring convention for docs sites. It is evidence that the format is used, not evidence that it is consumed from third-party sites.
No major AI vendor documents consuming llms.txt from third-party sites. OpenAI's and Perplexity's crawler pages mention llms.txt only as the index to their own documentation — the same authoring convention described above, not a statement that they read yours. Anthropic's crawler support article does not mention it at all. None of the three documents consuming the file from a site they crawl.
And Google is explicit in the other direction. The generative AI optimisation guide states that Google ignores llms.txt, alongside the broader statement that you do not need to create "new machine readable files, AI text files, markup, or Markdown" to appear in Google Search including its generative AI capabilities.
If you want to publish an llms.txt for a documentation site, that is a defensible authoring choice. If a Shopify app offers to generate one for your storefront and frames it as AI search optimisation, the documentation does not support the framing.
This is the cleanest test available for whether a vendor is selling evidence or vibes.
The robots.txt caveat that matters for agents
Robots directives are the backbone of crawler control, and they are not uniform in effect across AI user agents.
They work where the vendor says they work. OpenAI documents that OAI-SearchBot is "used to surface websites in search results in ChatGPT's search features" and that "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers." That is a direct, documented consequence: block that token and you leave that surface.
They are less absolute for user-initiated fetches. Perplexity documents that Perplexity-User "generally ignores robots.txt rules" because it is user-initiated. OpenAI documents that ChatGPT-User is "not used for crawling the web in an automatic fashion". Anthropic documents that "Claude-User supports Claude AI users."
The pattern across vendors is that automated crawling and user-initiated fetching are treated as different categories, and the second is where robots.txt guarantees weaken.
For a Shopify merchant the operational reading is that robots.txt is an effective instrument for training and search-index participation, and an unreliable instrument for preventing a person's assistant from fetching a page the person asked about.
Also separate the two Google tokens while you are in the file. Google-Extended is "a standalone product token that web publishers can use to manage whether content Google crawls from their sites may be used for training future generations of Gemini models", and it "does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search." The Search generative AI control is a different mechanism that "only affects whether your content can appear in certain Search generative AI features" and "isn't used as a ranking or inclusion signal affecting other parts of Search". It also "doesn't override publishers' other choices to participate in particular services, such as Merchant Center and Google Ads."
Three controls. Three effects. Decide each one on purpose.
The Cloudflare change that took effect on 15 September 2026
Cloudflare's July 2026 post sorts AI crawlers into three categories: Search, Agent and Training.
From 15 September 2026, on ad-monetized pages, Cloudflare blocks "Training and Agent" by default while Search stays allowed. The stated rationale is that "An ad is a signal that a website owner meant for a person to land there and see it."
The scope condition is narrow and specific: ad-monetized pages, behind Cloudflare. A default Shopify storefront is served by Shopify's infrastructure and is not typically ad-monetized. The reasonable reading is that this change does not apply to a standard storefront, and that it does apply if you operate a content site, publication or headless property behind your own Cloudflare zone with advertising on it.
Verify your own configuration rather than assuming. The relevant question is whether any domain you control sits behind a Cloudflare zone, and whether those pages carry ads.
Cloudflare's AI Crawl Control also reports "Total requests, allowed requests, unsuccessful requests, and total referrals" and "Top domains sending AI-driven referral traffic", with GraphQL API access and referral analytics gated to paid plans. That is the only crawler-side telemetry in this article, and it is available only to properties that route through Cloudflare.
Splitting your own checklist
Two columns, no overlap.
Web stack, for generative AI search eligibility:
- Product and collection URLs indexed
- Snippet eligibility intact across theme and apps
nosnippet,max-snippet,data-nosnippetandnoindexaudited and intentional- Google-Extended decided as a training question
- Search generative AI control decided as a separate appearance question
- Product structured data correct, for rich results and merchant listings
Commerce stack, for agent readiness:
- Catalogue fields complete: title, description, options, images, price, availability
- Metafields exposed through Catalog Mapping where they carry specifications
- Sales channels, then Agentic, reviewed rather than assumed
- Merchant Center listings checked for
native_commerce(checkout_eligibility)if agentic checkout matters to you - Brand and seller name populated, since OpenAI's feed requires both
- Merchant of record and PSP responsibilities understood, because neither Google nor OpenAI takes them on
Neither column contains llms.txt.
What a scan can and cannot tell you
Rank Sniper runs a free public scan that scores a storefront's catalogue data against a published rubric, and publishes that methodology. That is the whole of what it does today.
A scan of this kind can tell you what the structured fields on your catalogue contain and where the rubric finds them incomplete. That is a description of your data.
It cannot tell you whether an AI system will cite you, recommend you, or transact with you. No publisher-side source in this article documents a metric for the first two, and the third is governed by attributes and feed configuration on platforms you administer yourself. Treat any tool that promises AI visibility outcomes as making a claim its sources cannot support.
The taxonomy is the useful deliverable here. Know which stack a task belongs to, check the vendor documentation for that stack, and decline the work that neither stack's documentation asks for.
Related reading
- Field guide: llms.txt for Shopify
- SEO is not dead. It just stopped being the whole job
- Run the free scan on your own storefront
Sources
- Optimizing your website for generative AI features on Google Search — Google Search Central, updated 2026-07-10
- AI features and your website — Google Search Central, updated 2025-12-10
- Product structured data — Google Search Central, updated 2025-12-10
- List of Google's common crawlers — Google, updated 2026-07-14
- Search generative AI control — Google Search Console Help, as of 2026-08-31
- Merchant Center UCP requirements — Google Merchant Center Help
- Universal Commerce Protocol for merchants — Google
- Introducing AI Performance in Bing Webmaster Tools (Public Preview) — Microsoft Bing Webmaster Blog, 2026-02-10
- Your site, your rules: new AI traffic options for all customers — Cloudflare, 2026-07-01
- Analyze AI traffic — Cloudflare docs, updated 2026-04-23
- OpenAI crawlers — OpenAI
- Product feed specification — OpenAI
- Agentic commerce key concepts — OpenAI
- Does Anthropic crawl data from the web, and how can site owners block the crawler — Anthropic, updated 2026-04-07
- PerplexityBot and Perplexity-User — Perplexity
- Build commerce agents with UCP — Shopify Developer Documentation
- Storefront Catalog MCP — Shopify Developer Documentation, 2026-08-25
- Agentic storefronts: products — Shopify Help Center
- Agentic commerce for every developer: The Spring '26 Edition — Shopify, 2026-06-17
- The /llms.txt file — Jeremy Howard, published 2024-09-03, modified 2026-08-10
