Skip to content

Module 4 min

AI Crawlers

GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Google-Extended are distinct agents with distinct rules; block the wrong one and you vanish from an engine.

~71,000:1 Anthropic crawl-to-referral ratio: pages crawled per referral sent (Cloudflare, mid-2025)
14:1 vs 1,700:1 Google vs OpenAI crawl-to-referral ratios (Cloudflare, July 2025)

Why it mattersA single robots.txt line can delete you from an entire answer engine.

01

Definition & Foundation

What it is, in plain words

AI crawlers are not one bot. Each vendor runs a small fleet split by job: a training bot collecting content for future models, a search-index bot feeding the engine's live answers, and a user bot fetching a page on demand when someone asks. GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, and Google-Extended are distinct agents with distinct rules, and because access is binary, a single robots.txt line can delete you from an entire answer engine.

The allow/block decision is a real trade-off, not a formality. Cloudflare's mid-2025 data put the crawl-to-referral imbalance starkly: roughly 14:1 for Google, 1,700:1 for OpenAI, and Anthropic's crawler near 71,000 pages fetched per referral sent; the old crawl-for-traffic bargain has broken down for training bots. But blocking the retrieval bots to punish that imbalance removes you from the answers your buyers read. The skill this node teaches: know which bot does which job, and make each allow/deny an explicit, revisited decision.

02

The Crawler Fleet Map

Who fetches for which product, and the decision each one carries

three bots, three jobs

OpenAI: GPTBot · OAI-SearchBot · ChatGPT-User

GPTBot collects training data for future models. OAI-SearchBot builds the ChatGPT Search index. ChatGPT-User fetches live when a user asks. Block GPTBot and you've opted out of training only; block the other two and you vanish from ChatGPT's answers.

same pattern

Anthropic: ClaudeBot · Claude-SearchBot · Claude-User

ClaudeBot feeds model training; Claude-SearchBot indexes for Claude's search; Claude-User fetches on user request. Each is independently controllable in robots.txt; you can stay visible in Claude while staying out of training.

retrieval-first

Perplexity: PerplexityBot · Perplexity-User

PerplexityBot builds the index behind Perplexity's cited answers; Perplexity-User fetches pages users ask about. Perplexity is an answer engine, not a model vendor; blocking these mostly just removes your citations.

the trap

Google: Googlebot vs Google-Extended

Google-Extended is a robots.txt token governing use of your content for Gemini training and grounding; it is not the crawler behind AI Overviews. AI Overviews and AI Mode run on the normal Search index via Googlebot; you can't leave them without leaving Search itself.

the quiet giant

Microsoft: Bingbot

