robots.txt 是什么:管理爬虫抓取路径,不是保密开关
解释 robots 排除协议与索引控制的区别,说明主机范围、路径匹配和服务器返回怎样影响抓取检查。
先理解这个概念
robots.txt 是网站向遵守协议的爬虫表达抓取规则的文件,常用于允许或限制访问特定路径。它不是身份认证,也不保证受限 URL 永远不出现在搜索结果。限制抓取和要求 noindex 是不同操作,规则应按目标爬虫和所在主机核对。发布后检查真实文件及请求状态,不能仅因本地写了 Disallow 就认定外部已经遵守。
协议规则不能阻止任意访问者
RFC 9309 定义 Robots 排除协议,Google 的说明则解释其搜索抓取用途。文件按适用主机和路径表达规则,不是把网页从所有系统删除。恶意或不遵守协议的访问者可能忽略它,因此不能将敏感文件公开后依靠规则保密。爬虫被阻止时也可能无法读取页面上的 noindex,两个控制冲突需要分别处理。规则组和路径写错会影响不相关页面,不能凭一个例子照抄到整个网站而不核对实际范围。
按具体 URL 检查允许与阻止范围
例如测试站某目录不希望被抓取,先核对根路径文件的真实内容,再用应受限和应允许的公开 URL 检查匹配。注意大小写与路径差异,不能只打开文件就判断规则正确。还要检查服务器错误是否改变爬虫获取规则,具体处理按目标实现说明。本文没有修改 robots.txt 或发起抓取配置变更,例子属于验证设计。若目标是控制索引,应另行核对可读取的 noindex,而不是直接添加更多 Disallow。
更新规则时保留恢复和外部观察
模板或域名变化后复查规则范围,避免迁移时让整站意外受限。保存旧版本和需要允许的重要路径,再观察真实抓取情况,不把一次配置上传当作外部状态已更新。成本包括排查 CDN 与服务器返回,不能只按文件是否存在验收。站点地图可帮助发现页面,但也不能覆盖错误抓取限制。最终报告说明已验证的规则及未观察的爬虫行为,robots.txt 是协作约定,不是排名保证或内容权限系统。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。