<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rajhussain Kanani</title>
    <description>The latest articles on DEV Community by Rajhussain Kanani (@rajhussain_kanani_3050b4e).</description>
    <link>https://dev.to/rajhussain_kanani_3050b4e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4184878%2Fac346ec7-5eb5-4039-842e-7462ee970f54.png</url>
      <title>DEV Community: Rajhussain Kanani</title>
      <link>https://dev.to/rajhussain_kanani_3050b4e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rajhussain_kanani_3050b4e"/>
    <language>en</language>
    <item>
      <title>AI crawlers explained: which bots to block, which to allow</title>
      <dc:creator>Rajhussain Kanani</dc:creator>
      <pubDate>Wed, 14 Oct 2026 15:08:46 +0000</pubDate>
      <link>https://dev.to/rajhussain_kanani_3050b4e/ai-crawlers-explained-which-bots-to-block-which-to-allow-2821</link>
      <guid>https://dev.to/rajhussain_kanani_3050b4e/ai-crawlers-explained-which-bots-to-block-which-to-allow-2821</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://checkseo.dev/blog/ai-crawlers-guide" rel="noopener noreferrer"&gt;CheckSEO&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The short answer
&lt;/h2&gt;

&lt;p&gt;AI crawlers are the bots AI companies send to read web pages, and they do three different jobs. &lt;strong&gt;Training crawlers&lt;/strong&gt; such as OpenAI's GPTBot and Anthropic's ClaudeBot collect content for future models. &lt;strong&gt;Search crawlers&lt;/strong&gt; such as OAI-SearchBot, Claude-SearchBot and PerplexityBot index pages so AI answers can cite and link to them. &lt;strong&gt;User-triggered fetchers&lt;/strong&gt; such as ChatGPT-User and Perplexity-User load a page live because someone asked about it.&lt;/p&gt;

&lt;p&gt;Each has its own robots.txt token, so blocking AI isn't all-or-nothing. The common middle ground is to disallow the training bots and allow the search bots, which opts you out of training while keeping you citable in AI answers. Just remember robots.txt is a request, not a lock.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI crawler list, grouped by purpose
&lt;/h2&gt;

&lt;p&gt;Every token below comes from the operator's own documentation, checked in September 2026. Two entries aren't crawlers at all: &lt;code&gt;Google-Extended&lt;/code&gt; and &lt;code&gt;Applebot-Extended&lt;/code&gt; are robots.txt tokens that control how content fetched by Googlebot and Applebot may be used, so they never appear in server logs.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bot token&lt;/th&gt;
&lt;th&gt;Operator&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;Respects robots.txt&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GPTBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Collects content that may be used to train OpenAI's foundation models&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ClaudeBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Collects content that may be used to train Claude models&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;CCBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Common Crawl&lt;/td&gt;
&lt;td&gt;Builds a free public web archive, a common source of AI training data&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Google-Extended&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Token, not a crawler: controls use in Gemini training and grounding&lt;/td&gt;
&lt;td&gt;Yes (a robots.txt control)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Applebot-Extended&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Apple&lt;/td&gt;
&lt;td&gt;Token, not a crawler: controls use in training Apple's models&lt;/td&gt;
&lt;td&gt;Yes (a robots.txt control)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Meta-ExternalAgent&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Meta&lt;/td&gt;
&lt;td&gt;Crawls for AI training and indexing for Meta products&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Bytespider&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ByteDance&lt;/td&gt;
&lt;td&gt;Widely listed as ByteDance's AI data crawler&lt;/td&gt;
&lt;td&gt;No published policy found&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;OAI-SearchBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Surfaces sites in ChatGPT search answers&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Claude-SearchBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Indexes content to improve Claude's search results&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PerplexityBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Perplexity&lt;/td&gt;
&lt;td&gt;Surfaces and links sites in Perplexity results; not used for training&lt;/td&gt;
&lt;td&gt;Yes (disputed)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Meta-WebIndexer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Meta&lt;/td&gt;
&lt;td&gt;Helps Meta AI cite and link content&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ChatGPT-User&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Visits a page when a ChatGPT user needs it&lt;/td&gt;
&lt;td&gt;OpenAI says robots.txt may not apply&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Claude-User&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Fetches a page when a Claude user asks&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Perplexity-User&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Perplexity&lt;/td&gt;
&lt;td&gt;Fetches a page to answer a user's question&lt;/td&gt;
&lt;td&gt;Perplexity says it generally ignores robots.txt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Meta-ExternalFetcher&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Meta&lt;/td&gt;
&lt;td&gt;Fetches links at a user's request, including for AI agents&lt;/td&gt;
&lt;td&gt;Meta says it may bypass robots.txt&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What blocking each group actually costs
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Blocking training crawlers&lt;/strong&gt; is the low-cost option. OpenAI documents GPTBot and OAI-SearchBot as independent settings, so disallowing GPTBot while allowing OAI-SearchBot keeps you eligible for ChatGPT search. It only works going forward: Anthropic describes a ClaudeBot block as excluding a site's &lt;em&gt;future&lt;/em&gt; materials from its training datasets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blocking search crawlers&lt;/strong&gt; takes you out of the answers. OpenAI says sites that opt out of OAI-SearchBot won't be shown in ChatGPT search answers, though they can still appear as navigational links.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blocking user-triggered fetchers&lt;/strong&gt; is the least predictable. Anthropic says disallowing Claude-User stops Claude retrieving your pages for user queries, but OpenAI and Perplexity say their fetchers act for a person and may not follow robots.txt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google works differently.&lt;/strong&gt; Google says Google-Extended doesn't affect inclusion in Google Search and isn't a ranking signal. AI Overviews and AI Mode are part of Search, so blocking Google-Extended won't remove you from them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Copy-paste robots.txt rules
&lt;/h2&gt;

