Skip to main content
All Articles
Technical SEO

Which AI Crawlers Can Actually Reach Your Site (And Why It Matters)

OpenAI, Anthropic and Perplexity each run several crawlers with different jobs. Block the wrong one and you vanish from AI answers — usually by accident.

Renato Dequcinis 8 min read

If your business is invisible in ChatGPT, the instinctive assumption is that you lost some kind of ranking contest. Usually you didn’t. Very often you were never in the running, because a crawler was blocked at the door — sometimes deliberately, frequently by accident, and almost always by a robots.txt file written before most of these crawlers existed.

This is a crawlability problem with a technical answer, and it is genuinely checkable. You can establish where you stand in about two minutes.

The mistake almost everyone makes

There is no such thing as “the ChatGPT crawler.”

OpenAI operates several distinct crawlers, each with a different job, each independently controllable in robots.txt. Blocking one does not block the others, and — critically — they do not do the same thing at all:

  • GPTBot is used for model training.
  • OAI-SearchBot is what surfaces your site inside ChatGPT search.
  • ChatGPT-User fetches a page when a user explicitly asks ChatGPT to visit it.
  • OAI-AdsBot validates landing pages submitted for advertising.

OpenAI’s own bot documentation is unambiguous about the consequence: sites opted out of OAI-SearchBot will not be shown in ChatGPT search answers.

Read that again, because the business implication is large. Declining to have your content train a model and remaining visible in ChatGPT are two different decisions, and most organisations want to make them differently. Plenty of businesses have a considered, defensible position that their content should not be used for training. Almost none of them intend to become invisible to buyers researching in ChatGPT. Yet a single overly broad Disallow does exactly that.

The same split exists elsewhere. Anthropic runs ClaudeBot for training, Claude-SearchBot for search relevance, and Claude-User for user-initiated fetches, all documented in Anthropic’s crawler guidance. Perplexity runs PerplexityBot, which surfaces and links sites in its results and is explicitly not used for training, alongside Perplexity-User for user-initiated requests — see Perplexity’s crawler documentation.

Three vendors. Nine crawlers. Three genuinely different purposes — and every one of them sits underneath whatever GEO work you have commissioned, because none of it matters if the crawler never arrives. One robots.txt file that, on most sites, treats them as if they were one thing.

The silent override that breaks well-intentioned configurations

This is the part that catches careful people, and it is worth understanding properly because the failure is completely invisible.

Under the robots.txt specification, a crawler obeys only its single most specific matching group. It does not combine your named group with your wildcard group. It picks one and ignores the rest.

So consider a site that has sensibly set up a wildcard group with real rules in it, then decides to signal openness to AI crawlers by adding this:

User-agent: *
Disallow: /api/
Content-Signal: search=yes, ai-input=yes, ai-train=no

User-agent: GPTBot
Allow: /

The intent is obvious and reasonable. The effect is not. GPTBot now matches its own named group, so it stops reading the wildcard group entirely — including the Disallow: /api/ rule and the entire content-signal declaration. Every rule the site owner thought applied to GPTBot has been silently switched off by the act of welcoming it.

Nothing errors. Nothing warns you. A validator will call the file valid, because it is valid — it simply does not do what the author meant.

We know this pattern well because we found it on our own site. An audit of doublebarril.com in August 2026 flagged exactly this: per-agent groups containing only Allow: /, which meant the named AI crawlers never saw the global content-signal line at all. The fix was to collapse everything back to a single wildcard group, and the reasoning is written into the file itself so the bug cannot quietly reappear the next time someone tidies it up. You can read our current robots.txt and see both the configuration and the comment explaining why it is shaped that way.

If you are going to sell technical rigour, your own implementation should be the first thing you are willing to show.

What each crawler actually does

CrawlerVendorWhat it doesBlocking it means
GPTBotOpenAIModel trainingYour content is not used for training. Does not affect ChatGPT search visibility
OAI-SearchBotOpenAIChatGPT search inclusionYou will not appear in ChatGPT search answers
ChatGPT-UserOpenAIUser-initiated page fetchA user asking ChatGPT to read your page may fail. Not used for search inclusion
OAI-AdsBotOpenAIAd landing-page validationAffects advertising submissions only
ClaudeBotAnthropicModel trainingContent not used for training
Claude-SearchBotAnthropicSearch relevance and accuracyReduced accuracy of how Claude represents you
Claude-UserAnthropicUser-initiated fetchA user-requested read of your page may fail
PerplexityBotPerplexitySurfacing and linking your site in resultsYou will not be surfaced or linked in Perplexity
Perplexity-UserPerplexityUser-initiated fetchPerplexity documents that this one generally ignores robots.txt
GooglebotGoogleSearch, including AI Overviews and AI ModeYou leave Google Search entirely
Google-ExtendedGoogleGemini app and Vertex AI trainingDoes not remove you from AI Overviews or AI Mode

That last row is worth dwelling on, because it is widely misreported. Google-Extended is a training control. It is not an AI Overviews opt-out. Whether you appear in AI Overviews or AI Mode is governed by whether the page is indexed and by ordinary snippet controls — nosnippet, data-nosnippet, max-snippet — as set out in Google’s documentation on AI features. There is no separate AI opt-out lever, and there is no separate AI opt-in lever either.

What Google says you do not need to do

