先别继续改规则。把“谁依赖谁”画成一条链:入口发现、抓取许可、URL 生成、内容可访问、索引候选。修复动作只应改变链上目标环节,若另一类异常同时出现,通常是上游被改动后下游输入变了,或下游早已有独立问题,只是被旧状态掩盖。拆链的目标不是一次修好,而是确认每个环节的输入输出,再决定保留、改写还是退出旧配置。
一个常见场景:旧栏目要下线,但其中一部分文章仍有价值;团队在 robots.txt 里屏蔽旧路径,同时把站点地图换成新路径。随后出现两种异常——旧文章抓取量下降,新路径也没有按预期被发现。这里不能直接断定“屏蔽导致新内容不收录”,因为两条链的输入不同。
区分方法是对每个环节记录三样东西:改动前的输入、改动后的输入、期望输出。若某环节的输入没变、输出却变了,问题更可能在该环节自身;若输入变了,才继续往上游追。例如站点地图只列出新 URL,而旧 URL 仍被内链引用,那么“旧 URL 被抓取”与“新 URL 未被发现”是两个可分开验证的现象。
可操作动作:暂时保留旧站点地图文件,新增一份只含新路径的站点地图,分别观察两类 URL 的抓取记录。若新路径抓取仍无变化,说明问题不在旧地图的退出,而在新 URL 的发现入口;下一步应检查内链和入口页,而不是回滚 robots.txt。
旧内容、旧系统或旧合作关系退出时,最容易被忽略的是“谁还在引用它”。依赖强度可以从三个方向看:站内链接是否仍指向旧 URL,外部链接是否仍有价值,用户是否仍会直接访问。三个方向都弱,退出成本低;只要有一个方向强,就应优先改写而不是删除。
假设一个旧专题页有外部链接,但专题本身已停止维护。若直接删除并屏蔽,外部链接价值消失,用户访问落空;若改写到新专题,则保留引用价值,但必须确认新专题的抓取许可没有同时被收紧。这个假设说明:退出的判断依据是依赖强度,不是页面新旧。
修复引发另一类异常时,最常见的错误是同时调整多个配置:改 robots.txt、换站点地图、加重定向、改内链。这样即使异常消失,也无法知道是哪一步起了作用。正确顺序是先固定验证口径,再逐个改变量。
可操作动作:如果修复 robots.txt 后索引量下降,先确认下降的是被屏蔽路径还是其他路径。若是其他路径,说明问题可能不在本次屏蔽,而在站点地图、内链或服务器响应;下一步应检查这些环节的输入是否在同期被改动。抓取量或某项统计归零不能单独证明处理正确,它也可能是抓取预算转移、日志采样变化或访问限制所致。
拆链完成的标志不是异常消失,而是每个环节的输入输出都能单独解释。可以用下面这组问题自查:
如果以上问题中有一项无法回答,说明依赖链还没拆开,此时继续修复只会增加新变量。先补上该环节的记录,再决定保留、改写还是退出。
抓取规则、站点地图和索引移除在不同搜索引擎中的支持情况并不一致。同一个 robots.txt 写法,在一个搜索引擎中可能按预期限制抓取,在另一个中可能不被同等支持;索引移除也有各自独立的工具和流程。因此,当修复后出现另一类异常时,不要用单一搜索引擎的表现推断全部。分别核查目标搜索引擎的文档和实际抓取记录,再决定是否需要为不同引擎保留不同配置。若旧合作关系或旧系统只服务其中一部分流量,退出范围也应据此缩小,而不是全站一刀切。
最终判断标准是:每个保留、改写或退出的对象,都有明确的依赖依据和可复查的验证记录;修复动作只改变目标环节,其他异常能被单独解释或单独处理。