&lt;p&gt;The file goes at the root of every host you want covered, since each subdomain needs its own. Allow about a day for changes to register. One trap: a crawler that finds a group naming it ignores the &lt;code&gt;User-agent: *&lt;/code&gt; group entirely, so copy any path rules you rely on, such as &lt;code&gt;Disallow: /admin/&lt;/code&gt;, into the named groups too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Block training, allow AI search&lt;/strong&gt; (the middle ground most sites want):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="c"&gt;# Opt out of AI training
&lt;/span&gt;&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;GPTBot&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;ClaudeBot&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;CCBot&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;Google&lt;/span&gt;-&lt;span class="n"&gt;Extended&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;Applebot&lt;/span&gt;-&lt;span class="n"&gt;Extended&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;meta&lt;/span&gt;-&lt;span class="n"&gt;externalagent&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;Bytespider&lt;/span&gt;
&lt;span class="n"&gt;Disallow&lt;/span&gt;: /

&lt;span class="c"&gt;# Stay visible in AI search answers
&lt;/span&gt;&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;OAI&lt;/span&gt;-&lt;span class="n"&gt;SearchBot&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;Claude&lt;/span&gt;-&lt;span class="n"&gt;SearchBot&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;PerplexityBot&lt;/span&gt;
&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;meta&lt;/span&gt;-&lt;span class="n"&gt;webindexer&lt;/span&gt;
&lt;span class="n"&gt;Allow&lt;/span&gt;: /

&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: *
&lt;span class="n"&gt;Allow&lt;/span&gt;: /

&lt;span class="n"&gt;Sitemap&lt;/span&gt;: &lt;span class="n"&gt;https&lt;/span&gt;://&lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;/&lt;span class="n"&gt;sitemap&lt;/span&gt;.&lt;span class="n"&gt;xml&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Allow everything:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;User&lt;/span&gt;-agent: *
&lt;span class="nc"&gt;Allow&lt;/span&gt;: /

Sitemap: https://example.com/sitemap.xml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Robots.txt is a request, not enforcement
&lt;/h2&gt;

&lt;p&gt;Nothing technically stops a bot ignoring robots.txt. If a bot must stay out, enforce it at the edge:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verify who is really visiting.&lt;/strong&gt; User agent strings are trivial to fake. OpenAI, Anthropic, Perplexity, Common Crawl and Apple publish their IP addresses, so match both the name and the source before trusting or blocking a request.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Block by behaviour at your CDN or firewall.&lt;/strong&gt; Cloudflare's AI bot policies block Search, Agent and Training bots separately. Other firewalls can match user agent plus IP range.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep robots.txt in place anyway.&lt;/strong&gt; Anthropic warns that blocking its IP addresses can stop it reading your robots.txt, so an IP block alone may not register as a lasting opt-out.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Check which AI crawlers your site blocks
&lt;/h2&gt;

&lt;p&gt;I built a free &lt;a href="https://checkseo.dev/tools/ai-crawler-checker" rel="noopener noreferrer"&gt;AI Crawler Access Checker&lt;/a&gt; that fetches a domain's robots.txt and evaluates it for 16 user agents. For each one it reports allowed, blocked or partly restricted, plus the exact rule that decided it. No signup.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>ai</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
