不能把所有参数组合都当成有效地址,也不能简单用 robots.txt 一禁了之。有效地址集合应当由“页面是否输出可索引的实质内容”和“参数是否改变该内容”共同决定:先抽样对比参数变化前后的渲染结果,再把不改变内容、只改变排序或跟踪信息的参数归入无效集合,并用可抓取的规范地址承接。这个定义不是一次定死的,需要随页面模板和参数来源变化重新核对。
参数组合无限增长通常来自筛选、排序、分页、会话跟踪、来源标记这几类来源。它们对页面的影响并不相同,判断时可以先按“是否改变主内容”分成两堆。
这里有一个反直觉点:同一组参数在不同模板下可能归属不同。列表页的 sort=price 往往不改变内容集合,但详情页的 version=2023 可能对应不同版本说明。因此不能按参数名一刀切,必须回到实际页面输出上验证。
判断不能只靠 URL 形态,要看百度爬虫实际拿到什么。可以做一组小样本对比,动作和结果如下。
假设某列表页有 color 和 size 两个参数,各取三个值。抽查九种组合后发现,只有 color 会改变商品集合,size 只改变排序,那么有效集合应围绕颜色维度定义,而不是笛卡尔积。这个例子是假设,用于说明比较方法,不代表任何真实站点的参数行为。
需要留意,请求量下降、抓取量归零这类现象不能单独证明参数处理正确。它也可能来自入口减少、站点整体改版、抓取预算重新分配,或百度爬虫暂时降低了对该目录的兴趣。要结合日志中 URL 模式的变化、返回状态码分布和页面内容对比一起看。
定义有效地址集合时,选择取决于参数是否产生可独立检索的内容。
此时应把无参数或默认参数地址作为规范地址,其他组合通过 canonical、链接收敛或参数过滤规则指向它。实施动作是:在页面输出中把规范地址写清楚,站内链接只指向规范形式,避免让爬虫从多个入口反复发现同一内容的变体。结果是抓取请求更集中到有独立价值的地址上,后续再观察日志中该模式的抓取占比是否变化。
此时不能全部保留,也不能全部屏蔽。可行的做法是先保留有搜索需求、有站内导航入口、内容质量达标的子集,其余组合通过规则收敛到上一级聚合页。例如颜色和尺寸都改变商品集合时,优先保留“颜色+品类”这类有明确检索意图的组合,把纯尺寸组合指向品类页。动作之后要核对:被收敛的地址是否仍能通过站内路径到达用户需要的页面,以及百度爬虫是否还在持续请求这些地址。
两种条件的共同点是:有效集合的定义必须落到“这个地址是否值得被单独检索”上,而不是“这个地址是否能返回 200”。能返回 200 只是技术可达,不等于内容有效。
参数集合的治理有几个常见例外,需要在定义时一并说明。
定义有效地址集合的最终动作,是形成一份可维护的规则:哪些参数维度保留、哪些收敛、哪些归一化,以及由谁在模板变更时重新核对。规则落地后,下一步应回到抓取日志和页面输出中验证收敛结果,而不是停在规则本身。