Check & monitor · Robots.txt
Robots.txt file: disallow rules, noindex, and how to block Googlebot without losing pages
Robots.txt is four directives and a text file, and it is still the single most destructive line of code most sites ever ship. One stray Disallow: / pushed live with a staging config has taken more sites out of Google than every algorithm update combined.
Submit · monitor coverage · official methods only
Ready to check coverage
Paste a sitemap to sweep every URL for index status, then submit the missing ones through the official Google Indexing API and Bing IndexNow.
Coverage
indexed
Avg time to index
URLs submitted
Now eligible
Live, interactive · sample data · official methods only
Official Google Indexing API · Bing IndexNow · verified sitemaps · no spam, no PBNs
In short
Robots.txt is a plain text file at the root of a domain that tells crawlers which paths they may request. Google supports exactly four fields in it: user-agent, allow, disallow, and sitemap. It controls crawling, not indexing. Google states that it cannot index the content of pages disallowed for crawling, but it may still index the URL and show it in search results without a snippet. Google honors the file up to 500 kibibytes and generally caches it for up to 24 hours.
Last updated August 2026
The confusion at the heart of it is simple. People reach for robots.txt when they want a page out of Google, and that is not what it does. Robots.txt controls whether a crawler may fetch a URL. Indexing is a separate decision, made separately. Block a page and Google will not read its content, but it can still list the bare URL if other sites link to it. Worse, blocking a page means Google can never crawl it, which means it can never see the noindex tag you also added, so the tag does nothing forever.
This page is the reference: the four fields Google actually supports, the syntax rules that trip people up, working examples you can copy, and the mistakes worth checking for right now. If you want to know whether your robots.txt is currently costing you pages, the console above shows you what is indexed and what is not.
Official methods only
White hat · no spam, no PBNs
Why it works
What your team gets with robots.txt
Crawling, not indexing
Robots.txt decides whether a crawler may fetch a URL. It does not decide whether Google indexes it. Those are two different jobs and mixing them up is how pages get lost.
Four fields, no more
Google supports user-agent, allow, disallow and sitemap. Directives you may have seen elsewhere, including noindex inside robots.txt, are not supported and are silently ignored.
See the damage, if any
A rule that blocks more than you intended does not announce itself. Coverage monitoring shows which URLs are blocked by robots.txt right now, so a bad rule surfaces in days, not quarters.
What it handles
Submitted, monitored and fixed, automatically
Indexing submits your URLs through the official Google Indexing API, Bing IndexNow and clean XML sitemaps, watches coverage across both engines, and flags any page that drops out with a plain-English reason so you can resubmit and get it back.
- Flags URLs currently blocked by robots.txt across your whole site
- Separates blocked-by-robots from noindex and canonical exclusions
- Alerts you when a previously indexed URL becomes blocked
- Confirms your sitemap is declared and reachable
- Resubmits pages through official channels once a block is lifted
Not indexed yet
/blog/seo-guide-2026 is discovered but not indexed
thin content signal, queued for re-crawl via the Indexing API
Why Indexing
One place to submit, monitor and fix coverage
Not a black-hat indexer that risks your site, not a free checker that only tells you the bad news. Indexing unifies official submission and live coverage monitoring, the white-hat way, across Google and Bing.
Submits the official way
Bulk-submit through the Google Indexing API, Bing IndexNow and clean XML sitemaps. We speed discovery and re-crawl using methods the engines support, never spam, PBNs or black-hat tricks.
Monitors coverage live
You do not refresh a search bar one URL at a time. Indexing watches which pages are in Google and Bing, catches anything that drops out, and tracks time-to-index across your whole site.
Diagnoses and resubmits
Every non-indexed page comes with a plain-English reason, then auto-resubmits through the official API so it gets another shot. Google still decides, but nothing waits in the dark.
At a glance
The four robots.txt directives Google supports
Google honors exactly these four fields. Anything else in the file is ignored. Verified against the Google robots.txt specification, July 2026.
| Directive | What it does | Example | Notes |
|---|---|---|---|
| user-agent | Names the crawler the following rules apply to. Starts a group. | User-agent: Googlebot | Use * for all crawlers. Google AdsBot crawlers ignore the * group and must be named explicitly. |
| disallow | Tells the named crawler not to request paths matching this pattern. | Disallow: /admin/ | An empty Disallow: means allow everything. Disallow: / blocks the entire site. |
| allow | Carves an exception out of a broader disallow rule. | Allow: /admin/public-page.html | The more specific rule wins, regardless of the order the lines appear in. |
| sitemap | Points crawlers at your XML sitemap. Independent of any user-agent group. | Sitemap: https://example.com/sitemap.xml | Must be a full absolute URL. You can list more than one. |
The rules Google actually applies
The specification is short, and the parts people get wrong are always the same handful.
Location and name are fixed. The file must be at the root of the host, at /robots.txt, and the filename is lowercase. A file at /pages/robots.txt does nothing at all. Each subdomain and each protocol is a separate host with its own file, so blog.example.com needs its own robots.txt and does not inherit the one from example.com.
Matching is prefix-based, and only two wildcards exist. The asterisk matches zero or more characters and the dollar sign anchors to the end of the URL. Trailing wildcards are pointless because Google ignores them: /fish* and /fish are treated identically. Paths are case sensitive, so Disallow: /Admin/ does not block /admin/.
- Must live at the host root: https://example.com/robots.txt, lowercase filename
- Every subdomain and protocol needs its own file, nothing is inherited
- Google honors up to 500 kibibytes; anything past that is ignored
- Google generally caches the file for up to 24 hours, adjustable with Cache-Control
- Wildcards: * matches any run of characters, $ anchors the end of the URL
- Paths are case sensitive; the most specific matching rule wins, not the first
Robots.txt examples you can copy
Allow everything, which is what most sites should ship. An empty disallow value means no restriction:
User-agent: * / Disallow: / and nothing else is the nuclear option. It blocks every crawler from every URL. This is the line that ships by accident from a staging environment and takes a site out of search. If you take one thing from this page, make it a habit of checking this line after every deploy.
Blocking a directory while keeping one file inside it crawlable is the classic use of Allow. The more specific rule wins, so the exception works regardless of line order:
Blocking one crawler while leaving the rest alone needs its own group. Each user-agent line starts a new group, and a crawler only obeys the most specific group that names it, so a bot named explicitly ignores the * group entirely.
- Allow everything: User-agent: * then Disallow: (empty value)
- Block the whole site: User-agent: * then Disallow: / (dangerous, check after every deploy)
- Block a folder: User-agent: * then Disallow: /admin/
- Block a folder but allow one file: Disallow: /admin/ then Allow: /admin/public.html
- Block URLs by extension: Disallow: /*.pdf$ (the $ anchors the end)
- Block search and filter URLs: Disallow: /*?sort= and Disallow: /*?filter=
- Declare your sitemap: Sitemap: https://example.com/sitemap.xml
The five mistakes that actually cost traffic
Shipping the staging robots.txt to production. A build pipeline that copies the wrong config file writes Disallow: / on a live site, and nothing breaks visibly. The site keeps loading, the pages keep working, and rankings quietly evaporate over the following weeks. Check /robots.txt after every deploy.
Blocking a page and adding noindex at the same time. This is the one that feels clever and is self-defeating. If Google cannot crawl the URL it cannot read the noindex tag, so the tag never takes effect and the URL can sit in the index indefinitely. To remove a page, allow the crawl and serve noindex.
Using robots.txt to hide private data. The file is public and anyone can read it, so listing Disallow: /internal/customer-exports/ tells the whole internet exactly where to look. Private means authentication, not a disallow rule.
Blocking CSS and JavaScript. Google renders pages. Block the assets and Googlebot sees a broken layout, which affects how it assesses the page. There is almost never a good reason to disallow your asset directories.
Assuming a block removes an existing page. It does not. Blocking crawling on a URL already in the index tends to freeze it there, snippet and all, because Google cannot re-crawl to discover it should change. Removal needs noindex on a crawlable page.
robots.txt for AI crawlers: the tokens that matter in 2026
The most consequential robots.txt decisions being made right now are about AI crawlers, and a lot of sites are making them by accident. During 2024 plenty of teams added a broad block against anything that looked like an AI bot. Some of those rules are still in place, and the sites carrying them are now invisible in exactly the place their buyers are starting to look. robots.txt is the file that decides this, because every major operator documents robots.txt as the control surface and none of them uses any other file.
The distinction that matters is between training and retrieval, because they are different crawlers with different tokens. OpenAI documents GPTBot for training its foundation models and OAI-SearchBot for surfacing sites in ChatGPT search results, and it says that a site opting out of OAI-SearchBot will not be shown in ChatGPT search answers. Anthropic documents ClaudeBot for training and Claude-SearchBot for search quality. Perplexity documents PerplexityBot for surfacing and linking sites in its results. Google keeps them separate too: Google-Extended controls AI training and grounding in Google products other than Search, and toggling it has no effect on Search ranking.
So a policy of blocking training while allowing retrieval is entirely writable, and for most businesses selling something it is the right one. Two limits are worth knowing. User-initiated fetchers behave differently: Perplexity states that Perplexity-User generally ignores robots.txt because a person asked for that specific page, and ByteDance's Bytespider has been widely reported not to honor the file at all, so anything you genuinely need enforced belongs at the CDN or firewall. And the usual rule still applies here: disallowing a crawler stops the fetch, it does not remove anything from an index.
- Training tokens: GPTBot, ClaudeBot, CCBot, Google-Extended, Applebot-Extended.
- Retrieval tokens that decide AI citations: OAI-SearchBot, Claude-SearchBot, PerplexityBot.
- User-triggered tokens: ChatGPT-User, Claude-User, Perplexity-User.
- Google-Extended affects Gemini training and grounding, never Search ranking.
- Google requires a page to be crawlable and indexed before AI Overviews can use it.
- Audit any AI block written in 2024. It may be costing you ChatGPT and Perplexity citations today.
Keep reading
- Robots.txt vs Noindex: Which Keeps a Page Out of Google? Robots.txt controls crawling, noindex controls indexing. Blocking a page hides your noindex tag from Google. Here is which one actually removes a page, and when.
- Block Googlebot: How to Do It Without Tanking Your SEO Block Googlebot with robots.txt or noindex? They do different jobs, and blocking the crawl never removes a page from the index. Here is the right tool for each.
Good questions
Questions about robots.txt
Explore more
More ways teams get every page indexed
Stop guessing. Get every page indexed and keep it that way.
Bulk-submit your URLs through the official Google and Bing channels, monitor coverage, and resubmit anything that drops out, automatically. White hat only, so we speed discovery without ever guaranteeing what Google chooses to index.
Google Indexing API · Bing IndexNow · sitemaps · coverage monitoring · official methods only