Free tool
Test your robots.txt against every crawler that matters.
Paste your robots.txt, list the URLs you care about and see, crawler by crawler, what is allowed and which line decides. Or build a new file with a clear policy for AI crawlers.
- Runs in your browser
- Nothing is uploaded or stored
- Free, no sign-up
Open yoursite.com/robots.txt, copy everything and paste it here.
One per line: full URLs or paths starting with /. Up to 50.
Full addresses, one per line.
Deciding how visible you want to be in AI answers is part of our AI search work, alongside making sure the right pages get cited.
AI search optimisationThe crawlers this tool knows
What each crawler is for and what its operator says about robots.txt, from the operator’s own documentation. Last checked: .
| Token | Operator | robots.txt | Notes |
|---|---|---|---|
| Search engines | |||
| Googlebot | Follows it | Google Search, including AI Overviews and AI Mode: Google controls its AI features in Search through Googlebot, not Google-Extended. Docs | |
| Googlebot-Image | Follows it | Google Images and image features in Search; follows the Googlebot group when it has none of its own. Falls back to: Googlebot. Docs | |
| bingbot | Microsoft | Follows it | Bing, whose index also grounds Microsoft Copilot’s answers; Bing has no separate AI token. Falls back to: msnbot. Docs |
| Applebot | Apple | Follows it | Search features across Apple’s products; without a group of its own it follows your Googlebot rules. Falls back to: Googlebot. Docs |
| AI search and answers | |||
| OAI-SearchBot | OpenAI | Follows it | ChatGPT search: sites that block it are left out of ChatGPT’s search answers. Docs |
| Claude-SearchBot | Anthropic | Follows it | Indexes pages for search in Claude; blocking it may reduce your visibility in Claude’s answers. Docs |
| PerplexityBot | Perplexity | Follows it | Surfaces and links sites in Perplexity’s answers; Perplexity says it isn’t used to train foundation models. Docs |
| DuckAssistBot | DuckDuckGo | Follows it | Fetches pages for DuckDuckGo’s AI-assisted answers; not used for training, and opting out doesn’t affect rankings. Docs |
| meta-webindexer | Meta | Follows it | Helps Meta AI cite and link to content in its answers. Docs |
| Amzn-SearchBot | Amazon | Follows it | Amazon search experiences such as Alexa; Amazon says it isn’t used for generative AI training. Docs |
| MistralAI-Index | Mistral AI | Follows it | Indexes pages for search in Mistral’s assistant; not used for training. Docs |
| Fetches a user asks for | |||
| ChatGPT-User | OpenAI | May not follow it | Visits a page when a ChatGPT user asks it to; OpenAI says robots.txt rules may not apply to these visits. Docs |
| Claude-User | Anthropic | Follows it | Fetches pages when a Claude user asks; Anthropic says it follows robots.txt. Docs |
| Perplexity-User | Perplexity | Generally ignores it | Fetches pages a Perplexity user asks for; Perplexity says it generally ignores robots.txt. Docs |
| meta-externalfetcher | Meta | May not follow it | Fetches individual links a user asks for; Meta says it may bypass robots.txt. Docs |
| Amzn-User | Amazon | May not follow it | Fetches live information, for example for Alexa users; Amazon says it may not follow every rule. Docs |
| MistralAI-User | Mistral AI | Follows it | Fetches pages when a user of Mistral’s assistant asks; not used for training. Docs |
| AI training | |||
| GPTBot | OpenAI | Follows it | Collects data to train OpenAI’s models; separate from OAI-SearchBot, so blocking it doesn’t affect ChatGPT search. Docs |
| ClaudeBot | Anthropic | Follows it | Collects web content that may be used to train Anthropic’s models. Docs |
| CCBot | Common Crawl | Follows it | Builds Common Crawl’s free, open archive of the web, which anyone can reuse, AI developers included. Docs |
| meta-externalagent | Meta | Follows it | Collects content to train Meta’s AI models and to index it for Meta’s products. Docs |
| Amazonbot | Amazon | Follows it | Improves Amazon’s products and may be used to train Amazon’s AI models. Docs |
| MistralAI-Training | Mistral AI | Follows it | Builds Mistral’s training datasets; not used for search or live answers. Docs |
| Control tokens (not crawlers) | |||
| Google-Extended | Follows it | Not a crawler: decides whether content Google crawls may train future Gemini models and ground answers in Gemini apps. It doesn’t affect Google Search. Docs | |
| Applebot-Extended | Apple | Follows it | Not a crawler: decides whether content Applebot fetched may train Apple’s foundation models. Pages stay in Apple’s search results. Docs |
| Other | |||
| Bytespider | ByteDance | Not stated | The crawler for ByteDance’s Toutiao Search; its documentation doesn’t say whether it follows robots.txt. Docs |
How it works
Method, data and limits
The tester follows RFC 9309 and Google’s documented behaviour. A crawler obeys the most specific group that names it, falling back to the * group. Within that group the longest matching rule wins and Allow wins a tie. * matches any run of characters and $ marks the end of a URL. Paths are compared after their percent-encoding is normalised, so /ürünler/ and /%C3%BCr%C3%BCnler/ are the same path.
Like Google, it reads the first 500 KiB of a file, accepts a few common misspellings, ignores rules Google doesn’t support and always allows /robots.txt itself. The matcher is tested against the examples in Google’s documentation and in the RFC.
Crawler names and purposes come from each operator’s own documentation, checked on the date below. robots.txt is a request that well-behaved crawlers honour, not a way to keep anything private.
What robots.txt does, and what it doesn’t
robots.txt is a plain-text file at the root of a host, such as https://www.example.com/robots.txt, that tells crawlers which URLs they may fetch. It applies only to the protocol, host and port it is served from, so the file on www doesn’t cover the bare domain, a subdomain or the http version.
It controls crawling, not indexing. A blocked URL can still be indexed if other pages link to it; it just appears without a description, because Google can’t read the page. To keep a page out of search results, let Google crawl it and add noindex, or put it behind a password.
It is also a request, not a lock. Well-behaved crawlers such as Googlebot follow it, but RFC 9309, the standard behind the file, says its rules are not a form of access authorisation. Listing a private path there only advertises it.
How Google reads the rules
The file is made of groups, each starting with one or more User-agent lines followed by Allow and Disallow rules. A crawler follows only the group that names it most specifically. Groups for the same crawler are merged, and the * group applies only to crawlers with no group of their own: add a Googlebot group and Googlebot ignores everything under User-agent: *.
Within that group, the most specific rule wins, judged by the length of its path, and if an Allow and a Disallow rule are equally specific, Google uses the less restrictive Allow. * matches any sequence of characters and $ marks the end of the URL, so Disallow: /*.pdf$ blocks /guide.pdf but not /guide.pdf?v=2. Paths are case-sensitive.
Google supports only user-agent, allow, disallow and sitemap, so crawl-delay and noindex lines do nothing, and it ignores anything beyond the first 500 KiB. It generally caches the file for up to 24 hours. A 4xx response other than 429 is treated as if there were no file. A 5xx response or an unreachable file stops crawling for 12 hours; after that, Google works from its last good copy for up to 30 days.
Common mistakes and how to fix them
In audits we see the same problems again and again:
- A
Disallow: /left over from a staging site. Remove it at launch, and protect staging with a password instead. - Blocked CSS or JavaScript. If Google needs those files to understand a page, blocking them stops it analysing the page properly.
- Blocking pages to get them out of results. Lift the block, add
noindexand let Google recrawl them. - A specific group that drops the general rules. Copy into the
Googlebotgroup anything from*that Googlebot should still follow. - Rules written for the wrong case or host.
Disallow: /Checkoutdoesn’t block/checkout, and every subdomain needs its own file. - A robots.txt that returns a server error, often because of a firewall or CDN rule, which can pause crawling of the whole site.
AI crawlers: training, search and user requests
AI companies run several bots with different jobs. Training crawlers, such as OpenAI’s GPTBot and Anthropic’s ClaudeBot, collect content that may be used to train models. Search crawlers, such as OAI-SearchBot, Claude-SearchBot and PerplexityBot, find the pages that AI search tools show and link to. User-triggered fetchers, such as ChatGPT-User, Claude-User and Perplexity-User, fetch a page when someone asks for it.
Some names are tokens, not crawlers. Google-Extended has no crawler of its own: disallowing it opts your content out of training future Gemini models and of grounding in Gemini apps and Vertex AI, and Google says it doesn’t affect inclusion or ranking in Google Search. AI Overviews and AI Mode are part of Search, so your Googlebot rules govern them. Applebot-Extended does a similar job for Apple’s foundation models.
So blocking training and blocking AI search are separate decisions: you can disallow GPTBot and ClaudeBot and still allow the search crawlers. Blocking those has a cost. OpenAI says sites that opt out of OAI-SearchBot won’t be shown in ChatGPT search answers, and Anthropic says blocking Claude-SearchBot may reduce your visibility, so you can drop out of those answers and their citations.
Two caveats. Some operators say their user-triggered fetchers may not follow robots.txt, because a person asked for the page. And CDN or firewall settings can block AI crawlers whatever the file says.
How to act on the results
Run the URLs that matter through the tester above: a page from each key template, the CSS and JavaScript files they load, and every section you mean to block, for Googlebot and for each AI crawler your policy covers. If a URL is blocked by mistake, fix the rule that caught it rather than piling exceptions on top.
Google generally caches robots.txt for up to 24 hours, so a change can take a day to register. After unblocking important pages or fixing a fetch error, request a recrawl in Search Console’s robots.txt report. OpenAI and Perplexity say their systems can take about a day to reflect changes too.
Finally, write your AI policy down, with the reasons, and review it when the site changes or an operator documents a new user agent. Keep the file short, commented and free of anything you wouldn’t publish.
FAQ
Questions people ask
Does blocking a page in robots.txt remove it from Google?
No. robots.txt stops Google crawling the page, but the URL can still be indexed, without a description, if other pages link to it. To remove a page, allow crawling and add noindex, or protect it with a password.
Will blocking GPTBot or Google-Extended affect my Google rankings?
No. GPTBot is OpenAI’s training crawler and plays no part in Google Search, and Google says Google-Extended doesn’t affect inclusion or ranking in Search. AI Overviews and AI Mode follow your Googlebot rules instead.
Should I block AI crawlers?
Decide training and search separately. Disallowing training crawlers such as GPTBot and ClaudeBot tells those companies not to use your content for training, while blocking search crawlers such as OAI-SearchBot and PerplexityBot can keep you out of their answers and citations. If you want to be cited, allow the search crawlers whatever you decide about training.
Can robots.txt stop AI tools reading my content?
Only crawlers that choose to follow it. The file is a public request, not access control, and some operators say their user-triggered fetchers may not follow it. Anything that must stay private belongs behind a login.
How quickly do changes take effect?
Google generally caches robots.txt for up to 24 hours. After an urgent fix you can request a recrawl in Search Console’s robots.txt report, and OpenAI and Perplexity say their systems can take about a day to reflect changes.
Does Google support crawl-delay?
No. Google ignores crawl-delay, so it won’t slow Googlebot down. Some other operators, Anthropic among them, say they honour it, so it can still be worth keeping in their groups.
Insights
From the blog
AI Search
How to get your brand cited in AI Overviews, ChatGPT and Perplexity
What generative engine optimisation (GEO) really involves: AI crawler access, citable content, entity consistency and off-site mentions, and how to measure it.
Read articleTechnical SEO
Log-file analysis: where your crawl budget really goes
How to collect, verify and analyse server logs to see where Googlebot spends its crawl, which URLs waste it, and the fixes that move it to pages that matter.
Read articleTechnical SEO
JavaScript SEO: what Googlebot actually sees
How Google crawls, queues and renders JavaScript pages, what commonly breaks, which rendering strategy to choose, and how to test what Googlebot really sees.
Read articleMore free tools
- SERP preview & pixel checkerWriting titles and descriptions, or checking a whole site’s at once.
- Hreflang generator & validatorLaunching a site in another country or language, or tidying up an international one.
- GA4 UTM builderTagging newsletters, Business Profile links, PR placements, QR codes and paid campaigns.
- SEO-friendly URL slug generatorPlanning new pages, migrating a site or cleaning up URLs in bulk.
Get a free SEO audit
See what’s holding your search growth back.
Send us your URL. Within 48 hours a senior strategist will send you a personalised audit with your biggest opportunities, completely free.
- No obligation, no sales pitch
- Reviewed by a human expert
- Google, Bing & AI search