改动robots.txt规则前,保存原始状态的核心做法是:先取得当前线上文件的完整内容与校验值,再把它复制到独立备份位置,并记录它对应的域名、路径、抓取时间、修改人和变更单号。多人协作时,只保存一份“最新版”往往不够,因为你需要能证明改动前线上到底是什么,也要能在出错时快速回退。下面这份清单按“要查什么、怎么查、结果说明什么”组织,可直接用于交付。
要查的是本次改动的真实对象。常见情况有两种:一是直接编辑服务器上的/robots.txt,二是修改代码仓库里的静态文件再发布。两者备份方式不同。
curl -i https://example.com/robots.txt,把响应头和正文一起保存到文件。如果站点通过CDN或反向代理提供文件,还要确认你取到的是边缘节点返回的版本,而不是本地缓存。可以在请求时临时加一个查询参数对比,但不要把它当成正式备份内容。
只复制正文文本,交付时容易产生争议。建议把以下四类信息放在同一个备份目录里,目录名带日期和变更单号。
sha256sum robots-before.txt。校验值用于证明备份文件与当时线上内容一致,也方便多人核对是否拿的是同一版。如果原文件包含敏感路径或内部说明,备份目录的访问权限要单独控制。备份不是公开文件,不要放在网站可直接访问的目录下。
保存原始状态的目的之一,是让改动可对比。发布新规则前,把新版本与备份版本做一次差异比较。
diff -u robots-before.txt robots-after.txt,把输出保存为变更说明附件。User-agent、Disallow、Allow或Sitemap行时,需要按规则组逐条确认影响范围。需要特别注意:robots.txt的抓取限制不等于可靠的索引移除。即使你把某路径设为禁止抓取,已经收录的页面仍可能出现在搜索结果中。若目标是移除索引,应使用对应的移除工具或页面级指令,而不是只改robots.txt。站点地图写在robots.txt里也不保证收录,它只是发现线索之一。
备份只有在能快速回退时才有价值。发布前先确认回退路径,再执行变更。
发布后立即再次抓取线上文件,计算哈希并与备份、新版本分别比对。确认线上等于预期的新版本,而不是某个中间状态。多人协作时,把抓取记录、差异文件、校验值和变更单号一起归档,交付才算完整。
下一步:为下一次robots.txt规则改动准备一个固定模板目录,把正文、校验值、抓取记录和变更上下文四项做成检查表,每次改动前先填完再发布。