Should Your Company Site Let AI Crawlers In? robots.txt Decisions and GEO Trade-offs
1. How default blocking happens
This starts with a counterintuitive fact:many company sites don’t know they’re blocking AI crawlers.
Three common ways it happens:
| Scenario | What happened | Consequence |
|---|---|---|
| Security plugin enabled by default | Some security or firewall plugins ship with a “block AI crawlers” option that’s on by default | AI crawlers are rejected site-wide |
| Template or theme ships its own robots.txt | The default rules it references include AI crawler bans | Nobody notices for a long time |
| The site owner adds it manually | Blocking on purpose to stop content being scraped for free | Giving up citation entry points on purpose |
How to check (takes 30 seconds):
浏览器打开 https://你的域名/robots.txt
Then search the file for these UA keywords:GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, anthropic-ai.
If you see Disallow: / right after one of these UAs, that crawler is blocked on your site.
2. First, tell the three types of crawlers apart
AI-related crawlers aren’t one group. By purpose they fall into three types, and each needs a completely different approach.
Type 1: Retrieval and citation (allow these)
These crawlers search web content in real time when a user asks a question, and cite that content as the source for the answer. They crawl you so they can cite you in an answer.
| Crawler | Owner | Role | Recommendation |
|---|---|---|---|
| GPTBot | OpenAI | ChatGPT retrieval and citation | ✅ Allow |
| OAI-SearchBot | OpenAI | ChatGPT search results | ✅ Allow |
| ChatGPT-User | OpenAI | Real-time visits triggered by users | ✅ Allow |
| ClaudeBot | Anthropic | Claude retrieval | ✅ Allow |
| PerplexityBot | Perplexity | Perplexity retrieval and citation | ✅ Allow |
| Applebot-Extended | Apple | Apple Intelligence | ✅ Allow |
Key judgment call: This is the gateway to GEO. Block them and you’re telling AI “don’t cite me.” And AI can’t cite what it hasn’t read — that’s a hard technical precondition, no exceptions.
Category 2: Training crawlers (optional allow)
These crawlers scrape content for training large models, not for real-time retrieval and citation.
| Crawler | Owner | Role | Recommendation |
|---|---|---|---|
| Google-Extended | Gemini model training | ⚠️ Watch | |
| CCBot | Common Crawl | public corpus | ⚠️ Watch |
| anthropic-ai | Anthropic | Claude training | ⚠️ Watch |
Decision logic: Blocking training crawlers protects your content from being used for model training, but watch for one side effect —some training corpora are also retrieval data sources(Common Crawl is used by some retrieval systems). Blocking it may protect your content while reducing your chances of being cited.
For most B2B companies going global, we recommend allowing: your website content is public marketing material anyway, so training on it causes no real harm, while being cited brings commercial value.
Category 3: Scanners and attackers (recommend blocking)
These aren’t AI crawlers, but they’re often confused with them and don’t belong on your allow list.
| Type | Characteristics | Handling |
|---|---|---|
| Vulnerability scanners | High-frequency requests to specific paths (/wp-login.php, /.env, /admin) |
Block or rate-limit |
| Malicious scraping | Ignores robots.txt, high-frequency full-text scraping | Rate-limit or block IP |
| Crawler spoofing | UA disguised as Googlebot but IP not in official ranges | Verify IP, then block |
Key distinction: Allow AI crawlers won’t create security risks. Crawlers like GPTBot and ClaudeBot only read public pages — they don’t submit forms, access admin panels, or perform administrative actions. Real security threats come from Category 3; the two are completely different traffic.
3. robots.txt configuration example
A configuration approach suited to B2B company sites going global:
# ===== 检索与引用型:放行(GEO 入口) =====
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Applebot-Extended
Allow: /
# ===== 训练型:默认放行(可按需改为 Disallow) =====
User-agent: Google-Extended
Allow: /
User-agent: CCBot
Allow: /
# ===== 常规搜索引擎 =====
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
# ===== 默认规则:放行公开内容,屏蔽敏感路径 =====
User-agent: *
Allow: /
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
A few configuration points:
| Key points | Description |
|---|---|
| Order | Specific UA rules must come before the wildcard *, otherwise they may be overridden |
| Sensitive paths | Admin panels, search result pages, and parameter pages should be blocked to avoid wasting crawl budget |
| Sitemap | Declare at the end of robots.txt Sitemap: https://域名/sitemap.xml |
| Verification | After configuring, visit /robots.txt to confirm there are no syntax errors |
4. What to do after allowing
Allowing AI crawlers is only the first step. It solves “can AI read you,” not “will AI cite you.”
The complete action chain:
| Steps | Action | Purpose | Verification method |
|---|---|---|---|
| 1 | Allow AI crawlers in robots.txt | Open the gateway | Visit /robots.txt to check |
| 2 | Confirm the server isn’t blocking at the WAF layer | Rule out middle-layer blocking | Check server logs for crawl records |
| 3 | Submit and maintain your sitemap | Help pages get discovered | Search Console index coverage |
| 4 | Structure content into extractable formats | Increase citation probability | Conclusion paragraphs, lists, tables, FAQ |
| 5 | Add Schema structured data | Help machines understand fields accurately | Validate with rich media testing tools |
| 6 | Set up a fixed question set for monthly monitoring | Measure citation performance | Test the same question set across 5 AI entry points |
A reminder about step 2: Sometimes robots.txt already allows them, but the CDN or WAF layer blocks the AI crawlers. To find out, check whether your server access logs show requests from these UAs—If robots.txt allows them but the logs show no crawl records at all, the problem is in the middle layer.
5. How to monitor results
You can tell whether AI crawlers are getting through by three signals:
| Signal | What to watch | Expected change |
|---|---|---|
| Crawl frequency | Server access logs | Crawl records appear within 1–4 weeks of allowing access and gradually increase |
| Indexing and inclusion | Search Console | Number of indexed pages grows steadily |
| AI citation rate | Monthly monitoring of a fixed question set | Citations start appearing after 2–3 months |
How to build a fixed question set:
- 1. Put together 20–30 questions customers actually ask (“recommend a supplier in China for XX”, “how do I choose equipment with XX specs”)
- 2. Every month, test the same set of questions across 5 AI platforms (ChatGPT, Gemini, Perplexity, Doubao, Kimi, etc.)
- 3. Record: whether your brand is mentioned, where it ranks in the mention, and which competitors are mentioned alongside it
- 4. Compare month-over-month trends
This is the only way to directly measure GEO results. Without this data, “does GEO work” will never have a clear answer.
6. A decision checklist
Here is everything above condensed into a ready-to-use decision table:
| Crawler type | Default recommendation | When to change it |
|---|---|---|
| GPTBot / OAI-SearchBot / ClaudeBot / PerplexityBot | ✅ Allow | Almost never block (blocking = giving up on GEO) |
| Google-Extended / CCBot | ✅ Allow | Block if you have a clear need to protect your content |
| Scanners / high-frequency malicious scraping | ❌ Block | — |
| Mainstream search engines | ✅ Allow | — |
One rule of thumb: Open up to “those who want to cite you,” block “those who want to attack you.” Apply this rule to a specific UA list and there is no ambiguity left in your robots.txt setup.
FAQ
grep -i "GPTBot|ClaudeBot|PerplexityBot" access.log
Crawl-delay settings in robots.txt. If you notice an unusually high crawl rate (say, dozens of requests per second from the same IP), it is most likely not a legitimate AI crawler but a scraper in disguise — you should rate-limit or block it at the WAF layer./robots.txt directly to confirm the file content has updated; ② watch your server logs for when AI crawlers appear. Note:robots.txt is a “request protocol,” not an enforcement mechanism— legitimate crawlers comply, malicious ones do not. Scenarios that truly require enforcement must be handled at the WAF layer.curl to fetch the page source and see whether the body content is in the HTML — if there is only <div id="app"></div> and no actual content, you have this problem.Final thoughts
Allowing AI crawlers technically only takes a few lines of robots.txt, but it decides one thing:whether you are eligible to appear in AI answers.
This threshold looks low, but many corporate sites stay outside the door without knowing it, due to default configurations, misconfigured plugins, or misunderstandings.
Here is one thing to do today: Open your robots.txt and search for GPTBot. If you have Disallow, you have already found an optimization point that needs no budget, no development time, and starts accumulating the moment you make the change.
