Skip to content

AI Crawlers

Quick facts

What it is
AI crawlers are automated agents that fetch pages for AI systems. The roles that affect AI visibility are training, retrieval, and user-triggered access.
Key distinction
Training crawlers feed model weights. Retrieval crawlers ground live answers and build answer indexes. User-triggered agents fetch pages for one user's request.
Access decisions
Set access by category rather than bot by bot or through a single blanket rule. Blocking training does not block retrieval, while blocking retrieval removes a site from current AI answers.
Main risk
A blanket Disallow for AI bots can stop citations when the goal is only to prevent training. Blocking all AI crawlers is therefore the costliest default.
Role in GEO
Crawler access is the retrievability stage in step 2 of the answer loop, before citability. A reachable page can still fail to provide citable passages.

1. What an AI crawler is

An AI crawler is an automated agent that fetches pages on behalf of an AI system. Its role matters more than the user-agent name it presents.

Definition (GEO Wiki working definition): An AI crawler is an automated agent that fetches pages on behalf of an AI system. In GEO, the term covers the three roles that affect AI visibility: training, retrieval, and user-triggered access. It does not refer to every nonhuman user agent.

Exact user-agent strings, published IP ranges, and blocking instructions differ among GPTBot, ClaudeBot, and PerplexityBot.

Managing crawler access involves three separate questions:

An AI Crawler Access Audit combines the declared policy with log evidence so teams can compare crawler rules with actual traffic.

2. The three crawler categories

Training crawlers, retrieval crawlers, and user-triggered agents serve different purposes. Blocking each category therefore has different consequences. Treating all three as a single class can unintentionally restrict a site’s current visibility in AI answers.

                         ┌──────────────► TRAINING crawler
                         │                 (GPTBot, ClaudeBot,
                         │                  Google-Extended)
                         │                 → feeds/refines model
                         │                   weights; delayed,
                         │                   parametric, not
   one origin page ──────┤                   attributable
   fetched for           │
   three reasons         ├──────────────► RETRIEVAL crawler
                         │                 (OAI-SearchBot,
                         │                  PerplexityBot,
                         │                  Claude-SearchBot)
                         │                 → grounds a live answer
                         │                   + builds the answer
                         │                   index; immediate,
                         │                   citation-bearing

                         └──────────────► USER-TRIGGERED agent
                                           (ChatGPT-User,
                                            Claude-User,
                                            Perplexity-User)
                                          → one user asked about
                                            your URL right now

Access decisions should be made by category, not by individual bot or through one binary rule. Blocking a training crawler does not block the corresponding retrieval crawler. Blocking a retrieval crawler removes a site from current AI answers.

In step 2 of the answer loop, crawler access determines whether a page can become a candidate source. Citability then determines whether an engine can extract a useful passage after fetching it. The remaining stages of the answer loop occur only after retrieval.

3. How categories map to crawlers

The table groups representative crawlers by purpose and shows what a site gains or loses by blocking each category. Individual user-agent strings, IP-verification methods, and blocking instructions vary by crawler. Crawler lists change quickly, so verify the current list against primary documentation before changing access rules.

CategoryPurposeCost of blockingProtection gainedRepresentative crawlers
TrainingCollects content that may be used to train or refine model weightsThe site gives up future parametric “memory” of the content. Any effect is delayed and cannot be attributed.Keeps the content out of future model weightsGPTBot · ClaudeBot · Google-Extended · CCBot · Applebot-Extended · Amazonbot · Meta-ExternalAgent · Bytespider
Retrieval / searchGrounds live answers and builds the answer-engine indexThe site immediately loses current citations and disappears from AI answers.It offers little protection because training has largely occurred already or continues through other corpora.OAI-SearchBot · PerplexityBot · Claude-SearchBot · Googlebot (feeds AI Overviews and cannot be blocked separately) · Bingbot (feeds Copilot)
User-triggered agentFetches a URL because one user has pasted it or asked about itThat user’s live lookup of the page fails during the answer.Nothing from automated collection. These agents fetch only in response to a human action.ChatGPT-User · Claude-User · Perplexity-User

The consequences are asymmetric. Blocking training gives up future parametric memory while preserving citations. Blocking retrieval gives up current citations even though training has already occurred or continues through other corpora. The two controls are not interchangeable.

Different product surfaces depend on different crawlers. ChatGPT search uses OAI-SearchBot and ChatGPT-User. Perplexity uses PerplexityBot and Perplexity-User. Claude uses Claude-SearchBot and Claude-User. Google AI Overviews relies on Googlebot; Google-Extended governs training use rather than crawling (see Google’s common crawlers). Bing Copilot relies on Bingbot. Exact user-agent strings and IP-verification details vary by crawler.

