当参数组合理论上无限增长,有效地址集合不应按“枚举全部组合”定义,而应按“能被站点稳定解析、返回唯一内容、且允许被索引的地址模式”定义。更实际的做法是:先保留有明确内容映射的参数组合,把无内容映射的组合统一改写或退出索引;代价是前期需要建立规则表,收益是抓取预算和索引质量可控。
参数组合无限增长时,服务器往往能对任意组合返回200状态码,但这只说明地址可解析,不说明它值得进入索引。有效地址集合至少要满足三个条件:参数有业务含义、不同参数值对应可区分的内容、页面不会因参数顺序或大小写产生重复。若只满足第一个条件,地址集合会迅速膨胀成低质量页面。
假设一个筛选页有颜色、尺寸、材质三个参数,每个参数有若干可选值。若允许任意组合并全部保留,地址数量会按乘积增长;但其中大量组合可能没有任何商品,或只返回与父级分类相同的列表。此时“可解析”成立,“有效”不成立。
保留策略的前提是每个参数组合都能对应独立且稳定的内容,并且这些内容有真实检索需求。适用条件包括:参数值来自受控词表、组合结果非空、页面标题和描述能随参数变化、分页和排序参数有明确边界。
动作上,可以建立一张参数白名单,只允许白名单内的参数进入可索引地址。对白名单外的参数,返回规范标签指向无参数版本,或返回404/410。这样做的结果是:抓取工具不再把预算花在无限组合上,后续日志分析也更容易判断哪些参数真正带来了有效访问。
代价是维护成本。白名单需要随业务变化更新,否则新上线的有效筛选会被误伤。若无法持续维护,保留策略会从“可控”退化为“新的无限集合”。
改写不是简单地把参数拼成路径,而是把“参数组合”转换为“可被独立理解的资源标识”。适用前提是:组合结果稳定、组合数量有限、且改写后的地址不会与现有路径冲突。常见做法是把有检索价值的组合映射为静态路径或短标识,把排序、跟踪、会话类参数排除在可索引集合之外。
例如,假设某站点把?color=red&size=m改写为/red-m,但只对非空组合生成路径。动作结果是:有效组合获得独立地址,空组合不再产生页面。下一步应检查改写后的地址是否返回唯一标题、唯一主内容,以及是否存在多个路径指向同一内容。若存在,需要用规范标签收敛,而不是继续新增路径。
改写的代价是工程改动和重定向管理。若旧参数地址已有外部链接或历史流量,直接废弃会损失可访问性;更稳妥的是保留旧地址并301到新地址,同时确认新地址确实返回对应内容。
退出策略针对的是那些既没有独立内容、也没有维护价值的参数组合。适用条件包括:组合结果为空、结果与父级页面高度重复、参数仅用于跟踪或排序、组合数量随用户输入无限扩展。此时继续保留只会增加抓取和索引负担。
动作上,可以对这类地址返回410,或在服务器层直接拒绝。若使用robots.txt禁止抓取,要注意抓取限制不等于可靠的索引移除:被禁止抓取的地址仍可能因外部链接出现在索引中,且抓取工具无法读取页面上的规范标签。更可靠的做法是让地址返回明确的移除状态,并配合站点地图只列出有效地址。
站点地图不保证收录,它只是声明候选地址。退出策略的结果是:有效地址集合变小,抓取和索引信号更集中。下一步应观察服务器日志中这些地址的请求是否下降,以及有效地址的抓取是否上升。但请求量归零不能单独证明处理正确,还可能是因为抓取工具尚未重新访问、robots.txt 屏蔽了抓取、或外部链接减少。
可以把判定规则写成三步:第一,参数是否在受控白名单内;第二,该组合是否有非空且唯一的内容;第三,该地址是否允许被索引并出现在站点地图中。三步都为“是”才进入有效地址集合;否则进入改写或退出流程。
执行后,用一组假设数据验证:若有效地址从大量组合收敛到少量白名单组合,且这些组合在日志中持续获得抓取,说明规则可运行;若有效地址抓取没有变化,而无效地址请求下降,也不能直接判定成功,还需检查抓取工具是否重新发现了新的地址结构。最终,有效地址集合的定义应落在“可维护的规则”上,而不是“理论上的全部组合”。