先给结论:唯一责任方应当是那个掌握最终输出内容、能修改页面级指令并承担发布节奏的系统,而不是抓取工具或查询报表。判断依据只有两条:谁最后写入页面内容,谁能在发布前阻止冲突规则上线。满足这两条的系统才配做责任方;其余系统只能输出候选规则,由责任方合并后再发布。下面按“旧系统仍能改”和“旧系统已冻结”两种条件展开。
当旧内容管理系统、旧合作关系后台和当前站点框架都能写网址规则时,冲突往往不是规则本身错,而是写入顺序不确定。此时唯一责任方要定在发布链末端,也就是真正生成最终HTML、响应头和站点地图的那个环节。它负责把上游系统提交的规则做一次合并,再统一输出。
选择依据是:越靠近输出端,越容易验证结果。上游系统提交的规则可能是过期的、带条件的或互相矛盾的,但末端系统能看到合并后的完整状态。实施动作是给上游系统划定只读或候选权限,要求它们把规则写成可合并的片段,而不是直接改线上文件。这样做的结果是责任边界变清晰:一旦线上出现冲突,只需要检查末端合并逻辑,不必逐系统排查。
例外是当旧系统掌握的是页面级无法替代的数据,例如已下线的商品编号映射。这类系统可以保留写入权,但只能写进责任方指定的中间层,由责任方决定是否输出。不能让两个系统同时直接写根目录规则文件。
旧系统无法修改、团队已解散或合作关系已结束,但旧规则仍在线上生效时,唯一责任方只能转为当前发布系统。此时要做的第一件事不是立刻删除旧规则,而是把旧系统输出的全部网址规则做一次只读快照,标注每条的来源和最后生效时间。
选择依据是:冻结系统不会再产生新规则,它的输出是静态的,可以整体接管。实施动作是让当前发布系统把快照中的规则与现有规则逐条比对,分成三类:仍然有效的、已被新规则覆盖的、只对旧路径有意义的。对第一类保留并纳入责任方管理,对第二类删除,对第三类设置过渡期。结果是责任方从多个变成唯一,后续任何规则变更都只在一个地方发生。
需要提醒的是,站点地图不保证收录,robots.txt 的抓取限制也不等于可靠的索引移除。冻结系统留下的这两类文件尤其容易让人误判,必须由责任方重新核对,而不是照搬。
无论旧系统是否可改,合并都应遵循同一顺序,避免边合并边产生新冲突:
这个顺序的关键在于第三步:同一路径只留一条规则。如果两个系统对同一路径给出不同指令,保留哪条不由系统新旧决定,而由责任方根据当前页面是否仍需要被抓取、是否仍需要保留在索引中判断。
假设旧合作关系后台对 /old-service/ 输出禁止抓取,当前站点框架对同一路径输出允许抓取并列入站点地图。责任方是当前发布系统。此时不能两条都保留,也不能简单取最新时间。
判断方法是先确认该路径是否仍有可访问内容。若内容已下线,责任方应保留禁止抓取,并从站点地图移除;若内容仍在线且有查询价值,则保留允许抓取,同时检查旧后台是否还有其他路径受影响。动作的结果会直接决定下一步:如果选择保留禁止抓取,下一步是确认移除方式是否可靠,因为 robots.txt 只限制抓取,不保证从索引中消失;如果选择允许抓取,下一步是核对页面自身是否还有冲突的 meta 指令。
唯一责任方不等于唯一规则来源。以下情况需要单独核查,不能由责任方直接覆盖:
最后一条尤其容易被忽略:收录查询出现数量变化时,抓取量或索引量归零并不能单独证明合并正确,还可能是抓取预算调整、页面响应变化或引擎自身处理延迟。责任方的价值在于能给出可复现的规则来源和变更记录,而不是保证某个数字按预期变化。确定唯一责任方之后,下一步才是用收录查询验证合并结果,并把例外项列为持续核查对象。