Writing

AI Visibility

Why your Shopify store is invisible to ChatGPT — and how to fix it

AI assistants recommend products every day. Most Shopify stores are structurally unable to be recommended. Here is exactly what ChatGPT, Claude, Gemini and Perplexity read, why the default Shopify setup fails, and how to fix it in an afternoon.

August 4, 2026 · 14 min read

Most Shopify stores are invisible to ChatGPT because AI crawlers are blocked in robots.txt, the store has no llms.txt or agents.md guide, product descriptions are too thin to answer a buying question, and product pages lack structured data — four fixable problems, none of which are visible in Shopify's own admin.

A shopper opens ChatGPT and types: "best unscented shampoo for a sensitive scalp under $30." They get four specific products, three store names, and links. They click one. They buy. That entire journey happened without a search engine results page, without an ad auction, and — for the overwhelming majority of Shopify stores — without any possibility that your products were among the four.

This is not because your products are worse. It is because AI assistants cannot read your store. That is a technical condition with technical causes, and unlike ranking on Google, most of it is fixable in an afternoon by one person with admin access. This article covers exactly what those assistants read, the four specific things that block a default Shopify store, how to diagnose each one yourself, and how to tell whether the fix actually worked.

What AI assistants actually read

There is a widespread assumption that AI assistants answer shopping questions from their training data. For product recommendations, that is mostly wrong, and the distinction matters enormously for what you should do about it.

When a shopper asks for a product recommendation today, the assistant performs a live retrieval step: it issues searches, fetches pages, and reads them at the moment of the question. ChatGPT does this through its browsing and search tooling, Perplexity is built entirely around it, Gemini grounds answers with Google Search, and Claude has web search. The answer you get is assembled from pages fetched seconds earlier — which is why assistants can recommend a product launched last week.

That live fetch is performed by named crawlers, and this is where most stores fail before the race starts. Each assistant operates its own user agent, and each can be allowed or blocked independently in your robots.txt:

AssistantCrawler user-agentWhat it does
ChatGPTGPTBot, OAI-SearchBot, ChatGPT-UserIndexing, search results, and live fetches on behalf of a user's question
ClaudeClaudeBot, Claude-UserIndexing and live fetches during web search
PerplexityPerplexityBot, Perplexity-UserIndexing and per-question retrieval
GeminiGoogle-ExtendedControls Gemini's use of your content, separately from Googlebot
The crawlers that matter for product discovery

Note the last row carefully. Google-Extended is a separate control from Googlebot. It is entirely possible — and common — for a store to rank respectably on Google Search while being invisible to Gemini, because someone once added a directive intended to keep content out of AI training and inadvertently opted out of AI recommendations too.

The four things blocking your store

In practice, failures cluster into four causes. They compound: fixing crawler access does nothing if your product pages have nothing worth reading, and world-class product copy is worthless if the crawler is turned away at the door.

1. Blocked crawlers

This is binary and it is the first thing to check. If your robots.txt disallows GPTBot, no amount of content work matters for ChatGPT. Shopify's default robots.txt does not block AI crawlers — but many stores are not running the default. Common culprits: an SEO app that added directives, a theme customisation from a developer who read an article about AI scraping, a robots.txt.liquid template edited during a migration, or a Cloudflare or hosting-level bot rule that blocks by user agent before the request ever reaches Shopify.

2. No store guide (llms.txt / agents.md)

A crawler that reaches your store still has to work out what you sell, who you are, and which pages matter. It does that by crawling and inferring — unless you tell it directly. The emerging convention for that is a plain-text guide at your domain root: llms.txt, and increasingly agents.md, which state what the site is, what it sells, and which URLs are canonical for which purpose.

This is not a magic ranking file, and anyone selling it that way is overselling. What it does is remove ambiguity. An assistant deciding whether your store is a credible answer to "unscented shampoo for sensitive scalp" benefits from a page that says, in plain language, that you sell fragrance-free hair care for sensitive skin, here are the categories, here is the returns policy. Shopify now serves these natively via theme templates, which means publishing one is a template change rather than a hosting change.

3. Thin product content

This is the big one, and it is the one most merchants underestimate. Crawler access gets you read. Content quality gets you recommended. Those are different problems.

Consider what the assistant has to do. The shopper asked for unscented, sensitive-scalp, under $30. To recommend your product, the assistant needs to establish that it is unscented, that it suits a sensitive scalp, and that it costs under $30. If your product description reads "Amber Oud 50ml. Long lasting." — a real pattern, and a common one — the assistant has nothing to match against. It will not guess. It will recommend the competitor whose page says the thing explicitly.

Thin versionAnswerable version
Amber Oud 50ml. Long lasting.A hand-poured amber oud with warm resin and vanilla. Alcohol-free and unscented at the base, so it suits sensitive skin. Lasts 8+ hours; the 50ml bottle is refillable.
Matches: nothing. No attributes, no use case, no differentiator.Matches: longevity questions, sensitive-skin questions, refillable/sustainability questions, ingredient questions.
The same product, written two ways

The second version is not longer for the sake of length. Every clause answers a question a buyer actually asks. That is the test to apply to your own descriptions: for each sentence, what shopper question does this answer? If a description answers none, it will never be retrieved for any.

4. Missing structured data

Structured data — specifically schema.org Product markup — states your price, currency, availability, brand and review data in a machine-readable block rather than leaving it to be parsed out of page text. For a question with a hard constraint like "under $30", the difference between a stated price and an inferred one is the difference between being confidently included and being cautiously omitted.

Most Shopify themes include some Product schema. Many include it incompletely — missing availability, missing currency, or emitting it only on some template variants. It is worth verifying rather than assuming.

