AI 爬虫要不要放行?我们把自家 robots.txt 摊开给你看
AI 爬虫该不该放行?我们摊开瑞博官网的 robots.txt,讲清训练爬虫和搜索爬虫的区别、三种常见写法错误,以及三条命令自己验一遍。
AI 爬虫要不要放行?我们把自家 robots.txt 摊开给你看 该放行。靠官网接客户的企业,把 AI 爬虫挡在门外等于把询盘让给同行。但「放行」不是全开,得分清训练爬虫和搜索爬虫,而且写完必须自己验一遍。
这话听着像废话,可我们在给客户做技术审计时,看到的情况往往正好相反:要么整站一个 Disallow: / 全挡上,自己还不知道;要么照抄一份放行清单贴上去,从此再没看过第二眼。两种都等于没做。
所以这篇不讲理论。我们把河南瑞博自己官网的 robots.txt 原样摊开,讲清楚每一段是干嘛的,再给你三条命令,让你当场就能验出自己家网站到底是什么状态。
先说结论:什么时候该放行,什么时候该挡
判断标准其实就一句话,跟技术没关系:你的官网是拿来接客户的,还是拿来卖内容的。
如果你的客户会在 AI 里问「郑州哪家公司做官网改版」「制造业官网该怎么写产品页」,然后顺着答案找到你,那你的官网就是接客户的。这种情况下,被 AI 引用等于白捡一条获客渠道,挡掉它没有任何好处。
反过来,如果你卖的是付费课程、行业数据库、会员报告,内容本身就是商品,那挡掉训练爬虫是合理的。AI 把你的核心内容免费复述一遍,读者就不回来了。
中间的绝大多数中小企业,属于第一种。这也是为什么我们把自家官网的 AI 爬虫全部显式放行。
为什么一个几十行的文件,能决定 AI 认不认识你?
robots.txt 是放在网站根目录的一个纯文本文件,爬虫进门之前先看它。你在里面写「谁可以进、进哪些目录」,合规的爬虫就会照做。
它不管排名,也不影响百度、谷歌的正常收录。它只管一件事:这个文件里没被允许的地址,爬虫就不会去抓。
问题出在,很多企业的 robots.txt 是建站公司好几年前随手生成的,之后再没人打开过。里面可能躺着一条 Disallow: /,也可能什么都没写。没写明允许,不等于默认允许,不同爬虫的处理方式不一样,有的会等,有的就直接跳过。
我们查过的站里,大概四分之一属于「站长以为自己放行了一切,实际上爬虫一个字都没拿到」。这类问题自己完全查不出来,因为用人打开浏览器,网站一切正常。
训练爬虫和搜索爬虫,到底差在哪?
这是整件事里最容易搞混、也最要紧的一点。同一个公司会派好几种爬虫,干的活完全不一样。
| 爬虫 | 谁家的 | 干什么 | 挡掉会怎样 |
|---|---|---|---|
| GPTBot | OpenAI | 抓内容用于模型训练 | 内容不再喂给模型,ChatGPT 搜索照常能找到你 |
| OAI-SearchBot | OpenAI | 给 ChatGPT 搜索建索引 | 你在 ChatGPT 搜索结果里消失 |
| ChatGPT-User | OpenAI | 用户提问时实时打开网页 | 用户让 ChatGPT 看你网站时打不开 |
| ClaudeBot | Anthropic | 抓内容用于训练 | 同上,不影响 Claude 搜索 |
| Claude-User / Claude-SearchBot | Anthropic | 搜索索引与实时抓取 | Claude 回答里不再引用你 |
| PerplexityBot | Perplexity | 抓页面并标注来源 | Perplexity 答案里没有你 |
| Google-Extended | 控制内容是否用于 Gemini 训练 | 不影响谷歌搜索收录,只影响 Gemini | |
| CCBot | Common Crawl | 公开语料库,下游很多模型都吃它 | 间接影响一大片模型的认知 |
看明白这张表,策略就很清楚了:训练爬虫可以按需取舍,搜索爬虫尽量不要挡。
很多人以为挡了 GPTBot 就把 AI 全挡了,其实 ChatGPT 搜索走的是 OAI-SearchBot,两条线互不相干。反过来说,也有人以为放行 GPTBot 就能被引用,结果发现自己在 ChatGPT 搜索里照样搜不到,因为 OAI-SearchBot 那一段根本没写。
我们自己的 robots.txt,15 段,你可以直接 curl
河南瑞博官网的这个文件是公开的,任何人都可以敲一行命令看:
curl https://www.ruibo.com.cn/robots.txt
我们把它分成了四组。
第一组是通用规则,只挡了一个提交感谢页:
User-agent: *
Allow: /
Disallow: /audit/thanks/
这里有个细节值得说:我们只挡了「提交完表单之后的那个谢谢页」,没有挡后台、没有挡接口。因为我们的后台根本不在这个域名下,前后端是分开部署的。很多企业把 /admin/ 写进去,结果真正的后台在另一个地址,白写。
第二组是 OpenAI 的三条,训练、搜索、用户触发分别写出来:
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
第三组是 Anthropic、Perplexity、Google、Apple,每家都单独成段,一共七条。
第四组是国内的几个:Baiduspider、Bytespider、360Spider、Sogou web spider。
加起来 15 段 User-agent,全部 Allow: /。文件最后一行的 Sitemap 指向 https://www.ruibo.com.cn/sitemap-index.xml,这个文件是 200,里面再指向 sitemap-0.xml,一共 68 条地址,全部打得开。
我们为什么写得这么啰嗦,而不是只留一句 User-agent: * / Allow: /?因为显式写出来有两个好处。一是哪天要单独挡某一家,改一行就行,不用重新理解整个文件。二是这个文件后来会被人拿出来看,写清楚是在给半年后的自己省事。
我放行了,AI 就一定会引用我吗?
不会。这是我们最想说清楚的一句。
robots.txt 只解决「让不让进门」,不解决「进门之后拿不拿得到东西」。我们实测过自己官网,用五个 AI 爬虫的身份各抓一次首页,全部返回 200,正文 118285 字节,完整拿走。这一步是通的。
但通了不等于会被引用。AI 要不要在答案里提到你,取决于另外几件事:你的内容有没有直接回答某个具体问题,你的公司信息在各处是不是一致,你的页面有没有结构化数据让人一读就懂。
换个说法,robots.txt 是开门,内容是屋里的货。门开着但货架是空的,来的人转一圈就走了。
我们官网首页现在有 8 处 JSON-LD,服务页、案例页、文章页各有各的类型,就是为了让进门的人不用猜。
三种最常见的写错方式
写这个文件的门槛低,翻车的花样却很固定。我们见得最多的是这三种。
第一种:把 Disallow: / 写在 User-agent: * 底下。 这一句会挡掉所有爬虫,包括百度和谷歌。有企业这么干了半年,一直以为是网站出了问题,其实是自己把门反锁了。AI 爬虫的规则要单独成段,通用段永远保持 Allow: /。
第二种:只挡 GPTBot 就以为挡完了。 前面那张表里写得很清楚,同一家公司有多个爬虫身份。完整的策略要逐个点名,漏一个就等于漏一条线。
第三种:把 robots.txt 当防火墙。 它不是。OpenAI、Anthropic、Google 这些大厂会遵守,但业内普遍反映 Bytespider 遵守得不太好,不明来源的采集器更是完全不管。真要硬挡,得在 CDN 或服务器层面按 UA 和 IP 拦,光靠一个文本文件拦不住。
还有个反常识的点:robots.txt 只管以后的抓取。已经进了模型训练语料的内容,不会因为你现在加上一条 Disallow 就退回来。
怎么自己验一遍?三条命令够了
不用装工具,也不用等一周。三条命令,五分钟出结果。
第一条,看你现在的 robots.txt 到底写了什么:
curl https://你的域名/robots.txt
重点看两处:有没有 User-agent: * 底下的 Disallow: /,以及末尾的 Sitemap 地址是不是还打得开。这一步经常能直接查出问题。
第二条,冒充 AI 爬虫访问自己的首页:
curl -A "OAI-SearchBot" -o /dev/null -w "%{http_code} %{size_download}\n" https://你的域名/
把 UA 换成 GPTBot、ClaudeBot、PerplexityBot 各试一次。返回的第一个数是状态码,200 才算通;第二个数是拿到的字节数,几万字节说明拿到的是真正文,如果只有一两百,那你拿到的是一个错误页。
第三条,看你自己声明的 Sitemap 能不能打开:
curl -o /dev/null -w "%{http_code}\n" https://你的域名/sitemap.xml
文件里写的地址和你实际能访问的地址,必须是同一个。听起来是废话,但它是最容易出错的一处。
我们自己踩过的坑:放行了,但地址打不开
这个文件我们也不是一次写对的。
我们另一个域名 new.ruibo.com.cn,之前在文件里老老实实放行了 15 个爬虫,Sitemap 也指向了正确位置,看起来该做的都做了。可实际上那个地址的 HTTPS 证书绑的是老域名,爬虫按 Sitemap 里的 HTTPS 地址来抓,证书对不上,整次请求直接失败。它不会好心地降级去试 HTTP。
结果就是:文件写对了,放行写对了,爬虫还是一个字都没拿到。
今天再查,那个域名已经整站返回 404,连 robots.txt 自己都打不开了。所以现在对外服务的官网统一收在 www.ruibo.com.cn 上,证书和域名是对得上的。
这件事给我们留下的经验只有一条,先确认地址能打开,再谈放行。顺序反了,后面做的全是白工。
什么情况下真的该挡?
三种情况,挡比不挡划算。
内容本身就是产品,比如付费课程、行业报告、数据库。这类内容被免费复述,等于自己砸自己的生意。
服务器扛不住。小配置主机遇到密集抓取会变慢,这种情况优先做限速,而不是全挡。
合规要求。医疗、金融这类行业对内容外流有明确限制,那就按合规来,不用纠结曝光。
除此之外,靠官网接客户的企业没有挡的理由。你挡掉的每一次抓取,都可能是一次本来会找到你的询价。
多久见效,以及一句提醒
OpenAI 方面给出的口径是,robots.txt 改完之后,搜索侧大约 24 小时开始调整。但「能被抓到」和「会被引用」是两件事,后者通常要几周到几个月,取决于你内容的密度和一致性。
所以别把它当成开关。改完第二天去看有没有被引用,大概率会失望。正确的节奏是:改完当天用上面那三条命令确认抓取通了,然后按月去各平台搜自己的业务词,看有没有出现。
最后一句提醒。robots.txt 是个写了就容易被忘的文件,建议在日历里放个季度提醒,每季度打开看一次。爬虫名单一直在变,去年写的文件,今年可能已经漏了好几家。
相关内容
企业 AI 知识库从零搭建:我们把资料治理这一步拆开讲了
知识库做不好的真正原因,八成不在模型,在资料。我们把盘点、清洗、切分、检索策略这四步的实操细节和踩过的坑完整写出来。
AI 把你的公司说错了怎么办?我们拿自己官网试了一遍
AI 把公司名、业务或年份说错了,能改吗?我们用瑞博官网的真实纠错记录讲清楚错误从哪来、哪四类最容易错、申诉有没有用,以及从信源改起的四个步骤。
llms.txt 到底要不要做?我们把瑞博官网的真实做法讲清楚
llms.txt 不会提升搜索排名,谷歌已明确否认。我们用瑞博官网的真实部署记录,讲清楚它到底管什么、在待办清单里排第几,以及该先做哪几件事。