确认 robots.txt 配置实际生效,不能只看文件已经上传,而要用“抓取测试工具 + 日志观察 + 目标 URL 实测”三条线交叉验证。核心判断标准是:搜索引擎抓取工具读取到的内容与线上文件一致,且被禁止的路径确实返回“已被 robots.txt 阻止”,允许的路径能正常抓取。多人协作时应把这三项验证结果写进交付记录,减少返工。
第一步是排除“文件没被正确部署”这一层问题。在浏览器无痕窗口打开站点根目录下的 robots.txt,确认返回 200 状态码,且内容与本地版本逐行一致。常见错误包括:文件被放到子目录、被 CDN 缓存了旧版本、服务器把 txt 当成其他类型返回,或存在 BOM 头导致首行规则失效。
检查项可以固定为三条:
https://example.com/robots.txt,不能是子路径。text/plain。User-agent 拼写和大小写按规范书写。如果站点使用 CDN 或反向代理,刷新缓存后再重复上述检查,否则你验证的可能是旧文件。这一步通过,才有必要进入抓取层面的验证。
文件可访问不等于规则被正确解析。语法错误、通配符写法不当、Disallow 与 Allow 顺序问题,都可能让实际行为与预期不同。主流搜索引擎站长平台都提供 robots.txt 测试工具,输入具体 URL 后,工具会告诉你该 URL 是被允许还是被阻止,以及命中了哪条规则。
验证时要覆盖三类 URL,而不是只测一个:
Disallow: /search 和 Allow: /search/all 的地址。判断结果的方法是:工具显示“已阻止”且命中规则与你写的规则一致,才算生效;如果显示允许,或命中的是意料之外的规则,说明配置没有按预期工作,需要回到文件修改。注意不同搜索引擎对通配符和规则优先级的支持存在差异,涉及 * 和 $ 时,应分别用对应平台的工具核查,不要用一家工具的结果推断所有引擎。
测试工具反映的是“如果现在抓取会怎样”,日志反映的是“搜索引擎实际抓了什么”。两者结合才能确认配置在真实流量中生效。在日志中筛选搜索引擎爬虫的 User-Agent,观察被禁止路径是否仍有抓取记录。
需要区分两种现象:
判断依据是时间线:以文件最后修改时间为分界,之后的抓取记录才有参考价值。如果被禁止路径在分界后仍被大量抓取,优先复查文件是否被缓存、规则是否写在了错误的 User-agent 分组下。
协作场景下,返工往往来自“口头说改好了”而没有可核对的证据。建议在交付时附上以下记录:线上文件 URL 与最后修改时间、抓取测试工具对三类 URL 的截图或结果文本、日志中分界时间点前后的对比。
验收信号可以量化为:目标 URL 在测试工具中显示的状态与预期一致;文件内容与版本库一致;日志中无分界时间后的违规抓取。三项都满足即可判定配置生效。需要提醒的是,robots.txt 只控制抓取,不等于可靠的索引移除;如果某页面已被收录,仅靠禁止抓取通常无法让它从结果中消失,这类需求要另行处理。站点地图是否被读取也不由 robots.txt 决定,不要把它当作收录保证。
下一步:把上述三类 URL 的测试结果和日志分界点整理成一页交付清单,每次修改 robots.txt 后按同一模板重新验证,避免不同人用不同标准判断“是否生效”。