结论先行:当筛选、排序、分页、追踪等参数可以任意组合时,有效地址集合不应由“参数有多少种”决定,而应由“每个地址能否提供独立且稳定的内容”决定。对少数样本有效的规则,一旦参数开始交叉组合,往往会失效。更稳妥的做法是先定义可收录地址的准入条件,再用抽样验证这套条件是否真的成立。
参数页面能返回200状态码,只说明服务器愿意响应,不等于百度应该把它当作独立地址收录。有效地址集合至少要满足三个条件:内容主体不因参数变化而重复、页面有稳定的标题与摘要、用户直接访问该地址时能得到与入口一致的信息。
一个假设例子:某商品列表支持color、size、page三个参数。若color=red与size=40组合后仍显示同一批商品,只是顺序不同,那么这个组合就不属于有效地址。反之,若它对应一个真实存在的筛选结果,且该结果在库存变化时仍保持可访问,才可以进入候选集合。
这里的判断依据不是参数数量,而是页面之间是否存在可区分的内容差异。差异必须对用户有意义,而不是只对爬虫可见。
运营者常先用少量参数组合测试:手工访问几个地址,确认能打开、标题正常,就认为规则可以推广到全部组合。问题在于,参数一旦交叉,组合数量会迅速膨胀,原本不明显的重复、空结果和软404会集中出现。
会使结论失效的反例是:单看page=2时页面正常,单看color=red时页面也正常,但color=red&page=99返回的是“没有找到商品”的提示页,状态码仍为200。这类地址如果被批量提交,会把大量无内容页面送入抓取队列,稀释真正需要收录的地址。
因此,抽样不能只抽“看起来正常”的组合,还要专门抽边界组合:最后一页、空结果、冲突参数、默认值与显式值同时出现的情况。只有边界也符合准入条件,规则才具备规模化的基础。
与其争论某个参数该不该保留,不如看页面返回的证据是否指向同一结论。可以按以下顺序检查:
这些证据要一起看。单独一个现象不足以定论,例如抓取量下降,既可能是地址集合收窄所致,也可能是站点整体抓取预算变化、服务器响应变慢或内容更新减少。把单一指标归零当作处理正确的证明,容易掩盖真正原因。
下一步动作不是立刻批量提交,而是先写出一份准入规则,再用它反向筛选现有地址。规则可以写成类似这样的判断:
执行后,观察被抓取地址的类型是否向内容页集中。如果抓取仍然大量落在无入口的参数变体上,说明规则没有真正作用到链接层,需要回到模板和内部链接检查,而不是继续扩大提交范围。
需要提醒的是,robots.txt限制抓取不等于可靠的索引移除,站点地图也不保证收录。把地址从站点地图删除,只是减少发现路径,不等于百度会立即移除已有索引。有效地址集合的定义,最终要落到页面本身是否值得作为独立结果存在。
上述规则适用于参数主要影响展示顺序、筛选结果可复现的站点。若参数直接决定内容主体,例如不同地区对应不同库存和价格,且这些差异对用户有实际意义,就不能简单合并为一个地址。此时应分别核查每个变体是否有独立价值,而不是套用“参数一律不收录”的结论。
另外,百度对不同站点的抓取和索引处理存在差异,任何规则都应在本站抽样验证后再扩大范围。先定义准入条件,再检查边界组合,最后根据抓取分布调整内部链接和提交范围,这比追求参数组合的全覆盖更接近可控的收录管理。