Robots.txt Tester & AI Crawler Checker — who can crawl your site?
Validate robots.txt line by line, test any URL for any crawler, and see whether Googlebot, GPTBot, ClaudeBot, PerplexityBot and 16 other search and AI bots can read your pages — plus a live check that catches the firewall blocks robots.txt doesn't show.
How it works
-
Enter your site or a page
We fetch robots.txt the way crawlers do, check it line by line, and look for your sitemaps and llms.txt.
-
Every rule, every crawler
Twenty search and AI crawlers are tested against your home page and the page you entered, with the exact rule that decides each one — then asked for the page live, with their own user agents.
-
Test changes before you ship
Edit the robots.txt right in the page and every verdict updates instantly. Copy it when it does what you want.
What robots.txt does — and doesn't do
robots.txt is a plain text file at the root of a site (https://example.com/robots.txt)
that tells crawlers which URLs they may fetch. Every well-behaved crawler reads it before anything else:
Googlebot and Bingbot, and now a growing list of AI crawlers — OpenAI's GPTBot and OAI-SearchBot, Anthropic's
ClaudeBot, PerplexityBot and more. One wrong line can remove a site from Google, or from ChatGPT's answers,
overnight. It's a request, not a lock: it controls crawling, not indexing or access, and badly behaved bots
ignore it.
What this tester checks
Line-by-line validation
The file is parsed the way RFC 9309 — the Robots Exclusion Protocol standard Google follows — describes, and
every line gets a verdict. Typos such as Dissalow (crawlers silently skip the line), rules that
appear before any User-agent (they belong to no group), full URLs where a path is expected,
relative sitemap addresses, a $ in the middle of a pattern, and directives Google doesn't
support — Crawl-delay, Host and Noindex, which Google stopped honouring
in 2019 — are all flagged with an explanation. Files over 500 KiB are flagged too, because Google stops
reading there.
A URL tester that shows the deciding rule
Enter any path, pick a crawler, and the tester answers Allowed or Blocked and highlights the line that decided it. The rules are the standard ones:
- A crawler obeys the group that names it; only if there is none does it fall back to
User-agent: *. Several groups naming the same crawler are combined. - Among that group's rules, the longest matching path wins, and Allow wins a tie.
*matches any sequence of characters, and a$at the end anchors the end of the URL — soDisallow: /*.pdf$blocks PDFs only.- The query string is part of the URL being matched, so
Disallow: /*?blocks every URL with parameters.
Twenty search and AI crawlers at a glance
The crawler matrix tests your home page and the page you entered against twenty crawlers in three groups: search engines (Googlebot, Bingbot, Applebot, DuckDuckBot), AI search and assistants (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, DuckAssistBot) and AI training (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Meta-ExternalAgent, Bytespider, Amazonbot, cohere-ai). Click any cell to load that combination into the tester.
Blocking AI crawlers: search vs training
The distinction that matters is what a crawler is for. Training crawlers collect pages to train language models; blocking them doesn't change your search rankings at all. AI search crawlers are how ChatGPT search, Claude and Perplexity find pages to quote and link to; block those and your content can't be cited — or send you visitors — from AI answers. A common middle ground is to block training and allow search:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Note that Google-Extended and Applebot-Extended aren't crawlers: they're switches
that Google and Apple read to decide whether pages fetched by Googlebot and Applebot may be used for AI. And a
crawler with its own group ignores everything under User-agent: * — the tester warns when that
leaves a bot with fewer restrictions than you intended.
When robots.txt says yes but the bot still can't get in
robots.txt isn't the only gatekeeper. Firewalls and CDNs can block crawlers by user agent before robots.txt is ever consulted. Cloudflare has blocked AI crawlers by default on new sites since July 2025, and its newer per-purpose crawler controls can block more than intended. That's why the tester also requests your page live with each crawler's user agent and compares the answer with an ordinary browser request: a 403 or a challenge page that only bots receive is a firewall rule, not robots.txt. (Real crawlers come from their own networks; firewalls that verify bots by IP address may block our test request even when the genuine crawler gets through, so treat a block here as a lead to check in your CDN's bot settings.)
Status codes matter too
How the server answers for /robots.txt changes everything. A 404 (or any 4xx
except 429) means "no rules": crawlers may fetch everything. A 5xx or 429 is treated by Google
as "disallow everything" — crawling of the whole site pauses until robots.txt is reachable again. A
200 with an HTML page (common on single-page apps that answer every path with the app) means
crawlers find no rules at all. The summary at the top of the result calls out each case.
Sitemaps and llms.txt
Sitemap: lines in robots.txt are how crawlers other than Google find your sitemap; the tester
lists them and checks that each one answers. If none are declared, it looks in the usual places and tells you
what to add. It also checks for llms.txt, a proposed Markdown summary of a site for AI tools. It
doesn't grant or deny access — robots.txt does — and Google Search ignores it, so treat it as optional.
Edit and test before you deploy
Press Edit & test changes to change the file in the page: every verdict, the crawler matrix and the validation update as you type. Nothing is saved to your site; copy the result when it does what you want.
Related tools
Crawl access is one half of visibility; the page itself is the other. The SEO & AI Visibility Audit checks noindex tags, canonicals and what AI crawlers can actually read on the page, and the Redirect Checker shows the status code and redirect chain each crawler gets.
Get alerted when crawler access changes
The most expensive robots.txt mistake is the one nobody sees: a staging file with Disallow: /
shipped to production, or a CDN setting that starts turning crawlers away.
Monity re-reads robots.txt with every check and alerts you in
email, Slack or Teams when AI crawlers such as GPTBot, ClaudeBot or PerplexityBot lose (or regain) access,
when robots.txt starts blocking the page from Googlebot, or when the page turns noindex. The free plan
includes three monitors, forever.
FAQ
Common questions
How do I test robots.txt now that Google's tester is gone?
Google retired the Search Console robots.txt Tester in late 2023; its replacement report shows which robots.txt files Google found, but doesn't test URLs. This tool fills the gap: enter a page, pick a crawler, and it tells you whether the URL is allowed and which line decides, using the same rules Google documents (RFC 9309: longest match wins, Allow wins a tie, a crawler obeys only its own group if it has one). You can also edit the file here and re-test before deploying.
Should I block GPTBot and other AI crawlers?
It depends which ones. Training crawlers (GPTBot, ClaudeBot, Google-Extended, CCBot, Meta-ExternalAgent) collect pages to train models; blocking them has no effect on search rankings. AI search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot) are how ChatGPT, Claude and Perplexity find pages to cite and link to — block those and you disappear from AI answers. Many sites now block training and allow search; the matrix shows exactly where you stand.
robots.txt allows GPTBot, so why can't it read my site?
Because robots.txt isn't the only gate. CDNs and firewalls can block crawlers by user agent before robots.txt matters — Cloudflare has blocked AI crawlers by default on new sites since July 2025, and its newer crawler controls can catch more than intended. The live check requests your page as each crawler and flags blocks and challenges that robots.txt doesn't explain. (Firewalls that verify bots by IP may also block our test request, since it doesn't come from OpenAI's network.)
What's the difference between robots.txt, noindex and llms.txt?
robots.txt controls crawling: whether a bot may fetch a URL at all. noindex (a meta tag or X-Robots-Tag header) controls indexing: whether a fetched page may appear in results — and a crawler can only see it if robots.txt lets it fetch the page, so never block a page you want de-indexed. llms.txt is an optional Markdown summary of your site for AI tools; it grants or denies nothing, and Google Search ignores it.
Why does Googlebot ignore my "User-agent: *" rules?
A crawler that finds a group with its own name obeys only that group and ignores User-agent: * completely. So if you add User-agent: Googlebot to allow one thing, every Disallow under * stops applying to Google. The validator flags this; repeat the shared rules inside each specific group.
Can Monity alert me when crawler access changes?
Yes. Monity's SEO checks re-read robots.txt with every check and alert you in email, Slack or Teams when AI crawlers such as GPTBot, ClaudeBot or PerplexityBot are newly blocked or let back in, when robots.txt starts blocking the page from Googlebot, or when the page turns noindex — the classic "staging robots.txt shipped to production" mistake. The free plan includes 3 monitors forever.
One deploy can block Google from your whole site.
Monity catches it the same day.
Monity re-checks robots.txt and your key pages on a schedule and alerts you when a search or AI crawler loses access, or a page turns noindex.
- Free 7-day trial
- No credit card
- 3 monitors free, forever