改版或迁移时核对robots文件设置,核心是确认新环境的robots.txt不会误拦应当被抓取的路径,同时确认旧环境遗留的屏蔽规则、测试用规则和临时目录规则不会被原样带到线上。交付验收应以“目标搜索引擎能抓到关键页面、不抓无价值路径”为准,而不是只检查文件是否存在。
从结果倒推,需要交付的不是一份格式正确的robots.txt,而是三件事:关键页面可被抓取、不该暴露或无需抓取的路径被合理限制、robots规则与站点地图和实际URL结构一致。验收时可以列出三类URL:首页及核心栏目、需要收录的内容页、无需收录的筛选参数或后台路径。若核心页面被Disallow覆盖,即使站点地图提交正常,也可能长期无法被抓取。
User-agent分组是否覆盖目标搜索引擎,是否误用了只针对某个测试爬虫的规则。Disallow和Allow的路径前缀与新旧URL一致。改版后目录名变化时,旧规则可能误伤新路径,也可能放过应当限制的旧路径。*和$时,要验证匹配结果是否符合预期。例如Disallow: /*?print=用于限制打印参数,但如果新站已取消该参数,这条规则就没有必要保留。Disallow: /或大范围目录屏蔽误拦整站。测试环境常这样写,迁移上线前必须改回。Sitemap行应指向新环境的绝对地址。站点地图不保证收录,但声明错误会让抓取发现路径变差。可执行的做法是:先由开发或运维提供新旧robots.txt全文及部署位置,再由SEO或内容负责人对照URL清单逐条标注“允许抓取”“禁止抓取”“待确认”,最后由测试人员在预发布环境用抓取工具或搜索资源平台的robots测试功能验证。责任上,规则修改应由能控制发布流程的人执行,验收应由了解收录目标的人完成。若只有开发确认“文件已上传”,不能等同于核对完成。
假设一个迁移场景:旧站用Disallow: /search/限制站内搜索结果页,新站站内搜索路径改为/s/。如果只复制旧规则,新路径不会被限制;如果新站把内容页放在/search/下,则可能被误拦。这个例子说明,核对依据是实际URL结构,而不是规则文本本身。
验收时逐项判断:目标页面返回正常状态码且未被robots规则阻止,视为通过;核心页面被阻止,视为不通过;限制规则与业务目标不符,视为待确认。需要注意,robots.txt的抓取限制不等于可靠的索引移除。若页面已被收录,仅靠robots屏蔽抓取,页面仍可能出现在搜索结果中,需要配合其他移除方式。不同搜索引擎对通配符、结尾符和指令的支持情况须分别核查,不能只按一个引擎的结果推断全部。
另一个误区是把HTTPS、站点地图和robots文件混为一谈。HTTPS不保证安全无漏洞或排名提升;站点地图不保证收录;robots.txt只表达抓取偏好,不是访问控制手段。敏感目录不应只靠robots隐藏。
拿一份当前robots.txt和一份改版后的URL清单,按上面的检查项逐条标注允许、禁止或待确认,再在预发布环境验证匹配结果。确认无误后,才把规则随新版本一起发布。