结论是:当参数组合可以无限生成时,有效地址集合不能按“所有能返回内容的URL”来定义,而应按“百度能够稳定抓取、且内容具有独立检索价值的那一小组参数形态”来定义。这个结论有明确边界——如果站点把筛选、排序、分页、追踪参数全部交给爬虫自行发现,集合会随着参数排列组合不断膨胀,少量样本上看似成立,规模化后必然出现抓取预算被稀释、真正需要收录的地址反而长期不被处理的情况。
参数页最容易出现的误判,是把HTTP 200当成有效信号。一个商品列表加上颜色、尺码、排序方式、每页条数、来源追踪,可以组合出成千上万个都能正常渲染的地址,但其中绝大多数只是同一批数据的重新排列。对百度而言,这些地址是否值得进入有效集合,取决于三件事:是否有独立且可检索的内容差异、是否能在站点内部获得稳定入口、是否不会因为参数顺序变化而产生重复。
可以据此把地址分成三层:核心层是不带筛选或只带一个业务必要参数的地址;衍生层是带筛选组合但内容确有差异的地址;噪声层是排序、追踪、会话、展示偏好类参数。有效地址集合应只包含前两层中被明确挑选出来的部分,而不是自动等于全部可访问地址。
假设某站点按“只保留一个筛选参数”的规则收敛地址,初期样本表现正常,收录趋于稳定。但当业务上线了地区加品类加价格区间的组合筛选,并且这些组合页各自拥有独立文案、独立库存和独立内链时,继续沿用“只留一个参数”的规则就会把真正有检索价值的页面挡在集合之外。此时结论失效的原因是:内容差异不再来自参数数量,而来自参数组合所对应的实体本身。
判断方法不是数参数个数,而是比较两个地址在标题、主体文本、可索引数据上是否有实质区别。若两个组合页仅有筛选条件不同、正文完全一致,归入噪声层;若各自对应不同地区或不同品类的独立信息,则应考虑纳入衍生层,并单独给予入口。
这里有一个容易忽略的动作:把参数顺序规范化,例如统一按固定顺序输出查询串,并对同一组参数只保留一个规范地址。这个动作的直接结果是减少重复发现,让后续的内容差异判断不再被参数顺序干扰;如果规范化后抓取量下降,也不等于处理失败,因为抓取量归零还可能来自入口调整、站点地图更新或抓取频次波动,需要结合索引结果一起看。
有效地址集合的定义必须附带适用条件:它只适用于参数由站点自身生成、且内容差异可被程序判断的场景。如果参数来自用户自由输入或第三方跳转,站点无法穷举,此时应转向限制可发现入口,而不是试图枚举全部地址。另外,robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录,这两点不能作为定义集合的依据。
下一步动作是:先选一个参数维度做小范围规范化,记录规范化前后被抓取地址的数量与类型变化,再决定是否扩大白名单。若规范化后有效地址的抓取集中度提高,说明集合定义方向可用;若只是总量下降而目标地址没有改善,则应回到内容差异和入口稳定性上重新判断,而不是继续收紧参数。