How to diagnose your own store in 15 minutes

  1. 1

    Check your robots.txt

    Visit yourstore.com/robots.txt. Search for GPTBot, ClaudeBot, PerplexityBot and Google-Extended. Any Disallow directive against these is a hard block. Also check for a blanket Disallow under User-agent: * that would catch them.

  2. 2

    Check for a store guide

    Visit yourstore.com/llms.txt and yourstore.com/agents.md. A 404 on both means assistants are inferring your catalogue rather than reading a description of it. Shopify serves a generic default for some stores — a generic file is better than nothing but describes Shopify, not you.

  3. 3

    Audit ten product descriptions

    Open ten product pages at random. For each, ask: which specific buyer question does this answer? Count how many answer none. In most stores this is more than half, and those products cannot be recommended for anything.

  4. 4

    Verify your structured data

    Run a product URL through Google's Rich Results Test. Confirm Product schema is present and that price, priceCurrency and availability are populated. Missing availability is the most common gap.

  5. 5

    Ask the assistants directly

    Open ChatGPT, Claude, Gemini and Perplexity. Ask each a genuine buying question in your category — the phrasing a customer would use, not your brand name. Record whether your domain appears in the answer or its citations. This is your baseline.

GEO and SEO are not the same discipline

Generative engine optimisation shares vocabulary with SEO and a fair amount of technical groundwork, but the objective function is different in ways that change what you prioritise.

Traditional SEOGenerative engine optimisation
GoalRank a page in a list of ten blue linksBe cited inside a single synthesised answer
Winner countTen results per query; positions 4–10 still earn clicksTypically three to five cited sources; the rest get nothing
Keyword modelMatch a query stringAnswer a question, including phrasings nobody typed before
Content shapeComprehensive pages that hold attentionSelf-contained passages that can be quoted without surrounding context
Feedback speedWeeks to monthsDays — retrieval is live
Primary failureOutranked by a stronger pageStructurally unreadable, so never considered at all
Where the two disciplines diverge

The last row is the one to internalise. In SEO, a weak page ranks poorly. In GEO, an unreadable store does not compete at all — it is not ranked tenth, it is absent. That is why the fixes above are worth doing before any sophisticated content strategy: they move you from ineligible to eligible.

Proving the fix worked

Here is where most AI-visibility advice stops, and where it should not. Publishing a llms.txt file and declaring victory is not a result. The honest question is whether assistants now recommend you when they did not before, and whether that produced revenue.

Two measurements, in order of usefulness. The first is citation rate: take a fixed set of buying questions in your category, ask each assistant weekly, and record how many return your domain. Because the set is fixed, the trend is meaningful even though the sample is small. The second is attributed revenue: some assistants tag outbound links, so orders can carry a signal identifying where the shopper came from. ChatGPT appends a utm_source parameter to links it produces, and referrers from assistant domains are visible in analytics.

This is the loop worth building: measure, diagnose, fix, publish, re-measure, and attribute. Nomu runs it on a schedule — probing the assistants weekly with buyer questions derived from your catalogue, diagnosing what is holding each engine back, drafting the fixes for your approval, publishing them to Shopify with the before-state captured so every change is reversible for thirty days, then re-checking after publication and reporting what happened to revenue. But the loop matters more than the tool: run it manually if you prefer. What does not work is treating AI visibility as a one-off configuration task.

Frequently asked questions

Does blocking AI crawlers protect my content?

It prevents your content being used for training, but it also removes you from product recommendations, because the same or closely related crawlers perform the live retrieval that produces those recommendations. For a publisher this trade-off can make sense. For a store that wants to sell, blocking is almost always the wrong call.

Is llms.txt an official standard?

It is a convention rather than a ratified standard, and adoption varies between assistants. It is cheap to publish and unambiguous when read, which makes it worth doing — but treat anyone promising guaranteed ranking improvements from a text file with scepticism.

How long until changes show up in AI answers?

Faster than SEO, because retrieval is live rather than dependent on a periodic index refresh. Days rather than months is a reasonable expectation, though it varies by assistant and by how often your pages are re-fetched.

Do I need to rewrite every product description?

No, and you should not start there. Rank your products by revenue and by traffic, and fix the ones that already sell or already attract visitors first. A thin description on a product nobody searches for costs you nothing; a thin description on your bestseller costs you every time an assistant answers a question it could have won.

Can I do this without an app?

Yes. Every fix in this article is a Shopify admin or theme change you can make yourself. Tooling helps with scale — auditing 400 products by hand is impractical, and measuring citation rate weekly across four assistants is tedious — but nothing here requires software to be correct.

Which assistant matters most for Shopify merchants?

ChatGPT has the largest consumer reach today and appends tracking parameters to outbound links, which makes it the easiest to attribute revenue from. Perplexity punches above its weight for considered purchases. Rather than choosing, measure all of them — the mix varies enormously by category and region.

The verdict

AI visibility is currently a technical problem masquerading as a marketing one. The stores winning recommendations are rarely the ones with the cleverest content strategy — they are the ones that are readable, explicit, and structured, while their competitors are accidentally blocking crawlers and shipping two-line product descriptions.

That will not last. The advantage available right now exists because most merchants have not checked. Spend the fifteen minutes on the diagnosis above, fix what it surfaces, and record your citation rate before and after. If it moves, you have found a channel your competitors do not know they are losing.

More in AI Visibility

Your store has growth opportunities. Let Nomu find them.

14-day free trial with full features. No card required. Under two minutes to your first opportunities.

Why Your Shopify Store Is Invisible to ChatGPT (2026 Fix Guide) · Nomu