Crawling
robots.txt Tester
Check any path against the rules a crawler actually follows, using the precedence defined in RFC 9309.
- Fetched live by our server
- Nothing stored
The tool
Enter a site to fetch its live robots.txt, or paste rules you are drafting, then list the paths to test.
Loading the tool…
The URL you enter is sent to our server, which requests that page from the public internet and returns the response to your browser for analysis. We do not store the URL or the response, and we do not add either to analytics. Requests come from our server, not from your device or from the crawlers being simulated, so a site that blocks data-centre addresses or verifies crawlers by IP may answer differently.
What this tool checks
- Fetches /robots.txt from the site, following up to five redirects, and reports the HTTP status and what that status means for crawling
- Selects the group that applies to the crawler: the most specific user-agent match, merged across repeated groups, or the * group
- Applies longest-match precedence, with Allow winning a tie, including * and $ wildcards and percent-encoding normalisation
- Gives each path a verdict of Allowed, Blocked or Indeterminate with the line number of the deciding rule
- Flags parser problems: missing colons, rules before any user-agent, unknown fields, a byte order mark and files over the 500 KiB limit
- Spots common mistakes such as blocking CSS and JavaScript, blocking the whole site, or relying on an unsupported noindex rule
- Lists the Sitemap lines the file declares
How to read the results
- Read the source panel first. If the file returned a 4xx status, crawlers treat the site as unrestricted. A 5xx status or a failed connection makes every verdict Indeterminate.
- Each path shows a verdict and, where a rule decided it, the line that won. No rule listed means nothing in the applicable group matched, so the path is allowed.
- If the explanation mentions the * group, no group named your crawler, so the generic rules were used instead.
- Work through the issues list from the top. High-severity items usually affect rendering or the whole site.
About this tool
What robots.txt does, and what it does not
A robots.txt file sits at the root of a host, for example https://example.com/robots.txt, and tells well-behaved crawlers which URLs they may request. It is a crawling control, not an indexing control and not a security measure. A URL that is disallowed can still be indexed without its content if other pages link to it, and anyone can still open it in a browser. To keep a page out of search results, let it be crawled and use a noindex robots meta tag or an X-Robots-Tag header instead.
Each host and protocol has its own file. Rules on https://www.example.com/robots.txt do not apply to https://shop.example.com/ or to the http:// version of the same host.
How a crawler chooses which rules to follow
The file is divided into groups. A group starts with one or more User-agent lines and continues with Allow and Disallow rules until the next User-agent line. A crawler looks for the group whose user-agent matches its own product token, ignoring case. If several groups name the same crawler, their rules are combined. Only if no group names it does the crawler fall back to the * group. A crawler that finds its own group ignores the * group entirely, which surprises many site owners.
User-agent: *
Disallow: /private/
User-agent: Googlebot
Disallow: /tmp/
Here Googlebot may crawl /private/, because its own group does not mention it. Google also documents that its specialised crawlers, such as Googlebot-Image, follow the Googlebot group when no group names them directly.
Which rule wins
Within the applicable group, the rule with the longest matching path wins. If an Allow and a Disallow rule match with equal length, the Allow wins. Two special characters are supported: * matches any sequence of characters, and $ anchors the end of the URL. Matching is case-sensitive and includes the query string.
User-agent: *
Disallow: /shop/
Allow: /shop/products/
Disallow: /*?sort=
Disallow: /*.pdf$
With these rules /shop/products/chair is allowed because the Allow rule is longer, /shop/products/chair?sort=price is blocked because the query-string rule is longer still, and /guide.pdf?download=1 is allowed because $ requires the URL to end in .pdf.
Status codes matter as much as the rules
Google treats a robots.txt that returns a 4xx status, such as 404, as if there were no restrictions. A 5xx status or a timeout is different: Google stops crawling the site for a while, as if everything were disallowed, and falls back to a cached copy if it has one. That is why this tester reports such cases as Indeterminate rather than guessing. Redirects are followed for up to five hops.
Mistakes we see most often
- Blocking stylesheets, scripts or images that pages need to render. Search engines render pages much like a browser, and blocked resources can make a page look broken or empty to them.
- Leaving
Disallow: /in place after a staging site goes live. - Expecting
Noindex:lines in robots.txt to work. Google stopped supporting them in 2019. - Expecting
Crawl-delayto slow Googlebot. Google ignores it; Bing still reads it. - Blocking a page you also mark
noindex. If crawlers cannot fetch the page, they never see the noindex tag.
Testing changes safely
Paste a draft into the tester with a list of your important URLs, including templates such as product, category and article pages and the CSS and JavaScript files they load. Fix anything that is blocked unexpectedly before you publish. After publishing, run the live test again, and use the robots.txt report in Google Search Console to confirm which version Google has fetched.
Limits and honest caveats
- This shows what the robots.txt rules permit. It cannot tell you whether a page is indexed: a blocked URL can still appear in results if other sites link to it.
- Crawlers follow the standard to different degrees. The matching here follows RFC 9309 and Google documentation; some smaller crawlers implement older or simpler rules.
- The file is fetched from our server. A site that serves a different robots.txt to different visitors or IP ranges may show real crawlers something else.
- Google caches robots.txt for up to 24 hours, so a change you just published may not be in effect for Google yet.
What people use it for
- Checking that a new robots.txt does not block pages or assets that matter before it goes live
- Finding out why a page shows as blocked by robots.txt in Search Console
- Testing whether AI crawlers such as GPTBot or ClaudeBot are permitted on specific sections
- Auditing a site after a migration or a staging launch for leftover Disallow rules
- Explaining to a client exactly which rule blocks a URL and why it wins
Documentation and references
Questions
Questions about this tool
The things clients actually want to know — costs, timelines, ownership and what happens after launch.
No. robots.txt stops crawling, not indexing. A blocked URL can still be indexed from links, usually without a description. Use a noindex tag on a crawlable page to keep it out of results.
A crawler that finds a group naming it follows only that group and ignores the * group. Add the rule to the crawler-specific group as well.
Google and most major crawlers treat a missing file, or any 4xx status, as permission to crawl everything.
Google treats a server error as a temporary instruction not to crawl the site and may use a cached copy. This tester reports that as Indeterminate.
Paths are case-sensitive, so Disallow: /Private does not block /private. User-agent names are not case-sensitive.
It is optional but useful: it lets any crawler discover your sitemap. Use the full absolute URL.
Documentation last reviewed: by the Best Web Developer engineering team.
Free strategy session
Let’s build something worth finding.
Tell us where you want the business to be in twelve months. We will come back with a costed plan, a realistic timeline, and the numbers we expect to move — no obligation, no jargon.
- 30-minute call, no pitch deck
- Fixed-price proposal in 48 hours
- You own everything we build
Talk to a developer
Not a sales team
- Response time
- Within 1 business hour
- Where we work
- UK, USA & the Gulf
- Contracts
- No lock-in, monthly rolling
- Working since
- 2023