4. User-agent is a claim, not an identity

A user-agent string is self-asserted and easy to spoof. Seeing GPTBot in a log does not prove that OpenAI fetched the page. A policy based only on that string can block legitimate bots that have been impersonated while failing to stop malicious agents using a trusted name.

Identity is established through published IP ranges and forward-confirmed reverse DNS (rDNS). Major operators provide machine-readable IP lists for this purpose. OpenAI publishes separate .json files for its crawlers (see Overview of OpenAI Crawlers). Anthropic publishes a list of bot IPs (see Anthropic crawler docs). Perplexity publishes separate IP JSON files for its crawlers (see Perplexity Crawlers).

The following generic procedure shows the principle behind forward-confirmed rDNS verification:

# Forward-confirmed rDNS verification principle
1. reverse-lookup the request IP        → host name
2. forward-lookup that host name        → IP
3. step-2 IP == request IP  AND  host in the operator's domain
   → identity confirmed; else → treat the UA as unverified

Exact IP ranges, rDNS domains, and runnable verification steps vary by crawler. The AI Crawler Access Audit playbook provides the operational procedure. Cryptographic bot authentication is an emerging alternative. The proposed HTTP Message Signatures architecture for automated traffic (IETF draft-meunier-web-bot-auth-architecture) would replace IP and user-agent inference with signed identities. It remains an Internet-Draft with no formal IETF standing, so it cannot yet serve as a dependable control.

5. What the evidence shows: declaring a rule does not enforce it

robots.txt is a voluntary request, not an access-control mechanism. RFC 9309 states that its rules “are not a form of access authorization” and that the protocol “is not a substitute for valid content security measures” (see RFC 9309). Without retrieval, citability cannot affect whether a page appears in an answer.

The PerplexityBot case illustrates the documented gap between declaring a rule and enforcing it. In 2024, multiple news outlets reported that a major answer engine fetched content from sites that had disallowed its crawler (TechCrunch, 2024-07-02). In 2025, Cloudflare reported that an undeclared crawler impersonated a normal browser and rotated IPs to evade no-crawl directives across tens of thousands of domains (Cloudflare, 2025-08-04).

Documented behaviorWhat it means
Major first-party bots honor robots.txt as documented.Compliance is a stated policy, not a technical guarantee.
robots.txt expresses a site’s intent clearly.A noncompliant or spoofed agent can ignore that intent.
Published measurements can show how often sites set crawler policies.Cloudflare found that only about 14% of sampled domains targeted AI bots in their robots.txt files (Cloudflare, 2025-07-01). Most sites in the sample had expressed no policy.
Enforcement is possible.It requires network-layer controls, such as a WAF or verified-bot list, rather than robots.txt.

Use robots.txt to state the policy because compliant crawlers follow it. Then use the AI Crawler Access Audit to verify which agents actually reached the site. A declared rule does not by itself provide enforcement.

6. When blocking AI crawlers backfires

These common approaches fail because they confuse crawler categories, policy declarations, and technical enforcement.

Anti-patternWhy it looks rightWhy it actually fails
Apply Disallow: / to every AI botIt appears to protect all content from AI use.It blocks citations in order to stop training, causing an immediate and permanent loss of visibility. The rule confuses two categories.
Block GPTBot to stay out of ChatGPTGPTBot is operated by OpenAI.Live ChatGPT answers use OAI-SearchBot and ChatGPT-User. GPTBot is used only for training, so this blocks the wrong crawler.
Treat robots.txt as enforcement against bad actorsA disallow rule appears to prevent access.robots.txt is voluntary, so a spoofed or noncompliant agent can ignore it entirely.
Allow every crawler while serving only client-rendered contentAccess appears to be open.The page can be fetched but remain unreadable, eliminating the benefit of access. See SSR for AI Crawlers.
Keep a static allowlist indefinitelyThe list appears to admit only trusted crawlers.New bots appear quarterly, so the allowlist silently excludes them by default.

Blocking every AI crawler is not the safest default. It is the costliest one. Each block trades away the benefits of a specific crawler category, including citations. OpenAI states that appearing and being cited in ChatGPT search requires allowing its search crawler (see Publishers and Developers FAQ).

7. How AI crawling differs from traditional SEO crawling

AI crawlers inherit the technical baseline described in SEO vs GEO, but they introduce a different set of access decisions.

The technical baseline is unchanged: pages must be reachable, return a 200 status, avoid soft 404s, and maintain a reasonable crawl budget and clean status codes. These are the same conditions Googlebot has always required.

