robots.txt tester
Paste a robots.txt file and a list of URLs, pick a crawler, and get a verdict for each URL with the exact line that decided it. It covers search bots and AI crawlers, applies RFC 9309 precedence, and runs entirely in your browser — nothing you paste is uploaded.
Free, no sign-up, nothing leaves this page.
How the verdict is decided
A robots.txt file is not read top to bottom until something matches. Crawlers that follow RFC 9309 apply three rules in order, and this tester applies the same three:
- One group wins. The crawler looks for the group whose
User-agentnames it most specifically.User-agent: *is only a fallback — if a group names the bot directly, the wildcard group is ignored completely, including itsDisallowlines. - The longest matching rule wins. Not the first, not the last.
Disallow: /private/andAllow: /private/report.pdfcan live in the same group: the second is longer, so that one file stays crawlable. - On a tie, Allow wins. When an Allow and a Disallow match with the same length, the URL is crawlable.
Two details catch people out. An empty Disallow: restricts nothing — it is the standard way of saying "everything is open", not "block everything". And * and $ are the only wildcards: * stands for any run of characters, $ anchors the end of the path, so /*.pdf$ matches /a/b.pdf but not /a/b.pdf.html.
Search crawlers and AI crawlers are different bots
Blocking an AI training crawler does not affect how your pages rank. They are separate user-agents run for separate purposes, and the distinction is the single most common misunderstanding we see in robots.txt files:
| User-agent | What it does |
|---|---|
GPTBot | OpenAI, training |
OAI-SearchBot | OpenAI, search inside ChatGPT |
ChatGPT-User | OpenAI, live fetch when a user asks |
ClaudeBot | Anthropic, training |
PerplexityBot | Perplexity, answers with citations |
Google-Extended | Google, Gemini training only |
CCBot | Common Crawl, the open training dataset |
Bytespider | ByteDance, training |
Applebot-Extended | Apple Intelligence training |
meta-externalagent | Meta, training |
Google-Extended is the clearest example: it controls whether your content trains Gemini, and has no effect on Google Search ranking. Googlebot is what crawls for Search. Blocking one leaves the other untouched.
What robots.txt cannot do
It is a crawling instruction, not an access control and not an indexing control. A disallowed URL can still appear in search results if other sites link to it, because the crawler never fetches the page and therefore never sees a noindex. To keep a page out of an index, allow the crawl and use noindex; to keep it private, require authentication. And well-behaved crawlers obey the file — nothing enforces it on the ones that do not.
robots.txt questions people actually ask
How do I check if a URL is blocked by robots.txt?
Does blocking GPTBot remove my site from Google?
What does an empty Disallow mean?
Disallow: line with no value restricts nothing — it is the standard way to say “the whole site is open”. To block everything you need Disallow: / with the slash.Which rule wins when Allow and Disallow both match?
Allow: /private/report.pdf beats Disallow: /private/ for that one file.Does robots.txt keep a page out of search results?
noindex if you want a page kept out of the index.Is my robots.txt uploaded anywhere by this tool?
Where does robots.txt have to live?
https://example.com/robots.txt. A file at a subpath is ignored, and subdomains need their own file.Check crawlability across a whole site, not one URL at a time
This page tests the rules by hand. The SEO audit and crawl APIs do it across every URL a site exposes, and return the result as JSON or Markdown.
Get my free API keyFree key, $2 of usage credit every month, no credit card.