先给结论:当筛选、排序、分页、追踪等参数可以自由组合时,不应该把“所有能返回200的URL”都当成有效地址集合,而要把有效集合定义为由业务规则约束、可枚举或可判定、且进入索引后不会互相替代的地址子集。其余组合即使能正常渲染,也应通过规范化、robots.txt限制抓取或返回404/410来处理。404错误修复在这里不是修补死链,而是给无限参数空间划一条可核对的边界。
是否把参数组合纳入有效地址集合,取决于该组合是否具备独立检索价值。可以用一个可核对的判据:同一组参数换一个值后,页面主体内容、标题和主要列表是否发生用户可感知的变化。
选择依据不是参数个数,而是“去掉该参数后,页面是否还是同一个检索结果”。如果答案是肯定的,它就不该拥有独立地址。
多个角色对同一批URL是否有效常有不同理解:开发认为能返回200就是有效,运营认为有流量就是有效,SEO认为能被索引就是有效。把分歧转成项目,需要一张地址判定表,而不是继续争论。
这个动作的结果会直接决定下一步:如果某个参数被判定为不影响内容集合,就不应再为它生成站点地图条目,也不应让站内链接指向带该参数的地址;如果判定为影响内容集合,则需要为它设定取值范围上限,并检查是否存在重复内容。
假设某站点有颜色、尺码、排序、页码四类参数,颜色和尺码各有10个取值,排序有3种,页码最多20页。若全部组合都视为有效,理论地址数量为10×10×3×20,远超实际内容量。此时可这样划分:颜色与尺码的组合保留,但只保留有库存的组合;排序和页码不进入有效地址集合,统一规范到默认排序和第一页;追踪参数直接忽略。结果是有效地址集合从数万条收缩到有库存的颜色尺码组合数,其余组合返回404或禁止抓取。这个例子只用于说明比较方法,不代表任何真实站点的数据。
有几类情况不能只靠状态码判断。第一,参数组合返回200但内容为空,这通常说明该组合没有实际结果,应返回404或410,而不是保留空页面。第二,参数组合返回404但被大量站内链接指向,说明链接生成规则有误,应先修链接再谈索引。第三,参数组合返回200且内容与其他地址高度相似,应检查规范标签是否指向正确版本。
还要注意,robots.txt的抓取限制不等于可靠的索引移除,被限制抓取的URL仍可能因外部链接出现在搜索结果中;站点地图不保证收录,提交大量参数地址反而会稀释抓取预算。不同搜索引擎对参数处理和规范标签的支持情况须分别核查,不能用一个平台的表现推断另一个平台。
定义有效地址集合不是一次性动作。每次新增筛选维度、排序方式或追踪参数时,都应先回答三个问题:它是否改变内容集合,它的取值范围是否有限,它是否会被站内链接或站点地图引用。只有三个问题都指向“是”的参数,才允许进入有效地址集合。
检查时优先看抓取量、索引量和404数量的变化方向,但不要把某一项统计归零当作处理正确的唯一证据。抓取量下降也可能来自站点地图调整、内链减少或服务器响应变化;404数量上升也可能来自旧链接集中失效。需要结合判定表和抽样结果一起判断,再决定是收紧还是放宽参数准入条件。