<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jay Egger: Search</title>
    <link>https://jayegger.com/blog/search/</link>
    <atom:link href="https://jayegger.com/blog/search/rss.xml" rel="self" type="application/rss+xml" />
    <description>SEO and AI search: original research, how-tos, and what actually turns search traffic into customers.</description>
    <language>en-us</language>
    
    <item>
      <title>About half of sites that block AI training also block ChatGPT search</title>
      <link>https://jayegger.com/blog/robots-txt-ai-search/</link>
      <guid isPermaLink="true">https://jayegger.com/blog/robots-txt-ai-search/</guid>
      <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
      <description>Most sites that block AI just want out of training. I checked 2,500 robots.txt files, and about half of those sites also block ChatGPT search. Here&#39;s how to do one without the other.</description>
      <content:encoded><![CDATA[<p>If you only do one thing for AI search, open your robots.txt.</p>
<p>I've seen the same problem on more than one site: the company wanted to show up in ChatGPT, and its robots.txt was telling ChatGPT to go away. It's a two-minute fix, and it can make a huge difference, because AI crawlers take robots.txt really seriously. If the file says no, the big ones listen.</p>
<p>Usually nobody meant to hide from ChatGPT. They meant to keep their content out of AI training, which is a fair call. The catch is that &quot;AI crawler&quot; isn't one bot, and it's easy to block the one that gets you into the answers along with the one that trains the models.</p>
<p>So I wanted to know how often that happens. I checked the robots.txt files of the top 1,000 websites plus a random sample of 1,500 smaller ones, and I built a <a href="/tools/ai-crawler-check/">free tool</a> so you can check yours.</p>
<p><strong>Just want the fix?</strong> <a href="#block-training-keep-search">Skip to how to block AI training and stay in AI search</a>.</p>
<h2>What 2,500 websites do</h2>
<p>Counting only sites that publish real robots.txt rules and let Google in:</p>
<ul class="bynumbers">
  <li><span class="stat">19%</span><span class="label">of the top 1,000 block OpenAI's training crawler</span></li>
  <li><span class="stat">48%</span><span class="label">of those also block ChatGPT search</span></li>
  <li><span class="stat">50%</span><span class="label">same thing on smaller sites</span></li>
</ul>
<div class="table-wrap">
<table>
<thead><tr><th>Sites ranked</th><th>Sites counted</th><th>Block AI training (GPTBot)</th><th>Block ChatGPT search</th><th>Of training blockers, also block ChatGPT search</th></tr></thead>
<tbody>
<tr><td>Top 100</td><td>51</td><td>26%</td><td>20%</td><td>62% (8 of 13)</td></tr>
<tr><td>101–500</td><td>184</td><td>21%</td><td>9%</td><td>45% (17 of 38)</td></tr>
<tr><td>501–1,000</td><td>264</td><td>17%</td><td>8%</td><td>48% (21 of 44)</td></tr>
<tr><td>1,001–10,000 (sample)</td><td>284</td><td>13%</td><td>7%</td><td>51% (19 of 37)</td></tr>
<tr><td>10,001–100,000 (sample)</td><td>254</td><td>13%</td><td>6%</td><td>41% (14 of 34)</td></tr>
<tr><td>100,001–1M (sample)</td><td>275</td><td>12%</td><td>7%</td><td>56% (18 of 32)</td></tr>
</tbody>
</table>
</div>
<p>What stood out to me:</p>
<ul>
<li><strong>Blocking AI is mostly about training.</strong> In the top 1,000, about twice as many sites block OpenAI's training crawler as block ChatGPT search.</li>
<li><strong>But about half the sites blocking training block search too, whether they meant to or not.</strong> The top 100 runs higher, thanks to the big platforms, but everywhere else it hovers around half, all the way down to sites ranked in the hundreds of thousands. It isn't a big-site problem or a small-site problem. It's a robots.txt problem.</li>
<li><strong>The biggest platforms block more, on purpose.</strong> In the top 100 it's Amazon, TikTok, Facebook, Instagram, X and Pinterest, which are protecting their data. If you're a business that wants customers to find you, copying them just means fewer people see you.</li>
<li><strong>Smaller sites block AI less overall.</strong> 13% of the smaller sites block OpenAI's training crawler, compared with 19% of the top 1,000. When they do, they make the same trade.</li>
</ul>
<h2>Two ways sites lose ChatGPT search</h2>
<p>When I looked at how the 99 sites in the study that block ChatGPT search actually do it, every one of them fell into one of two patterns.</p>
<p><strong>1. The &quot;block every AI bot&quot; list (about two-thirds).</strong> 65 sites name OAI-SearchBot directly. Every one of them also blocks GPTBot, and 58 block at least 10 of the 16 bots I checked. That looks a lot like a list copied from somewhere, the kind that piles training bots, search bots and assistant bots into one block:</p>
<pre><code>User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: PerplexityBot
...
Disallow: /
</code></pre>
<p>The fix is to split the list: keep the training bots in the block and move the search and assistant bots out (the setup further down does exactly that).</p>
<p><strong>2. The allowlist (about one-third).</strong> The other 34 block everything under <code>User-agent: *</code> and then let in a short list of search engines by name. Every one of them names Googlebot:</p>
<pre><code>User-agent: Googlebot
User-agent: Bingbot
Allow: /

User-agent: *
Disallow: /
</code></pre>
<p>That made sense when Google and Bing were the only search that mattered. AI search bots aren't on the list, so they're shut out without anyone deciding that. The fix is to add OAI-SearchBot, Claude-SearchBot and PerplexityBot to the allowlist.</p>
<h2>Which bots get blocked most</h2>
<p>Training crawlers get blocked more often than search crawlers, on big and small sites alike:</p>
<div class="table-wrap">
<table>
<thead><tr><th>Bot</th><th>What it does</th><th>Blocked: top 1,000</th><th>Blocked: smaller sites</th></tr></thead>
<tbody>
<tr class="group-row"><th colspan="4" scope="rowgroup">Training</th></tr>
<tr><td>Bytespider</td><td>ByteDance training</td><td>23%</td><td>11%</td></tr>
<tr><td>CCBot</td><td>Common Crawl dataset</td><td>22%</td><td>12%</td></tr>
<tr><td>GPTBot</td><td>OpenAI training</td><td>19%</td><td>13%</td></tr>
<tr><td>ClaudeBot</td><td>Anthropic training</td><td>19%</td><td>12%</td></tr>
<tr><td>meta-externalagent</td><td>Meta training</td><td>18%</td><td>11%</td></tr>
<tr><td>Google-Extended</td><td>Gemini training</td><td>17%</td><td>9%</td></tr>
<tr><td>Applebot-Extended</td><td>Apple training</td><td>16%</td><td>9%</td></tr>
<tr class="group-row"><th colspan="4" scope="rowgroup">Search</th></tr>
<tr><td>PerplexityBot</td><td>Perplexity search</td><td>15%</td><td>8%</td></tr>
<tr><td>Claude-SearchBot</td><td>Claude search</td><td>11%</td><td>6%</td></tr>
<tr><td>OAI-SearchBot</td><td>ChatGPT search</td><td>10%</td><td>6%</td></tr>
<tr class="group-row"><th colspan="4" scope="rowgroup">Fetching for a user</th></tr>
<tr><td>ChatGPT-User</td><td>ChatGPT, when a user asks</td><td>12%</td><td>8%</td></tr>
<tr><td>Claude-User</td><td>Claude, when a user asks</td><td>12%</td><td>6%</td></tr>
<tr><td>Perplexity-User</td><td>Perplexity, when a user asks</td><td>12%</td><td>5%</td></tr>
</tbody>
</table>
</div>
<p>For comparison, Bing's crawler is blocked by under 1% of these sites, and Googlebot by none (I only counted sites that let Google in).</p>
<h2>How sites end up blocking AI by accident</h2>
<p>When it's an accident, it usually happens one of three ways:</p>
<ul>
<li><strong>Your CDN did it for you.</strong> In July 2025, <a href="https://www.technologyreview.com/2025/07/01/1119498/cloudflare-will-now-by-default-block-ai-bots-from-crawling-its-clients-websites/">Cloudflare started blocking AI crawlers by default</a>. Its managed robots.txt can quietly add <code>Disallow: /</code> lines for bots like GPTBot, ClaudeBot and Google-Extended. In my data it only showed up on about 3% of the top 1,000, so it's less common than people think, but if you're on Cloudflare and never looked, check.</li>
<li><strong>Someone pasted a &quot;block AI&quot; snippet</strong> during the wave of worry about AI training, and it never came back out.</li>
<li><strong>Old rules block more than they meant to.</strong> A line like <code>Disallow: /_next</code> (common on Next.js sites) also blocks the files a crawler needs to render your pages.</li>
</ul>
<p>It happens to people who do this for a living, too. When I built the checker, the first site I ran was mine, and it turned out my own site wasn't serving a real robots.txt at all, just Cloudflare's boilerplate with no rules and no sitemap. Nothing was blocked, but it's fixed now.</p>
<h2>Know which bot does what</h2>
<p>This is the part that trips people up. &quot;AI crawler&quot; isn't one thing, and blocking the wrong one costs you more than you meant to give up. Most AI companies now run separate bots for training, for search, and for fetching a page when a person asks about it:</p>
<ul>
<li><strong>OpenAI:</strong> <a href="https://developers.openai.com/api/docs/bots">GPTBot trains models, OAI-SearchBot is what puts you in ChatGPT search, and ChatGPT-User fetches pages when someone asks</a>. Block GPTBot to opt out of training and you'll still show up in ChatGPT answers, as long as you leave OAI-SearchBot alone.</li>
<li><strong>Anthropic:</strong> <a href="https://support.claude.com/en/articles/8896518-does-anthropic-crawl-the-web">ClaudeBot for training, Claude-SearchBot for search, Claude-User for user requests</a>.</li>
<li><strong>Perplexity:</strong> <a href="https://docs.perplexity.ai/docs/resources/perplexity-crawlers.md">PerplexityBot builds its search index and Perplexity-User fetches pages for users</a>. Perplexity says neither one collects training data.</li>
<li><strong>Google:</strong> <a href="https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers">Google-Extended doesn't touch Google Search</a>. It controls Gemini training and grounding, not your rankings, and blocking it won't take you out of AI Overviews. Those run on regular Googlebot.</li>
</ul>
<h2>The two-minute check</h2>
<p>The fastest way is the <a href="/tools/ai-crawler-check/">free checker</a>: type in your site and it shows every bot above as allowed or blocked. To do it by hand:</p>
<ol>
<li><strong>Open <code>yoursite.com/robots.txt</code></strong> and look for <code>Disallow: /</code> under any AI user agent, or under <code>User-agent: *</code> with no AI bot named separately.</li>
<li><strong>If you're on Cloudflare or another CDN,</strong> check its bot and AI crawler settings too. A CDN can block crawlers before they ever reach your site, and that won't show up in the file.</li>
<li><strong>Check every host your site uses.</strong> If your pages pull data from an API or a separate subdomain, that host needs a robots.txt that actually loads. A file that returns a server error <a href="https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt">makes Google stop crawling for the first 12 hours</a>, then fall back to an old copy.</li>
<li><strong>Make sure you aren't blocking your CSS and JavaScript folders,</strong> or crawlers can't see the page the way people do.</li>
</ol>
<h2 id="block-training-keep-search">How to block AI training and stay in AI search</h2>
<p>This is the setup most businesses actually want, and you can do it in robots.txt because the companies use separate bots for each job. Block the training bot, leave the search and assistant bots alone:</p>
<div class="table-wrap">
<table>
<thead><tr><th>Company</th><th>Block (training)</th><th>Allow (search and assistants)</th></tr></thead>
<tbody>
<tr><td>OpenAI</td><td>GPTBot</td><td>OAI-SearchBot, ChatGPT-User</td></tr>
<tr><td>Anthropic</td><td>ClaudeBot</td><td>Claude-SearchBot, Claude-User</td></tr>
<tr><td>Google</td><td>Google-Extended</td><td>Googlebot (Search, including AI Overviews)</td></tr>
<tr><td>Apple</td><td>Applebot-Extended</td><td>Applebot</td></tr>
<tr><td>Perplexity</td><td>Nothing to block: Perplexity says its bots don't collect training data</td><td>PerplexityBot, Perplexity-User</td></tr>
<tr><td>Meta, Common Crawl, ByteDance</td><td>meta-externalagent, CCBot, Bytespider</td><td></td></tr>
</tbody>
</table>
</div>
<p>One limit worth knowing: Google doesn't offer this split for AI Overviews. They're part of Search and use regular Googlebot, so there's no way to stay in Google Search but out of AI Overviews with robots.txt.</p>
<p>Here's the whole thing as a robots.txt you can paste in (it's the same setup the checker gives you):</p>
<pre><code># Keep AI training out
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
User-agent: Bytespider
Disallow: /

# Let AI search and assistants in
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /

User-agent: *
Allow: /

Sitemap: https://yoursite.com/sitemap.xml
</code></pre>
<p>One gotcha: a bot named in a group follows only that group. If your <code>User-agent: *</code> section hides paths like <code>/admin/</code>, copy those <code>Disallow</code> lines into the second group too.</p>
<h2>Common questions</h2>
<p><strong>Can I block AI training but still show up in AI search?</strong> Yes, for OpenAI, Anthropic and Apple, because they use separate bots for training and search. Block the training bot and allow the search bot. <a href="#block-training-keep-search">The setup is above</a>. The exception is Google's AI Overviews, which you can't separate from regular Google Search.</p>
<p><strong>Will blocking GPTBot hurt my Google rankings?</strong> No. GPTBot is OpenAI's crawler. Google Search uses Googlebot, and nothing you tell GPTBot changes what Google does.</p>
<p><strong>Does blocking Google-Extended keep me out of AI Overviews?</strong> No. <a href="https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers">Google says</a> Google-Extended doesn't affect Search, and AI Overviews are part of Search. The controls that do limit them, like <code>nosnippet</code>, <a href="https://developers.google.com/search/docs/appearance/ai-features">apply to Search as a whole</a>, so they'd cut into your regular results too.</p>
<p><strong>If I block training bots now, does that remove what they already collected?</strong> No. robots.txt only controls crawling from here on. It doesn't pull back anything that's already been collected.</p>
<p><strong>Should I block ChatGPT-User, Claude-User or Perplexity-User?</strong> For most businesses, no. Those bots open your page when a person asks the assistant about it or pastes your link. <a href="https://developers.openai.com/api/docs/bots">OpenAI says</a> ChatGPT-User isn't what decides whether you show up in search (that's OAI-SearchBot), so blocking it mostly means the assistant can't read your page for someone who's already asking about you.</p>
<p><strong>What's the Content-Signal line in my robots.txt?</strong> If you're on Cloudflare, its managed robots.txt can add a line like <code>Content-Signal: search=yes, ai-train=no</code>, a newer way to say &quot;find me, don't train on me.&quot; Fewer than 2% of the top 1,000 sites had one saying <code>ai-train=no</code>. It's a nice extra, but the user-agent rules above are what the big AI companies document, so don't rely on it alone.</p>
<h2>Then measure it</h2>
<p>OpenAI and Perplexity both say it takes <a href="https://developers.openai.com/api/docs/bots">about 24 hours</a> for a robots.txt change to kick in. After that, track AI traffic like any other channel: in GA4, referrals from <code>chatgpt.com</code>, <code>perplexity.ai</code> and <code>gemini.google.com</code> show up as their own sources. The number I care about isn't visits, it's how many of those people go on to buy or apply.</p>
<p>One caveat: robots.txt is a request, not a lock. The big AI companies say they follow it, but not every crawler plays nice (Cloudflare <a href="https://www.techrepublic.com/article/news-cloudflare-accuses-perplexity-stealth-crawling-violations/">accused Perplexity of getting around blocks</a> in 2025, which Perplexity disputes). For being found, though, that doesn't matter. The goal is making sure you're not the one keeping them out.</p>
<p class="meta">How I ran the numbers: one request for /robots.txt on each site, parsed the way the robots.txt standard (RFC 9309) says crawlers should. Sites: the full <a href="https://tranco-list.eu/list/N26XW/1000000">Tranco</a> top 1,000 (Oct 14, 2026) plus a random 500 from each of ranks 1,001–10,000, 10,001–100,000 and 100,001–1,000,000. "Blocked" means a normal page is off limits to that bot. I only counted sites that serve real robots.txt rules and let Google in (499 of the top 1,000 and 813 of the smaller sites), since a site that blocks everyone isn't trying to be found. Each row of the last column rests on a few dozen training blockers at most (the top 100 on just 13), so read it as "about half," not exact. The counts in parentheses are the raw numbers. Some sites serve crawlers a different file, so this is what a regular visitor sees. You can <a href="/data/ai-crawler-study-2026-10.csv">download the per-site results</a> (CSV).</p>
<p class="meta">How I made this: I wrote the crawler and the free checker with Claude as my pair programmer, and both use the same robots.txt parser, so the study and the tool give the same answers. The analysis and opinions are mine.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
