Free tool
Read a robots.txt file properly
A four-line file that occasionally removes an entire section of a website from search. This fetches it as served and explains what each directive actually instructs.
Context
The most consequential file nobody reviews
robots.txt is checked before almost anything else a crawler does. It is also, on most websites, the file least likely to have been read since it was created — frequently by a developer during a build, sometimes by a plugin, occasionally copied from a previous project along with rules that made sense for a site that no longer exists.
The consequences are asymmetric. A rule that is too permissive costs a little crawl efficiency. A rule that is too restrictive can remove a section of the website from search entirely, and because it fails silently, it can go unnoticed for months. The single most common serious instance is a staging site’s blanket disallow surviving the move to production.
This tool shows you the file as served, lists the groups and rules it declares, and explains each one. It does not tell you which rules are wrong, because that depends entirely on what lives at those paths — a judgement about your website rather than about the file.
Reference
What each directive actually does
Several of these are routinely read as meaning something stronger or weaker than they do.
| What it instructs | What it does not do | |
|---|---|---|
| User-agent | Opens a group of rules that applies to the named crawler. A crawler follows the single most specific group that matches it. | Rules do not accumulate across groups. A crawler matched by a specific group ignores the wildcard group entirely, which surprises people regularly. |
| Disallow | Asks a crawler not to fetch addresses beginning with the given path. | Does not remove a page from search results, does not prevent indexing by address, and provides no access control whatsoever. |
| Allow | Carves an exception out of a broader disallow. The more specific rule wins regardless of order. | Does not invite crawling of something that was never blocked. An allow rule with no corresponding disallow does nothing. |
| Sitemap | Declares where a sitemap can be found. It applies to the whole file rather than to any one group, and may be listed more than once. | Does not guarantee the sitemap is read, valid or up to date. It only makes it discoverable. |
| Crawl-delay | Requests a pause between requests. Honoured by some crawlers, including Bing. | Ignored by Google entirely. Crawl rate for Google is managed in Search Console, not here. |
| Noindex | Nothing. It is not part of the standard and is not supported in this file. | Does not prevent indexing. A noindex directive belongs in a meta tag or an HTTP header, on a page that is permitted to be crawled. |
Diagnosis
Patterns worth recognising
Disallow: / against the wildcard agent
Correct on a staging environment, serious on a live one. If a site has never appeared in search since launch, this is the first thing to check and remains one of the most common single causes.
Blocked CSS or JavaScript directories
Common on older sites, inherited from advice that predates rendering. Blocking these prevents a search engine seeing the page as a visitor does, which affects how it assesses layout, mobile suitability and sometimes content itself.
A specific bot group placed after the wildcard
Order does not matter, but specificity does. A group naming Googlebot replaces the wildcard group for Googlebot entirely, so anything you intended to apply to everyone must be repeated inside it.
No sitemap declared
Not a fault — sitemaps are found by other means — but declaring one here is the most reliable route, costs a single line, and is the only place a crawler is guaranteed to look before doing anything else.
Common questions
Every disallow rule is flagged. Are they all problems?
We disallowed a page and it still appears in Google.
Is robots.txt a security measure?
Should we block AI crawlers?
Why does the file look different when we fetch it ourselves?
Related
If a section disappeared from search, this is rarely the only cause
Crawl directives, canonical declarations, internal linking and indexation signals interact. A full snapshot examines them together.



