先把结论说清楚:当筛选、排序、分页等参数可以任意组合时,你不该去穷举“所有有效地址”,而应该定义一个可判定的有效地址集合规则——用少量参数维度、取值范围和组合上限写出规则,让任何一个 URL 都能被程序或人按同一套规则判定“该抓、该规范、该拦”。规则之外的组合,一律视为无效地址,而不是等它出现后再讨论。
典型场景是:开发认为带参数的地址都是同一页面的变体,不必区分;运营认为每个筛选组合都是一个可被用户搜索到的落地页;SEO 认为其中只有一部分值得被抓取。三方都没有错,但都在用不同的隐含标准判断“有效”。
分歧的根源在于,参数组合是乘法增长的:颜色 10 种、尺寸 8 种、排序 4 种、分页 20 页,理论组合就是 6400 个地址。任何一方凭印象列举,都不可能覆盖这个空间,于是争论永远停留在个别例子上。
解释一:有效地址集合本身没有定义。团队从未写下“哪些参数参与构成有效地址”,所以每个人按自己的用途临时判断。这种情况下,争论会反复出现,且每次结论不一致。
解释二:集合有隐含定义,但没有写成可核对的规则。比如大家心里都认可“只有带搜索意图的筛选页才算有效”,但没人说清哪些参数算搜索意图、组合到什么程度算过度。这种情况下,争论集中在边界个案上。
区分方法很直接:让三个人各自独立写出“一个地址有效”的判断条件,再对比。如果连判断维度都对不上,是解释一;如果维度一致、只在阈值上分歧,是解释二。这个动作的结果决定下一步——前者要先定维度,后者只需定阈值。
有效地址集合应该由一份参数白名单及其取值约束构成,而不是一份 URL 清单。白名单至少写明三件事:
写成规则后,任意 URL 都能被判定。假设某站规定“筛选维度不超过两个、分页不超过 20”,那么“颜色+尺寸+排序+第 15 页”因为含三个筛选维度,直接落入无效集合,不需要逐个讨论。这个判定结果会直接影响下一步:无效集合里的地址应统一指向对应的规范地址,而不是各自保留。
规则写完后,需要证据判断它是否合理。可核对的证据包括:
这些证据只能说明规则与现状是否一致,不能单独证明规则正确。抓取量下降或某类地址请求归零,也可能是抓取预算重新分配、外链变化或站点结构调整造成的,需要结合链接结构一起看。
取舍一:规则从严还是从宽。从严意味着有效集合小、规范集中,但可能误伤确有独立价值的筛选页;从宽意味着覆盖全,但重复内容与抓取浪费增加。判断依据是内容是否真的因参数而不同,而不是参数本身是否“看起来重要”。
取舍二:用抓取限制还是用规范信号。用 robots.txt 限制参数地址的抓取,看起来省事,但它不等于可靠的索引移除——已被收录的地址不会因为抓取限制而自动消失。更稳妥的做法是对无效集合输出规范信号,同时避免在站内大量链接它们。两者适用条件不同:抓取限制适合纯技术性、无用户价值的参数,规范信号适合内容重复但用户可能访问的地址。
无论选哪种,都要把规则写成文档并附上判定示例,让开发、运营、SEO 用同一份依据核对。规则一旦可判定,参数组合增长就不再是争论来源,而只是规则的一次次应用。