外贸网站robots.txt怎么做AI爬虫自查?从User-agent到Disallow逐项看

浏览进度条

robots.txt 自查不是看“有没有写 AI 爬虫”这么简单,而是逐项确认:文件位置对不对、规则作用在哪个协议和主机、核心目录有没有误挡、敏感内容有没有用真正权限保护、公开抓取和用户触发访问有没有分开处理。

很多外贸站的 robots.txt 看起来很短,问题却很深。

比如:

User-agent: *
Disallow: /

这一行放在测试站可以理解。
上线后忘了删,公开产品页、FAQ 页、案例页、供应商介绍页都可能被挡住。

再比如:

User-agent: *
Disallow: /admin/
Disallow: /quote/

看起来像保护后台和报价页,其实 robots.txt 是公开文件,不是安全系统。真正敏感的客户资料、报价单、订单页,应该用登录、权限、密码或服务器访问控制,而不是写给 crawler 看的“请别看”。

所以,外贸网站 robots.txt AI 爬虫自查,要从基础规则一项项看,而不是上来复制几行 AI bot 配置。

第一步:先确认robots.txt到底在哪里生效

Google 官方说,robots.txt 必须放在站点根目录,而且只对同一协议、主机、端口生效。

这句话对外贸站特别重要。

你要分别检查:

curl -I https://www.example.com/robots.txt
curl -I https://example.com/robots.txt
curl -I http://www.example.com/robots.txt
curl -I https://en.example.com/robots.txt

不要以为一个 robots.txt 自动管全部。

robots.txt 位置 生效范围
https://www.example.com/robots.txt 只管 https://www.example.com/
https://example.com/robots.txt 只管 https://example.com/
http://www.example.com/robots.txt 只管 HTTP 版本
https://en.example.com/robots.txt 只管这个子域
https://www.example.com/folder/robots.txt 不是有效位置

如果你的外贸站有多语言子域、测试子域、独立资料站,第一步就是把这些 host 全列出来。

第二步:确认文件能正常访问

robots.txt 本身应该是公开可访问的纯文本文件。

先看状态码:

curl -sI https://www.example.com/robots.txt

再看内容:

curl -s https://www.example.com/robots.txt

你至少要排除这些问题:

问题 可能后果
返回 404 对 Google 来说,可能按没有 robots 限制处理
返回 403 crawler 无法正常获取规则
跳到首页 HTML 规则无效,还容易误判
被 WAF 挑战页拦住 crawler 读不到真实规则
不同 host 内容不一致 www、非 www、多语言子域策略混乱

这一步很基础,但很多站就死在这里。

第三步:逐个看User-agent分组

robots.txt 不是“从上到下每行都叠加”那么简单。

Google 的解释是:crawler 会匹配最具体的 user-agent 组;如果同一个具体 user-agent 有多个组,这些组会合并;但具体组不会和 User-agent: * 的全局组合并。

看这个例子:

User-agent: *
Disallow: /private/

User-agent: Googlebot
Allow: /

对 Googlebot 来说,匹配的是 Googlebot 这个具体组,不是把 * 组和 Googlebot 组简单叠加。

但如果你写了两个 Googlebot 组:

User-agent: Googlebot
Disallow: /tmp/

User-agent: Googlebot
Disallow: /internal-search/

Google 会把这两个 Googlebot 组合并理解。

所以自查时不要只看有没有 User-agent: *。要把每个具体 user-agent 单独拉出来看。

第四步:检查Allow和Disallow是否互相打架

Google 对路径规则会看具体程度。更具体的路径规则优先;同等长度的 AllowDisallow 冲突时,Google 会采用限制较少的规则。

比如:

User-agent: Googlebot
Disallow: /products/
Allow: /products/public/

这表示 /products/public/ 可以抓,其它 /products/ 下路径不允许抓。

但如果你写成:

User-agent: Googlebot
Disallow: /products/
Allow: /products

就容易让人读不清楚。
外贸站不需要玩复杂花样,配置越清楚越好。

建议自查时把规则按目录列出来:

目录 是否应该公开抓取 当前规则
/products/ 是否被挡
/categories/ 是否被挡
/case-studies/ 是否被挡
/faq/ 是否被挡
/request-a-quote/ 说明页 通常是 是否被挡
/wp-admin/ 是否限制
/cart//checkout/ 是否限制
/customer-portal/ 否,且要权限保护 是否只靠 robots
/downloads/private/ 视内容而定 是否有真正权限

第五步:别在robots.txt里写noindex

