robots.txt 生成与检测
一页两件事:按规则拼出文件,以及检测你现有的文件。答案不只说「允许」或「禁止」,还会指出是哪一行决定的。
模板
Google 会忽略 Crawl-delay,Yandex 和 Bing 仍会读取。
发现的问题
- 免费
- 文件不会离开你的设备
- 无需注册
- 不限文件数量
使用方法
- 选一个模板,或者逐行列出要屏蔽的路径。
- 在 Allow 里补上例外,并填写站点地图地址。
- 复制结果或下载文件,放到网站根目录。
- 切到「检测」,粘贴你的文件,针对具体爬虫检测具体地址。
实用说明
胜出的是最长的规则,不是最前面的
Google 和 Yandex 都按匹配路径的长度来选规则,而不是按文件里的先后。所以常见的「Disallow: /wp-admin/」加「Allow: /wp-admin/admin-ajax.php」才有效:第二条路径更长,于是它对那一个文件胜出,而目录其余部分仍然关闭。一个从上往下读文件的检测器会给出相反的答案。
写在第一个 User-agent 之前的规则不属于任何人
写在所有 User-agent 之前的 Disallow 会被每个爬虫忽略:文件是按组读取的,组外的规则没有归属。它看起来完全正常,却什么都没关上,这正是 robots.txt 里代价最高的错误。检测器会把它单独列出,并给出行号。
常见问题
robots.txt 能把页面从搜索里删掉吗?
不能,它只是阻止抓取。如果别的网站链接到它,被屏蔽的地址仍可能出现在结果里,只是没有描述。要让页面不进索引,应当对爬虫开放,并在页面上加 noindex 元标签 — 机器人必须先抓到页面,才能看见这个标签。
文件应该放在哪里?
只能放在域名根目录:https://example.com/robots.txt。放在子目录里根本不会被读取;子域名需要自己的文件,example.com 的文件对 shop.example.com 无效。
怎么屏蔽 AI 爬虫?
为每个机器人加一组:GPTBot、ClaudeBot、PerplexityBot、CCBot 都在这里的爬虫列表中。它们遵守 robots.txt,但禁止是按名字生效的 — 如果文件里它们另有自己的分组,通配符分组对它们无效。
值得设置 Crawl-delay 吗?
Google 完全忽略它,Yandex 和 Bing 仍会读取。只有当服务器确实被抓取压垮时才设置,否则它只会拖慢新页面被发现的速度。