- Tools
- Browser, Terminal (curl), Claude or ChatGPT
- Price
- Free
- Time
- 2 min to test, 15 min to fix
- Level
- Beginner
You type your company name into ChatGPT or Perplexity. The answer is vague, out of date, or mentions a competitor. There can be several reasons, but the first one to rule out is simple: your website may be blocking AI crawlers, sometimes for years, without anyone having decided it.
This tutorial is for any small business owner or freelancer with a website. You do not need to be a developer: you read a text file, run one command and ask an AI assistant to do the diagnosis.
What you need to know about robots.txt
The robots.txt file sits at the root of your site (for example yoursite.com/robots.txt). It tells crawlers which pages they may visit. Each AI company runs several crawlers with different jobs. Here are the official names, as published by OpenAI, Anthropic, Perplexity and Google:
- OpenAI:
OAI-SearchBotsurfaces websites in ChatGPT search,GPTBotcollects content that may be used to train models,ChatGPT-Uservisits a page when a user asks for it. - Anthropic (Claude):
Claude-SearchBotis for search,ClaudeBotfor training,Claude-Userfor pages requested by a Claude user. - Perplexity:
PerplexityBotshows and links sites in its results (Perplexity says it does not train models),Perplexity-Uservisits a page on a user's request. - Google:
Googlebotfor Google Search.Google-Extendedis not a crawler but a token that controls whether your content is used to train Gemini. Google states it has no effect on your inclusion or ranking in Search.
Remember the difference: blocking a training crawler does not remove you from answers. Blocking a search crawler does.
The test, step by step
- Read your robots.txt fileOpen
yoursite.com/robots.txtin your browser, or run this command in the Terminal (Mac or Linux). Replace the address with yours.curl -s https://www.yoursite.com/robots.txt - Spot the blocking linesLook for
Disallow: /underUser-agent: *(everyone is blocked) or under the name of one of the crawlers above. An error page instead of the file is fine: with no robots.txt, nothing is forbidden. - Test how your server answers each crawlerSome hosts and firewalls block AI crawlers before robots.txt even matters. This command requests your home page under each crawler's name and prints the code it gets back: 200 means "page served", 403 means "refused".
for bot in OAI-SearchBot GPTBot Claude-SearchBot ClaudeBot PerplexityBot Googlebot; do echo "$bot : $(curl -s -o /dev/null -w '%{http_code}' -A "$bot" https://www.yoursite.com/)" done - Let the AI read the resultPaste your robots.txt and the codes into Claude or ChatGPT with the prompt below. Nothing in it is confidential: robots.txt is a public file.
Help me check whether AI crawlers can read my website.
Here is my robots.txt file:
<robots>
[paste the content here]
</robots>
Here are the HTTP codes my home page returned for each crawler:
<codes>
[paste the command output here]
</codes>
1. Make a table: crawler, company, role (search, training, on-demand visit), allowed or blocked, the line of the file that decides it.
2. Point out syntax errors and rules that contradict each other.
3. If a code is 403 while robots.txt allows the crawler, explain that the block probably comes from the host or firewall, and tell me where to look.
4. Suggest a corrected version that allows search crawlers and lets me choose for training crawlers.
Base your answer only on the file and codes provided. If you do not know a crawler name, say so instead of guessing.Fix the file
If you want to appear in AI answers while refusing training, here is a template. Lines starting with # are comments. Several User-agent lines in a row share the same rule.
# Classic search and AI search: allowed
User-agent: Googlebot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
# Model training: refused here, your call
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /
# Every other crawler
User-agent: *
Allow: /
Sitemap: https://www.yoursite.com/sitemap.xmlOn WordPress, Wix or Shopify, the file is often edited from the SEO settings rather than the command line. If your site runs through Cloudflare, also check the AI crawler settings under Security Settings: Cloudflare changed its defaults for new domains on 15 September 2026.
Good to know
- robots.txt is a request, not a lock. Google reminds us that it cannot enforce crawler behavior and is not a way to hide a page. Protect a private page with a password.
- Visits made on a user's request follow other rules: OpenAI says robots.txt may not apply to
ChatGPT-User, and Perplexity saysPerplexity-Usergenerally ignores those rules. - OpenAI says it can take about 24 hours for a robots.txt change to be reflected in search.
- The curl test only imitates the crawler's name. Some firewalls recognize real crawlers by IP address and may treat an imitator differently: a 403 is a clue, not proof.
- Being readable does not guarantee being cited. It is the starting condition; after that, the content of your pages makes the difference.
Before you edit. Keep a copy of your current robots.txt. A Disallow: / placed under User-agent: * by mistake removes your whole site from search engines. Re-read the file after every change.
Sources
- OpenAI, crawlers and user agents
- Anthropic, Claude crawlers and robots.txt blocking
- Perplexity, crawlers
- Google, common crawlers and Google-Extended
- Google, introduction to robots.txt
- Cloudflare, AI crawler settings
Want a site that Google and AI assistants can read from day one? I build that into every website I deliver.