把网址规则的最终解释权交给一个系统,其他系统只能提交数据或消费结果,这是唯一可执行的方案。判断责任方归属时,看这条规则出错后谁有能力在不改动其他系统的前提下修正它:能独立修正的那个系统就是责任方。下面以你手上的一个页面为例,逐步把它落到可执行的处理方案。
打开你手上的页面,记录三类信息:它由哪个系统决定路径结构(栏目、分类、内容标识的拼接方式),由哪个系统决定参数(分页、筛选、排序、跟踪参数),由哪个系统决定跳转与规范(大小写、末尾斜杠、http 到 https、旧路径重定向)。
这三类信息往往落在不同系统里。常见的组合是:路径结构由内容管理系统决定,参数由前端或筛选服务追加,跳转与规范由网关或边缘层处理。责任方不是“谁写得多”,而是“谁在链路末端做最终裁决”。
适用条件:路径结构相对稳定,参数规则变化频繁,且你已经有能力在边缘层统一改写与重定向。代价是路径语义被抽离出内容系统,编辑在后台看到的地址可能与线上地址不一致,需要额外的映射说明。
适用条件:路径与内容强绑定,参数种类少,且网关只做透传。代价是每次调整筛选或分页规则都要走内容系统的发布流程,灵活性下降。
两种做法都能成立,但不能同时成立。若两边都生成规则,冲突时以谁为准就没有依据,最终表现为同一页面出现多个可访问地址,规范标签、站点地图和内部链接各指向不同版本。此时先不要急着改规则,先确定责任方,再让另一侧退化为提交数据。
这些现象只能说明存在多个生成方,不能单独证明哪一方是错的。抓取量下降或某个地址不再被抓取,也可能由抓取预算分配、外部链接变化或临时不可用引起,不能作为责任方判断的唯一依据。robots.txt 的抓取限制也不等于可靠的索引移除,它只约束抓取行为。
假设你手上有一个商品列表页,路径为 /list/,带 page 与 sort 两个参数,网关会追加 utm 参数。以下为假设场景,用于说明比较方法。
执行后的结果是:同一页面只保留一个可访问地址,其他形式统一跳转到该地址。下一步应验证跳转链是否为单跳、规范标签与站点地图是否一致;若仍出现多版本,说明还有系统在自行生成规则,需要继续收敛,而不是增加新的改写层。
确定责任方后,给它划定明确边界:它负责最终地址的生成与跳转,其他系统只能提供数据。边界内允许的改动包括参数白名单、跳转状态码和归一规则;边界外不接受的改动包括其他系统直接输出完整地址、在模板里硬编码域名或协议。
站点地图不保证收录,规范标签也不保证被采纳,因此责任方的目标应是“让线上只存在一个可访问版本”,而不是承诺收录或排名。不同搜索引擎对参数处理与规范信号的支持情况须分别核查,不能以一个引擎的表现推断另一个。
当你下次拿到一个新页面时,先问一句:这条地址规则出错后,谁能在不改动其他系统的前提下修正它。答案就是责任方,其余系统退化为数据提供方,冲突随之消失。