While we are here, it is worth being straight about the other half of this conversation, because a lot of money is currently being spent on the opposite advice.

Google’s AI optimisation guide states there are no additional requirements to appear in AI Overviews or AI Mode, and no special optimisations necessary. It says explicitly that you do not need to create machine-readable files or AI text files, that there is no special structured data you need to add for AI features, and that “optimizing for generative AI search is optimizing for the search experience, and thus still SEO.”

So the honest position is this: crawler access is a real, technical, checkable lever that materially determines whether an AI system can see you at all. A great deal of what is sold alongside it is not. We would rather tell you which is which than bill you for both.

How to check your own site in two minutes

  1. Open yourdomain.com/robots.txt. Read it as a crawler would, not as a human does.
  2. Count your groups. Every User-agent: line starts a new group. If any AI crawler has its own named group, that crawler is reading only that group — check what it is missing from your wildcard rules.
  3. Look for over-broad blocks. A Disallow: / under any AI user-agent is a deliberate-looking decision that is frequently accidental, inherited from a template, or left over from a staging configuration that shipped to production.
  4. Separate the two decisions. Decide training access and search visibility independently, per vendor. They are not the same choice and should not be made with one rule.
  5. Then verify it in your server logs. This is the step almost nobody does, and it is the only one that produces evidence. Your access logs record every request by user agent. OpenAI, Anthropic and Perplexity all publish verified IP ranges, so you can confirm that a request claiming to be their crawler genuinely came from them. Until you have looked at logs, you have a robots.txt you believe works.

A note on timing: none of this is instant. Perplexity documents that robots.txt changes can take up to 24 hours to reflect. Make the change, then verify later — do not assume.

What we cannot tell you

Consistent with how we report on AI visibility generally, here are the limits of this analysis, stated up front rather than discovered later:

  • Crawler access is necessary, not sufficient. Being reachable does not mean being cited. It means being eligible. Anyone promising citations in exchange for a robots.txt edit is overselling.
  • Perplexity publishes no citation methodology. Any claim about how it chooses sources is an assertion, not a citation.
  • Google Search Console’s generative AI report gives impressions only — no clicks, no click-through rate, no position — and those impressions are already included in your existing web search totals rather than added to them. Any report that adds them to your organic traffic is double-counting.
  • Content-Signal declarations are a stated preference, not an enforcement mechanism. They express your intent. They do not compel anyone.
  • Access does not fix representation. If an engine reaches you but describes you wrongly, that is an entity problem, not a crawler one. We keep the current evidence on AI search behaviour separate from what we can demonstrate on your own estate.

The short version

Being invisible in AI answers is often not a content problem, a schema problem, or a strategy problem. It is a robots.txt file that treats nine different crawlers as if they were one, written before the distinction existed, and never verified against a server log.

That is a cheap thing to check and an expensive thing to leave alone.

If you want this done properly — every AI crawler’s access verified against your actual server logs, with the training and search decisions separated and documented per vendor — that is the first deliverable in our Visibility Diagnostic. If you would rather start by seeing where you stand across the answer engines themselves, the AI Visibility Checker walks you through it in a few minutes.

Frequently asked questions

1 Is blocking GPTBot the same as blocking ChatGPT?

No, and this is the most common and most expensive misunderstanding. OpenAI runs several separate crawlers. GPTBot is used for model training. OAI-SearchBot is what surfaces your site inside ChatGPT search. They are controlled independently in robots.txt. OpenAI's documentation states plainly that sites opted out of OAI-SearchBot will not be shown in ChatGPT search answers — so you can block training while remaining fully visible in ChatGPT, which is what most businesses actually want.

2 Does adding a named rule for an AI crawler make my site more AI-friendly?

Often it does the opposite. Under the robots.txt specification a crawler obeys only its single most specific matching group. The moment you add a group named for a specific bot, that bot stops reading your wildcard group entirely — including any Disallow rules and any content-signal declarations you set there. A well-intentioned 'Allow: /' block can silently strip away every other rule you wrote for that crawler.

3 Does Google-Extended remove me from AI Overviews?

No. Google-Extended governs whether your content is used to improve Gemini app and Vertex AI generative models. It does not control whether you appear in AI Overviews or AI Mode. Appearance in those features is governed by ordinary snippet controls such as nosnippet, data-nosnippet and max-snippet, and by whether the page is indexed at all.

4 How quickly do robots.txt changes take effect for AI crawlers?

It varies by vendor and none of them are instant. Perplexity documents that changes to robots.txt can take up to 24 hours to be reflected. Treat any robots.txt change as something to verify afterwards in your server logs rather than assume, because a syntax error fails silently.

5 Can I prove which AI crawlers actually reached my site?

Yes, and this is the only way to know rather than assume. Your server access logs record every request by user agent. OpenAI, Anthropic and Perplexity all publish verified IP ranges so you can confirm a request claiming to be their crawler genuinely came from them. Reading logs is the difference between a robots.txt you believe works and one you have evidence works.

#technical SEO #GEO #AI search #robots.txt #crawlers #B2B marketing

Take the next step

Ready to Apply These Insights?

Want to know exactly which AI crawlers can reach your site — verified in your server logs, not guessed? Book a Visibility Diagnostic.

Start Your Free Audit →
Book a 15-Minute Strategy Call →