当筛选参数可以任意组合时,有效地址集合不能靠穷举定义,只能靠“规则准入+可验证抽样”定义。具体做法是:先确定哪些参数组合构成独立内容,再为其余组合指定一个规范地址,最后用抓取日志验证百度实际访问的是哪一类地址。下面以你手上一个带筛选功能的列表页为对象逐步展开。
同样是参数组合爆炸,处理代价差别很大,先分类再动手。
判断依据不是参数个数,而是“换一个取值后,页面主体内容是否实质不同”。如果只是顺序变化或同一批结果的重新排列,它不值得拥有独立地址。
实际工作中常见两条路线,它们不是优劣关系,而是适用条件不同。
做法是维护一份允许被抓取的参数组合清单,例如只允许“颜色+尺寸”两两组合,其余组合一律指向规范地址。它成立的条件是:参数数量少、取值稳定、你能说清每个组合对应什么内容。代价是维护成本随参数增加而上升,一旦新增参数忘记登记,新页面可能长期不被发现。
做法是默认允许参数组合被抓取,只屏蔽排序、会话、追踪类参数。它成立的条件是:参数取值确实对应不同内容,且你有能力持续监控抓取量。代价是抓取预算被大量低价值组合消耗,真正的新内容反而排在后面。
选择的分界点可以这样判断:如果参数取值来自有限枚举且每个组合都有独立标题与正文,路线二更省事;如果参数包含用户输入或时间戳,路线一更可控。混合型通常折中——对枚举参数用白名单,对排序和追踪参数用黑名单。
假设你手上是一个商品列表页,地址形如 <列表页>?color=red&size=m&sort=price&page=2。可执行的处理顺序是:
sort、page 这类参数,决定是否保留。分页通常需要保留,排序通常不需要独立地址。这里有一个必须说明的边界:站点地图不保证收录,它只是提交候选地址。robots.txt 的抓取限制也不等于可靠的索引移除——被屏蔽抓取的地址仍可能因为外链等原因出现在索引中。所以“有效地址集合”的定义要同时覆盖抓取和索引两层,不能只靠一条规则解决。
规则写完不等于定义正确,需要用百度实际抓取行为来校准。可观察的证据包括:抓取频次集中在哪些参数组合、哪些组合被抓取后长期没有进入索引、规范地址是否被稳定选中。
需要提醒的是,抓取量下降或某个组合抓取归零,不能单独证明你的处理正确。它也可能是抓取预算整体收缩、站点其他部分出现问题、或者百度临时调整了抓取节奏。要区分这些解释,可以对比同期其他目录的抓取变化,而不是只看被处理的那一组参数。
一个假设的例子:某列表页有 3 个枚举参数,每个 5 个取值,理论组合 125 个。你只保留其中 20 个有独立内容的组合,其余指向规范地址。若一段时间后抓取仍集中在被排除的组合上,说明规范信号或内链指向没有生效,下一步应检查站内链接是否仍指向那些被排除的地址,而不是继续增加屏蔽规则。
把标准收敛成一句可执行的话:一个参数组合算有效地址,当且仅当它对应独立且稳定的内容、有明确的规范地址、并且能被站内链接或站点地图指向。不满足这三条的组合,无论参数看起来多合理,都不应进入集合。
按这个标准处理之后,你得到的不是一份无限清单,而是一组规则加一份可验证的抽样。后续每新增一个参数,只需判断它属于枚举、用户输入还是系统生成,就能决定它是否改变有效地址集合,而不必重新穷举全部组合。