Applies the real rules
Groups are matched the way a crawler matches them, longest user-agent first, with * as a fallback rather than a competitor. Longest matching path wins, and Allow beats Disallow on a tie.
Free tool · No signup
This AI crawler access checker reads your robots.txt and reports each crawler's verdict with the exact line that decided it.
CRAWLER ACCESS REPORT
AI CRAWLERS
| Crawler | Purpose | Access | Decided by |
|---|
SEARCH CRAWLERS
| Crawler | Purpose | Access | Decided by |
|---|
ROBOTS.TXT
CHECKING MANY SITES?
The ToolTrace API returns any public file with full fetch evidence, so crawler access can be audited across a portfolio on a schedule rather than one domain at a time.
WHAT THIS CHECKER DOES
Groups are matched the way a crawler matches them, longest user-agent first, with * as a fallback rather than a competitor. Longest matching path wins, and Allow beats Disallow on a tie.
Every verdict names the rule and line number responsible, so a surprising result can be traced to the directive that caused it instead of guessed at.
Training crawlers, search crawlers and user-triggered fetchers are labelled separately, because blocking them means very different things.
AI CRAWLER ACCESS GUIDE
AI assistants answer questions using pages they are allowed to fetch. This guide covers which crawlers matter, how the AI crawler access checker reads your rules, how to allow or block a crawler, and the decision most sites get wrong.
Not every AI crawler does the same job, and the distinction changes what blocking one costs you.
GPTBot from OpenAI, ClaudeBot from Anthropic, Google-Extended, Applebot-Extended, meta-externalagent, CCBot and Bytespider gather content used to train models. Blocking these keeps your writing out of a training set. It does not remove you from anything a user sees today.
OAI-SearchBot, Claude-SearchBot and PerplexityBot build the indexes those assistants search when answering. Blocking these removes you from their answers, which for most sites is the opposite of the goal.
ChatGPT-User, Claude-User and Perplexity-User fetch a page at the moment a person asks about it. Blocking these means that when somebody pastes your URL into an assistant and asks what it says, the assistant cannot read it.
It fetches /robots.txt from the domain you enter and parses it the way RFC 9309 specifies, then evaluates each crawler against the result.
That evaluation is less obvious than it looks, and it is where simpler checkers disagree with reality. A crawler uses the group whose user-agent value is the longest match for its own name; * is a fallback used only when no named group matches, not a rule that competes with one. Within the chosen group, the longest matching path pattern wins, and when an Allow and a Disallow match at equal length, Allow wins. An empty Disallow: means nothing is disallowed.
Because those rules decide the answer, this checker reports the specific rule and line number behind every verdict rather than a bare allowed or blocked.
To block a single crawler, give it its own group:
User-agent: GPTBot
Disallow: / To allow everything except one area, disallow the path rather than the whole site:
User-agent: GPTBot
Disallow: /members/
Allow: / Each crawler needs its own group. There is no wildcard for "all AI bots", so blocking GPTBot does nothing to ClaudeBot. Place the file at your domain root, reachable at https://example.com/robots.txt, and remember rules are per host: a subdomain has its own robots.txt and is not covered by the parent domain's.
There is no universal answer, but the question is more precise than it usually gets asked. "Should I block AI?" bundles three separate decisions.
Training is a genuine judgement call. If your content is your product, keeping it out of training data is defensible. If your content exists to attract customers, being part of what models know about your field is usually an advantage.
Search and answers is rarely a good block. These crawlers decide whether you appear when someone asks an assistant a question in your category. Blocking them is closer to removing yourself from Google than to protecting your work.
User-triggered fetches are almost never worth blocking. Somebody has explicitly asked about your page; refusing to serve it means the assistant answers from memory or not at all.
The common error is blocking all three when only the first was intended.
Blocking a crawler that does not exist. User-agent names are specific strings. A group for Claude or OpenAI matches nothing, because the real names are ClaudeBot and GPTBot. The check will show you the group that actually applied.
Assuming a wildcard covers named crawlers. A generous User-agent: * block does not apply to a crawler that has its own group, even a nearly empty one.
Forgetting subdomains. Blocking crawlers on example.com leaves docs.example.com untouched. Check each host separately.
Believing robots.txt is enforcement. It is a published request that well-behaved crawlers honour. It is not authentication, and it does not protect anything that genuinely needs protecting.
Enter your domain above. The checker reads your robots.txt, applies the rules as a crawler would, and reports whether GPTBot is allowed along with the line that decided it.
The major named crawlers publish user-agent strings and state that they follow it. It is a voluntary convention, so treat it as a request that reputable operators honour rather than an enforced block.
Add a group naming the crawler and disallow everything: User-agent: GPTBot then Disallow: /. Repeat for each crawler; there is no wildcard covering all of them.
It depends on the crawler's purpose. Blocking training keeps you out of a model. Blocking search or user-triggered crawlers removes you from the answers assistants give, which is usually not what a site wants.
Blocking Google-Extended does not affect Search ranking; it opts you out of Gemini training and grounding only. Blocking Googlebot is a different rule and would remove you from Search.
GPTBot collects content for training. ChatGPT-User fetches a page because someone asked ChatGPT about it. Blocking the second means an assistant cannot read your page for a user who explicitly requested it.
A verdict without a reason is hard to act on. This AI crawler access checker names the directive behind each result, so a surprising block leads straight to the line that caused it.
Access is only the first question. Once crawlers can reach your pages, what they find there decides how well they can use them.
Draft a curated file with the llms.txt Generator.
Crawlers still find pages through your sitemap. Validate it with the XML Sitemap Checker.
Our AI search guide covers access, structure, and original content together.