不能把“所有带参数的URL都返回404”当成有效地址集合的定义。更可操作的做法是:先按参数在业务上是否改变页面内容,把URL分成“内容等价类”,再为每个等价类指定一个规范地址;其余组合返回404或410,并用robots.txt和站点地图配合,而不是指望它们单独完成清理。这样做的代价是可能误伤少数长尾入口,收益是让抓取预算集中到真正有内容的地址上。
旧系统下线或旧合作关系终止后,常见现象是404响应数在日志里快速上升,而站点真正有内容的页面数量几乎没变。此时有两种解释:
两种解释在日志上表现相似,都会显示大量404。区别在于:前者是清理成功,后者是清理过度。
能区分两者的证据不是404的绝对数量,而是抽样后参数对页面输出的影响。假设一个旧电商系统,URL形如 /item?id=100&color=red&sort=price。可以按下面的方式取证:
id,分别改变 color 和 sort,抓取返回内容。color 改变主图和库存信息,它属于内容参数;如果 sort 只改变列表顺序,它属于展示参数。如果抽样显示只有展示参数在变化,解释一成立;如果发现某些组合产生了唯一内容却被404,解释二成立。这一步的结果直接决定下一步:前者只需收紧规则,后者需要先恢复受影响的等价类。
更稳妥的定义方式是:一个地址属于有效集合,当且仅当它满足以下条件之一:
反过来,以下地址应排除在有效集合之外:仅改变排序、分页视图、会话标识、追踪来源、无业务含义的默认值组合。对这些地址返回404或410,比返回200再靠canonical收敛更干净,因为200会让抓取工具持续访问。
这里有一个容易忽略的取舍:参数组合无限增长时,不可能逐条枚举有效地址。可行做法是只枚举“内容参数”的有限取值,把“展示参数”从地址语义中剥离。剥离后,有效集合从无限降为有限,404规则才有稳定边界。
假设旧系统有 id、color、sort、page、utm_source 五个参数,每个参数有若干取值。若全部组合都允许,地址数量是乘积关系,会持续增长。
按内容影响划分:
id:内容参数,决定页面主体;color:内容参数,若不同颜色对应不同SKU;sort、page、utm_source:展示或追踪参数,不改变主体内容。于是有效集合定义为:id 与 color 的合法组合,加上必要的分页路径;其余参数组合一律返回404。这个假设下,地址数量从乘积级降到有限级,规则也可审计。
需要说明适用条件:如果 color 只是同一SKU的展示变体,没有独立库存或独立描述,它就不应进入有效集合,否则会制造重复内容。
确定有效集合后,实际动作通常包括:
结果会反过来影响下一步:如果日志显示无效组合的抓取量下降,而有效页面的抓取量上升,说明规则方向正确,可以继续收紧;如果有效页面的抓取量也下降,说明规则误伤了内容参数,应回退并重新抽样。注意,抓取量归零本身不能单独证明规则正确,它也可能是robots.txt拦截、站点地图未更新或抓取工具暂时降低访问频率造成的,需要结合响应码和内容抽样一起判断。
另外,robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录。如果目标是从索引中移除已失效地址,应优先使用404或410响应,并在确认后分别核查不同搜索引擎的支持情况。