Cordon

Is ChatGPT Scraping My Shopify Store? How to Tell, and What to Do

AI crawlers and shopping agents are visiting Shopify stores in growing numbers. Here is how to tell which ones are real, what they take, and why blocking all of them is usually the wrong call.

Bas Lefeber4 min read
Diagram: AI crawlers and shopping agents requesting Shopify product pages, separated into verified crawlers and unverified traffic claiming their names
On this page

TL;DR: Yes, AI crawlers are visiting Shopify stores, and their share of traffic is climbing. But they are not one thing: training crawlers, search indexers and shopper-triggered agents deserve different answers, and anything can claim their name in a user agent. Verify before you block, and be careful of blunt rules that catch Google too. See which crawlers your store currently allows.

The short answer

Probably, and so are several others.

OpenAI operates a few distinct crawlers. Anthropic runs ClaudeBot. Perplexity runs PerplexityBot. Google runs Google-Extended alongside Googlebot. Between them they are visiting a large share of the public web, and Shopify stores are not excluded.

The more useful question is not whether they are visiting, but which one, and why. Those answers point in different directions.

They are not all doing the same job

Lumping them together is where most merchants go wrong. There are three kinds and they deserve separate decisions.

Training crawlers collect content to train future models. GPTBot is the well-known one. There is no direct traffic back to you from this, so blocking it is a reasonable choice if you would rather your product descriptions and photography not become training data. It is a values call more than a commercial one.

Search indexers build the index behind AI search results. OAI-SearchBot and PerplexityBot are examples. These behave like classic search crawlers: they take your content and, in exchange, can surface you in answers. Blocking them is closer to blocking Bing than to blocking a scraper.

Shopper-triggered agents fetch a page because a person asked a question right now. ChatGPT-User is the clearest example. This is not scraping in any meaningful sense; it is a customer sending something to look at your store on their behalf. Blocking these removes you from purchase conversations your customers are already having.

For most Shopify merchants the sensible position is: consider blocking the first category, keep the second, and definitely keep the third.

The part almost nobody checks

A user agent is a label the visitor writes about itself. Nothing stops anything from claiming to be GPTBot, and plenty of scrapers do exactly that, because a header that gets waved through is the cheapest disguise available.

So "I can see GPTBot in my logs" does not tell you that OpenAI visited. It tells you something said it was OpenAI.

The real crawlers publish the network ranges they operate from, which makes the claim checkable. A request claiming to be GPTBot from OpenAI's own network is very likely genuine. The same claim arriving from a low-cost hosting provider in a country you have never sold to is an impostor using a respected name as a skeleton key.

This distinction matters more than the block-or-allow decision, because the traffic pretending to be a crawler is the traffic actually worth stopping. It is also the group causing most of the volume when a store gets hammered.

Cordon verifies crawler identity rather than trusting the label: a claimed crawler whose network does not match the operator is treated as an impostor, while verified crawlers are always allowed and cannot be blocked by a rule you write. That last part is deliberate, because accidentally deindexing yourself is a far more expensive mistake than any scraping.

What to actually do

1. Start with robots.txt

For the named, well-behaved crawlers, robots.txt is the right first layer. The major AI crawlers publish their user agent names specifically so you can express a preference, and they generally respect it.

Be clear-eyed about what it is: a note asking politely. It works on the crawlers that choose to cooperate, and does nothing to anything impersonating them. That is fine. It is the cheapest layer and it handles the honest majority.

Shopify gives every store a default robots.txt that names no bots at all, so unless you have edited yours, you are currently asking nobody to stay away.

2. Decide per category, not in one sweep

Write the rule for training crawlers if you want it. Leave the search indexers and the shopper-triggered agents alone unless you have a specific reason.

The instinct to "block AI" as one action is understandable and usually costs more than it saves. Being absent from AI-assisted shopping answers is a real cost, and it is a growing one.

3. Handle the impostors separately

This is the part robots.txt cannot do, because impostors ignore it by definition. Recognising them means checking the claimed identity against the network the request came from, and treating a mismatch as what it is.

4. Know the ceiling

Being straight about this, because the alternative gets sold a lot.

Cordon, and every other blocking app on the Shopify App Store, runs as JavaScript in the visitor's browser. A crawler that fetches raw HTML without running JavaScript is not reached by any of them. What these apps do handle is traffic that actually loads your pages, which is where the volume sits and where the bandwidth and analytics damage happens.

If you want to stop a raw fetch of a specific file, that is a robots.txt and Shopify-settings job, not an app job. Anyone telling you their app blocks it is describing something that cannot work.

Where this is heading

AI-assisted shopping is growing quickly enough that "should I block AI crawlers" is turning into "am I visible in AI answers". Those pull in opposite directions, and the answer for most merchants is not at either extreme.

The stores that will do well are the ones that stay readable to the systems shoppers are actually using, while cutting off the traffic that takes without sending anyone back. Telling those apart requires verifying identity rather than reading labels.

Our free scan shows which crawlers your store currently invites, what your robots.txt actually says compared to Shopify's default, and what your product data hands over to anything that asks. It reads only public pages and takes about fifteen seconds, with no install.

Related reading

Related guides