One crawler feeds Bing, Copilot, and (via Bing's index) parts of ChatGPT's retrieval. Blocking Bingbot quietly removes you from multiple AI surfaces at once; verify in Bing Webmaster Tools and treat it as essential.

decide per bot

The long tail

CCBot (Common Crawl; feeds many research datasets), Applebot-Extended (Apple AI training opt-out), Meta-ExternalAgent (Meta training), plus new agents appearing every quarter. Default policy beats ad-hoc: decide once per category (training vs retrieval), review quarterly.

03

Myths vs Reality

Common misreadings, corrected

Myth"Blocking Google-Extended removes us from AI Overviews."
RealityAI Overviews and AI Mode are built from the regular Search index crawled by Googlebot. Google-Extended only governs Gemini training and grounding outside Search. To influence AI Overviews you use normal Search controls (like nosnippet), with the trade-offs those carry.
Myth"Block all AI bots; they take content and give nothing back."
RealityTrue-ish for training bots (Cloudflare measured crawl-to-referral ratios up to ~71,000:1), but retrieval and user bots are how you appear, cited, in the answers buyers read. Blanket blocks are how brands accidentally delete themselves from ChatGPT and Perplexity. Split the decision: training is a licensing question; retrieval is a visibility question.
04

Implementation Guide

Explicit policy, verified access, monitored logs

This is a genuinely technical node: the work is a robots.txt policy you've consciously chosen, verification that the bots you want actually get 200s, and a log habit that catches surprises.

The crawler-policy playbook

1

Inventory who crawls you today

Pull 30 days of server or CDN logs and count hits by user-agent: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot, Bingbot, Google-Extended token checks. No AI hits at all usually means an upstream block (WAF, bot protection) you didn't know about.

2

Decide policy per category, in writing

Training bots (GPTBot, ClaudeBot, CCBot, Applebot-Extended, Meta-ExternalAgent): a business/licensing decision; many publishers block, many brands allow for parametric familiarity. Retrieval + user bots (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, PerplexityBot, Bingbot): allow unless you have a specific reason not to; they are your GEO visibility.

3

Write the robots.txt explicitly

Name each bot rather than relying on wildcards, e.g. User-agent: GPTBot → Disallow: / next to User-agent: OAI-SearchBot → Allow: /. Explicit rules survive team turnover and make the policy auditable at a glance.

4

Verify access end to end

robots.txt is only a request; confirm reality: fetch key pages with each bot's user-agent string, check for 200s and full HTML, and confirm your CDN/bot-management layer (Cloudflare et al.) isn't challenging or blocking agents your robots.txt allows. Cloudflare has blocked many AI crawlers by default for new sites since mid-2025.

5

Monitor monthly; review policy quarterly

New agents appear constantly, and vendors add bots (or change behavior) without fanfare. A monthly log glance plus a quarterly policy review keeps the decision current, and catches the day an engine stops (or starts) fetching you.

On your platform

Edit robots.txt via your SEO plugin (Yoast/RankMath expose an editor) or place a physical file in the web root; the physical file wins if both exist.
Add per-bot blocks, e.g. User-agent: GPTBot / Disallow: /, while leaving OAI-SearchBot and PerplexityBot allowed.
Check security plugins (Wordfence etc.) and your host's WAF; many "block bad bots" presets silently 403 AI user-agents your robots.txt allows.
Customize robots.txt.liquid (Online Store → Themes → Edit code → Add template); Shopify serves a default you can extend, not replace blindly.
Append explicit AI-bot groups at the end of the template so Shopify's own defaults for Googlebot/Bingbot stay intact.
Shopify's CDN handles bot mitigation for you; verify with a user-agent fetch test that allowed AI bots actually receive 200s on product pages.
Both expose robots.txt editors (Wix: SEO settings → robots.txt; Squarespace: built-in "AI crawlers" toggle plus robots editor); prefer the explicit editor over a global AI toggle.
A single "block AI crawlers" switch usually blocks training AND retrieval bots together, exactly the blanket block to avoid if you want citations.
After saving, fetch /robots.txt directly and confirm the rendered rules match your intent.
Paste your rules into Site settings → SEO → robots.txt (both platforms serve it verbatim).
Keep the explicit per-bot structure; add a comment line with the review date so the next editor knows the policy is deliberate.
If you front the site with Cloudflare, align its AI-crawler settings; the CDN answers before Webflow/Framer does.
Export the policy from app/robots.ts so it's code-reviewed like everything else: return per-bot rules arrays for GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot.
Log AI user-agents in middleware (request.headers.get('user-agent')) to a analytics sink; this is your retrieval telemetry.
Ensure answer-bearing pages are server-rendered; an allowed bot that receives an empty JS shell is a silent stage-0 failure.
Ship a static public/robots.txt with the explicit per-bot policy; it deploys with every build and diffs cleanly in git.
Static HTML is ideal for AI fetchers; keep key content out of client-only islands.
Use your host's (Netlify/Vercel/Cloudflare) analytics or log drains to count AI user-agent hits monthly.
robots.txt belongs to the front end, not the CMS; serve it from the rendering layer and keep it in the same repo as the routes it governs.
If content is delivered via API to multiple heads, set the policy per head; an allowed bot on the marketing site may be rightly blocked on the app.
Manage bot exceptions at the edge (e.g. Cloudflare AI Crawl Control) so CDN rules and robots.txt tell the same story.
Place robots.txt at the web root with the explicit per-bot groups; test with curl -A "GPTBot" (and each other UA) that responses match the policy.
Parse access logs monthly for AI user-agents; a one-line grep -c per bot is enough telemetry to start.
If you're behind Cloudflare, review its AI-crawler defaults: since mid-2025 new zones can block AI bots out of the box, overriding your file.
05

Verification Checks

How to know it's really done

0/5 verified

Your crawler policy is real when the logs confirm it. Click a check to mark it verified:

06

Update Cadence & Dependencies

Keeping it alive

Monthly logs · quarterly policy
Monthly Scan logs for AI user-agent activity; investigate any allowed bot that went silent or new agent that appeared.
Quarterly Review the allow/deny policy; new bots ship constantly, and the crawl-economics debate (pay-per-crawl, default blocks) keeps moving the trade-offs.
On engine launches A new answer engine means new user-agents; add them to the policy before they become accidental blocks.
07

Impact Weightage & Results TAT

What it moves, and how fast

GEO outcome8%

A gate, not a gradient: retrieval access is binary, and one wrong line (or one WAF preset) zeroes out every other GEO investment on the affected engine.

SEO outcome2%

Mostly orthogonal to classic SEO, but Bingbot hygiene and rendering checks pay into both games.

Editorial estimate of this node's contribution to your total GEO / SEO outcome. Nodes overlap, so weights don't sum to 100.

Results TAT Days–2 weeks Confirming signalAllowed bots reappear in logs within days; citations on affected engines recover over the following weeks.

Tools for this

Go deeper from How AI Engines Work

Always current

These links resolve live: what you get is generated or filtered the moment you click.

Sources