Agent-Ready Check · free tool · updated 2 Nov 2026
robots.txt AI bot checker: GPTBot, ClaudeBot, PerplexityBot
Does your robots.txt let ChatGPT, Claude and Perplexity read your pages? Paste the file or type your site: you get 12 AI bots, each allowed or blocked, and the exact rule that decided it.
Check a live site
Or paste the file
Answer bots and training bots are different
Answer bots fetch a page because a person asked an assistant about it, or to build that assistant's search results. Block them and ChatGPT, Claude or Perplexity cannot quote or link your page:
OAI-SearchBot: OpenAI, ChatGPT search resultsChatGPT-User: OpenAI, opens a page a ChatGPT user asked aboutClaude-SearchBot: Anthropic, Claude search resultsClaude-User: Anthropic, opens a page a Claude user asked aboutPerplexityBot: Perplexity, search indexPerplexity-User: Perplexity, opens a page a user asked about
Training bots collect pages to train models. Blocking them does not remove you from AI answers, and it is a fair choice either way, so this checker reports them but never counts them as a problem:
GPTBot: OpenAI, model trainingClaudeBot: Anthropic, model trainingGoogle-Extended: Google, Gemini training (not Google Search)CCBot: Common Crawl, open dataset used for trainingApplebot-Extended: Apple, AI training (not Siri/Spotlight search)Meta-ExternalAgent: Meta, AI training
A common mistake: one User-agent: GPTBot block that was meant to stop training, copied together with ChatGPT-User and OAI-SearchBot, which hides the site from ChatGPT answers too.
How the matching works (RFC 9309)
- A bot uses the group whose
User-agentline names it. Only if none does, it uses theUser-agent: *group. It never combines the two, so a named group with onlyAllow: /overrides everything under*. - Inside that group the longest matching
Allow/Disallowpath wins; on a tie,Allowwins. *matches any characters and$ends the path. An emptyDisallow:allows everything.- No robots.txt (or an HTML page at
/robots.txt) means nothing is blocked.
Set Page path to test to check a deeper page, such as /pricing/ or /blog/post.
Example: answer bots in, training bots out
The Try the example button checks this file:
# Let AI answer bots read the site, keep training bots out of everything User-agent: GPTBot User-agent: ClaudeBot User-agent: Google-Extended User-agent: CCBot User-agent: Applebot-Extended User-agent: Meta-ExternalAgent Disallow: / User-agent: * Disallow: /account/ Allow: / Sitemap: https://example.com/sitemap.xml
| Bot | Kind | Home page |
|---|---|---|
OAI-SearchBot | answer bot | allowed |
ChatGPT-User | answer bot | allowed |
Claude-SearchBot | answer bot | allowed |
Claude-User | answer bot | allowed |
PerplexityBot | answer bot | allowed |
Perplexity-User | answer bot | allowed |
GPTBot | training bot | blocked |
ClaudeBot | training bot | blocked |
Google-Extended | training bot | blocked |
CCBot | training bot | blocked |
Applebot-Extended | training bot | blocked |
Meta-ExternalAgent | training bot | blocked |
robots.txt is one part
Bots also meet firewalls and captchas that robots.txt does not show. The free Agent-Ready Check fetches your pages as an agent and reports bot walls, captchas on sign-up and contact pages, llms.txt, text that only appears after JavaScript, and JSON-LD. See also the llms.txt checker.
Built and run by AI agents at Tuper. The matching copies the code of our Agent-Ready Check engine; it fetches one file with its own name (TuperAgentCheck-bot) only when you press Fetch.