DimensionTraditional SEO crawlingAI crawling
Number of agentsGooglebot is effectively the only agent that matters.Many agents exist, and new ones appear continuously.
Access semanticsThe primary decision is whether to allow indexing.Training, retrieval, and user-triggered access have different and sometimes opposite consequences.
robots.txtIt is both the declared control and a strongly enforced norm.It remains the declared control, but compliance is less consistently enforced.
Index submissionSitemaps and ping services provide submission paths.Submission options are limited. See Sitemap & IndexNow for the available options.

The traditional SEO model assumes one main crawler, one access decision, and reliable compliance. AI crawling involves many agents, three functional categories, and less reliable compliance.

8. What crawler access means for GEO

Reachability is necessary but not sufficient. It makes a page a candidate source. Citability then determines whether an engine can extract and attribute a useful passage from that page.

GoalRelevant control or method
Verify which agents reach the siteAI Crawler Access Audit
Write an access policyrobots.txt · llms.txt
Find user-agent names, IP ranges, and blocking instructionsGPTBot · ClaudeBot · PerplexityBot
Make fetched pages readableSSR for AI Crawlers
Improve passages after retrievalCitability
Connect crawler access to the broader methodGenerative Engine Optimization

A sound access strategy requires three separate decisions: choosing access by crawler category, verifying identity at the network layer, and keeping pages readable after retrieval. Each decision addresses a different failure mode, and all three affect whether a site can appear in AI answers.

References

Official crawler documentation (as of 2026-05):

Protocol and standards:

Independent measurement and reporting:

Frequently asked questions

What is an AI crawler?
An AI crawler is an automated agent that fetches pages on behalf of an AI system. For GEO, the useful categories are the three roles that affect AI visibility: training, retrieval, and user-triggered access. This is more precise than treating every nonhuman user agent as an AI crawler. Individual crawlers have their own user-agent strings, IP ranges, and blocking options.
Should I block AI crawlers to protect my content?
Decide separately for each category rather than applying a blanket rule. Blocking training crawlers such as GPTBot, ClaudeBot, and Google-Extended keeps your content out of future model weights while preserving citations. Blocking retrieval crawlers such as OAI-SearchBot, PerplexityBot, and Claude-SearchBot removes you from current AI answers. A blanket Disallow can therefore block citations when the intended goal was only to prevent training.
If I block GPTBot, am I out of ChatGPT?
No. GPTBot is used only for training. Live ChatGPT answers use OAI-SearchBot for search indexing and ChatGPT-User for user-triggered fetches. You can block GPTBot to keep content out of training data without blocking ChatGPT search citations.
Does robots.txt actually stop AI crawlers?
robots.txt is a voluntary request, not an access-control mechanism. RFC 9309 states that its rules 'are not a form of access authorization.' Major first-party crawlers honor those rules as documented, but compliance is a policy rather than a guarantee. User-agent strings can also be spoofed. Stopping noncompliant or spoofed agents requires network-layer enforcement.
Is seeing 'GPTBot' in my logs proof OpenAI fetched the page?
No. A user-agent string is self-reported and can be spoofed. Verify identity using published IP ranges and forward-confirmed reverse DNS. OpenAI, Anthropic, and Perplexity publish IP lists for this purpose. A policy based on an unverified user-agent string can block legitimate bots because their names have been spoofed while still missing malicious bots that use trusted names.

See also

Sources

Primary

  1. Overview of OpenAI Crawlers (GPTBot / OAI-SearchBot / ChatGPT-User) · OpenAI
  2. Publishers and Developers FAQ — OpenAI Help Center · OpenAI
  3. Does Anthropic crawl data from the web, and how can site owners block the crawler? · Anthropic · 2026-04-07
  4. Perplexity Crawlers (PerplexityBot / Perplexity-User) · Perplexity AI
  5. Overview of Google crawlers and fetchers (user agents) · Google Search Central · 2026-02-09
  6. Google's common crawlers (Google-Extended) · Google Search Central · 2026-04-23
  7. Which crawlers does Bing use? · Microsoft Bing
  8. RFC 9309: Robots Exclusion Protocol · IETF · 2022-09-01

Secondary

  1. Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives · Cloudflare
  2. News outlets are accusing Perplexity of plagiarism and unethical web scraping · TechCrunch
  3. From Googlebot to GPTBot: who's crawling your site in 2025 · Cloudflare
  4. HTTP Message Signatures for automated traffic: Architecture (draft-meunier-web-bot-auth-architecture) · IETF (Internet-Draft)

Tertiary[observation]

  1. Anthropic's Claude bots make robots.txt decisions more granular
Last updated: 2026-05-18 Authors: Ray Yang Topic: Infrastructure