唯一责任方应当是“网址身份的唯一签发者”:谁决定一个URL的规范形式、可索引状态和对外暴露版本,谁就对收录结果负责。其他系统只能消费这个结果,不能各自再生成一套规则。否则在样本量小时看不出问题,规模化后例外会集中爆发。
多个系统同时产出网址,常见组合是CMS模板、路由框架、CDN或网关重写、以及运营配置的跳转表。它们各自都能生成“看起来正确”的URL,但判断标准不同。保留哪一套,取决于哪个系统掌握最完整的身份信息。
三种取舍不能并存于同一路径层级。若保留两套,就必须明确哪套是规范形式,另一套只作为别名存在,并且别名不进入站点地图和内部链接。
规模化后出现例外,通常不是规则本身写错,而是触发条件没有被穷举。可以按以下证据区分原因:
这些现象只能说明存在多源签发,不能单独证明某个系统一定错误。抓取量下降或某类URL归零,也可能由抓取预算调整、屏蔽策略变化或上游内容下线造成,需要结合日志和响应状态进一步确认。
假设某站点由路由框架生成详情页地址,同时运营在跳转表中配置了活动落地地址。若活动结束后跳转表仍保留旧地址,而路由框架已按新规则生成地址,就会出现两个可访问版本。此时若把跳转表设为唯一签发者,路由框架必须停止输出对外链接;若把路由框架设为唯一签发者,跳转表应改为仅做临时重定向并设置退出时间。选择哪一种,取决于活动地址是否长期稳定。这个例子只用于说明比较方法,不代表任何真实项目结果。
确定唯一责任方后,实际动作是:在签发系统中集中定义规范地址、可索引状态和参数处理方式,并让其他系统只读取该结果。动作的直接结果是内部链接、站点地图和重定向来源趋于一致,后续排查例外时只需检查一个系统的输出。
接下来应验证三件事:同一内容是否只返回一个规范地址;被排除的地址是否以适当状态响应;站点地图是否只包含签发系统认可的地址。需要说明的是,robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录,因此验证应看实际响应和链接来源,而不是只看规则文件。
当站点只有一个内容源、没有网关重写、也没有运营跳转表时,定义唯一责任方的收益有限,强行拆分反而增加维护成本。当多个系统分属不同团队且发布节奏不一致时,应先冻结对外地址生成权限,再逐步迁移,而不是一次性切换。若业务要求同一内容在不同渠道使用不同地址,则必须明确哪些地址允许被索引、哪些仅用于跳转,并把这一区分写进签发规则,而不是留给各系统自行判断。