关键不是判断某个带参数的URL该不该404,而是先划出一条可维护的边界:哪些参数组合属于同一份内容,哪些必须各自拥有独立地址。边界没定,404就会在“该保留的被删”和“无意义的被留下”之间反复摇摆。可行做法是先按参数功能分类,再决定保留、改写还是退出索引,最后用一批可复核的样本验证边界是否稳定。
无限增长通常来自三类参数:筛选与排序、追踪与来源标记、分页与会话。它们对地址集合的意义完全不同。筛选参数如果确实产生不同的内容视图,往往值得保留;纯追踪参数一般应通过规则统一归并;分页参数则要单独定义边界,不能和筛选混在一起处理。
判断依据可以落在“同一份内容是否可被用户直接到达”上。假设一个列表页的?color=red和?color=blue都能返回不同商品集合,那么它们更接近有效地址;而?utm_source=x只是来源标记,同一内容不应因此获得第二个地址。这个假设需要用小样本验证:随机抽取若干参数组合,检查返回内容的主体是否重复。
当参数直接决定页面主体内容,且这些内容对用户有独立价值时,保留是合理选择。前提是你能为每个有效组合提供稳定的标题、描述和内部链接,而不是让它们只靠参数拼出来。否则地址集合会膨胀,质量却稀薄。
一个实际动作是:先锁定一组参数维度,例如颜色、尺寸、地区,只允许这些维度参与地址生成,其余参数一律不进入规范地址。做完这一步后,再抽查这些维度组合的返回内容是否真的不同。如果大量组合返回相同主体,说明保留的前提不成立,应转向改写或退出。
改写通常用于“参数不改变主体内容,但用户可能通过它进入”的情况。做法是让带追踪参数的地址指向一个规范地址,同时保留参数本身可被读取,用于分析或跳转。这里的关键前提是:改写规则必须能区分追踪参数和内容参数,否则会把筛选视图错误地合并掉。
可以用一个短例子说明取舍。假设某站有?ref=abc和?ref=def两种来源标记,页面主体完全相同。若把它们都改写到同一规范地址,地址集合收缩,维护成本下降;但如果把?sort=price也一并改写,用户按价格排序的视图就会丢失。因此改写规则应只覆盖明确无内容差异的参数,并保留一份例外清单。执行改写后,下一步是检查这些例外是否仍能被正常访问,而不是直接假设合并成功。
退出意味着让这些参数组合不再作为独立地址存在,通常返回404或跳转到更合适的页面。适用前提是:这些组合既没有独立内容,也没有稳定的用户入口或外部链接。若某个组合已被大量外部链接指向,直接退出会让访问者落到错误页,此时应先考虑改写而非退出。
需要区分两类现象:抓取工具报告大量404,可能只是参数组合被探测到,并不等于这些地址曾经有效;反过来,索引中仍保留某些参数地址,也不代表它们应该继续存在。请求量或抓取量归零不能单独证明处理正确,因为还可能是抓取策略调整、链接自然衰减或工具统计口径变化。更可靠的验证是抽样检查这些地址在站内是否还有入口、在外部是否还有引用。
定义有效地址集合不是一次性动作,而是一轮轮收紧的过程。建议先选一小批参数组合,分别标记为保留、改写、退出,然后观察三类处理后的实际表现:保留的是否能稳定返回独立内容,改写的是否丢失了有用视图,退出的是否造成访问者明显受挫。
如果样本中多数组合都落在“内容相同但有入口”这一档,说明你的边界应偏向改写,而不是直接退出。反之,如果多数组合既无内容差异也无入口,退出才是更省维护成本的选择。无论选哪条路,都要把规则写成可复核的条件,例如“仅保留能改变主体内容的参数维度,其余统一改写”,而不是依赖个例判断。这样下一轮遇到新参数时,才有依据决定它进入保留、改写还是退出。