这条要单独拎出来。

不要这样写:

User-agent: *
Noindex: /old-products/

Google 不支持通过 robots.txt 里的 noindex 来阻止索引。

如果你想让页面退出 Google 索引,应该用页面级 noindex 或 HTTP Header:

<meta name="robots" content="noindex">

或者:

X-Robots-Tag: noindex

还有一个反直觉点:Googlebot 必须能抓到页面,才能看到 noindex。如果你先用 robots.txt 把页面挡住,Googlebot 可能看不到页面里的 noindex

所以:

robots.txt 管抓取
noindex 管索引
权限保护管安全

三件事别互相冒充。

第六步:按入口类型拆策略

外贸站做 AI 搜索准入时,可以先分三类:

类型 例子 自查重点
搜索相关 crawler OAI-SearchBotPerplexityBotClaude-SearchBot 是否允许公开营销页
训练相关 crawler GPTBotClaudeBot 是否符合企业内容资产策略
用户触发访问 ChatGPT-UserPerplexity-UserClaude-User 是否被当成普通自动 crawler 误判

注意,这张表只是自查视角。不同平台对 robots.txt 的解释和 user-triggered fetcher 边界不完全一样。不能把 Google robots parser 的规则泛化到所有 AI crawler。

一个相对清楚的示例:

User-agent: OAI-SearchBot
Allow: /products/
Allow: /categories/
Allow: /case-studies/
Allow: /faq/
Disallow: /downloads/private/
Disallow: /customer-portal/

User-agent: PerplexityBot
Allow: /products/
Allow: /categories/
Allow: /case-studies/
Allow: /faq/
Disallow: /downloads/private/
Disallow: /customer-portal/

User-agent: GPTBot
Disallow: /

User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /customer-portal/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://www.example.com/sitemap.xml

这不是通用模板。
它只是展示一种思路:搜索相关公开页、训练抓取、后台和客户区域分开处理。

第七步:用日志核对是否真有访问

robots.txt 写完,只能说明你表达了规则。还要看 crawler 有没有访问、访问了什么、返回什么状态。

grep -Ei 'Googlebot|bingbot|OAI-SearchBot|GPTBot|ChatGPT-User|PerplexityBot|Perplexity-User|ClaudeBot|Claude-SearchBot|Claude-User' /var/log/nginx/access.log \
  | awk -F'"' '{print $1, $2, $3, $6}' \
  | head -n 100

重点看:

  • 请求 URL 是产品页还是无意义参数页;
  • 状态码是 200301403404 还是 5xx
  • 是否被跳到首页;
  • 是否命中了 WAF 挑战页;
  • 是否访问了不该公开的客户区或下载区。

看到某个 AI crawler 访问过,不等于它会引用。
但如果核心产品页从来没有被访问,或者每次都是 403,那准入层就有问题。

第八步:把自查结果整理成一张表

最后不要只留下配置文件。要留下可复盘记录。

检查项 合格标准 结果
/robots.txt 可访问 返回 200 且为纯文本
www / 非 www 一致 规则不互相冲突
HTTP / HTTPS 已核对 迁移后不保留旧规则误伤
多语言子域已核对 每个 host 都有正确规则
产品页未误挡 /products/ 可抓取
案例页未误挡 /case-studies/ 可抓取
FAQ 页未误挡 /faq/ 可抓取
RFQ 说明页未误挡 公开说明页可抓取
客户数据有权限保护 不只靠 robots.txt
没有 robots noindex 不在 robots.txt 写 noindex
sitemap 已声明 指向新规范 URL sitemap
日志已抽查 核心 crawler 状态码正常

这张表比“我感觉配置好了”有价值。

最后记住

外贸网站 robots.txt AI 爬虫自查,真正要查的是边界:

  • 哪些公开推广页应该让 crawler 访问;
  • 哪些敏感资源不能只靠 robots.txt;
  • 哪些 AI user-agent 是搜索相关;
  • 哪些是训练相关;
  • 哪些是用户触发访问;
  • 哪些规则只适用于 Google,不能外推给所有平台。

robots.txt 能让你的抓取策略更清楚。
但它不负责收录,不负责排名,不负责 AI 引用,更不负责数据安全。

参考资料

内卷越来越激烈,再不做好独立站,就真的晚了!

添加微信咨询

扫描二维码添加微信客服

联系我们

  • 微信同号: 13077312120
  • Email: service@wphuo.com
  • 地址: 工业设计城智点汇7楼701 佛山市顺德区工业大道32号