KA Kashi AhmerDeveloper & Webmaster Hub
Machine-readable

robots.txt for AI Crawlers: GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot

Which AI crawler does what, how to allow the ones you want citations from, and how to block training without disappearing from answers.

Most site owners who “blocked AI” did it by pasting a snippet that blocks everything. Then they wondered why the assistant stopped citing them. The crawlers are not interchangeable: some fetch live answers, some collect training data, and blocking one has nothing to do with the other.

Who is crawling your site

CrawlerOwnerPurposeBlocking cost
GPTBotOpenAITraining corpus collectionYou lose training inclusion; live search still works
OAI-SearchBotOpenAIIndex for ChatGPT search answersYou disappear from ChatGPT search citations
ChatGPT-UserOpenAIUser-triggered page fetch inside a chatLinks users paste stop resolving
ClaudeBotAnthropicCrawling for ClaudeLower chance of Claude citing you
PerplexityBotPerplexityAnswer indexRemoved from Perplexity answers
Google-ExtendedGoogleGemini training and groundingNo Gemini grounding; Google Search unaffected
Applebot-ExtendedAppleApple Intelligence trainingNo effect on Siri or Spotlight
CCBotCommon CrawlOpen dataset used by many modelsWidest indirect exclusion

A sane default policy

For a content site that wants citations, allow the answer crawlers and decide separately about training. For a members-only or scraped-content-risk site, block aggressively but accept the visibility loss.

# Allow answer engines
User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: ClaudeBot
Allow: /

# Training crawler: optional
User-agent: GPTBot
Allow: /

# Never crawl these
User-agent: *
Disallow: /admin/
Disallow: /cart/

Sitemap: https://example.com/sitemap.xml
Watch out

Never write User-agent: * with Disallow: / and then expect an allow rule further down to override it for a specific bot. Order matters, and the most specific matching group wins — so put bot-specific groups first and test afterwards.

Verify instead of guessing

  1. Fetch https://yourdomain.com/robots.txt in a private window and confirm it is not cached from an old version.
  2. Check that your CDN is not serving HTML with a 200 status for missing files — a soft 404 of robots.txt confuses crawlers badly.
  3. Confirm your sitemap URL in the file actually returns XML with <loc> entries.
  4. Re-run a visibility audit and confirm the crawler checks pass.

Static sites and GitHub Pages

On GitHub Pages you cannot set custom headers, but a plain robots.txt in the repository root is served as text and works fine. Keep the file small, keep it honest, and do not add comments that describe pages you removed two years ago.

Good to know

Build the whole file in one click with the AI crawler robots.txt Builder. It toggles each bot, adds private-path rules and appends your sitemap.

The business decision behind the technical one

Blocking AI training is a legitimate choice, and so is allowing it. What is not legitimate is an inconsistent policy — blocking GPTBot while paying an agency for “ChatGPT visibility”. Pick a position, write it down, and make the robots file match it.

Frequently asked questions

Does blocking GPTBot remove me from ChatGPT answers?

Not directly. Live answers come from search crawlers such as OAI-SearchBot. Training inclusion is a separate path.

Will AI crawlers respect robots.txt?

The major vendors document that they do. Smaller scrapers may not, in which case rate limiting and terms of service are your tools.

Is Google-Extended the same as Googlebot?

No. Googlebot crawls for Search. Google-Extended controls Gemini training and grounding only.

Kashi Ahmer

Founder of MKM.Fan — the platform where creators create their content and share it on their own subdomain. I build free, privacy-friendly webmaster tools and write about how modern search and AI answer engines discover, read and cite websites.

More about me  ·  Get in touch

Keep reading

Check your own site

Run the six-category AI visibility audit on the page you care about most. It takes about ten seconds.

Open the checker