先给结论:在虚拟主机选择里,如果 URL 参数可以任意组合,就不存在一个“全部有效地址”的清单。你能定义的是有效地址集合的边界规则——哪些参数参与生成页面、哪些只做跟踪、哪些组合必须归一。判断标准不是参数数量,而是每个参数是否改变页面主体内容,以及这种改变能否被稳定复现。
下面以你手上的一份 URL 清单或服务器访问日志为对象,逐步把它变成可执行的处理方案。
把清单里的参数逐个标记成三类。第一类是内容参数,改变它页面主体会变,例如商品编号、文章 ID、分页页码。第二类是跟踪参数,例如来源标记、广告点击标识,它们不应产生新页面。第三类是排序与筛选参数,是否算新页面取决于你的内容策略:如果筛选结果有独立可索引价值,它属于内容参数;如果只是同一批内容的重新排列,它应归入跟踪类处理。
这个分类直接决定下一步。内容参数进入“可生成地址”集合,跟踪参数进入“需归一”集合。排序筛选参数需要你先做一次策略判断,再决定归入哪一边。分类没做完就动手写规则,后面一定返工。
参数组合数增长很快,但真实内容量可能没变。区分办法是抽样核对,而不是看 URL 总数。从清单里按参数类型分层抽取若干条,逐条打开确认页面主体是否真的不同。如果大量组合返回的是同一主体内容,只是排序或高亮不同,那这是参数爆炸,有效地址集合应当收窄。如果每条组合都对应独立主体内容,那是内容爆炸,你需要的是分页与归档策略,而不是一刀切屏蔽。
一个常见的反直觉结果是:抓取请求量上升,但有效地址集合并没有扩大。合理解释不止一种——可能是跟踪参数被大量拼接后重复抓取,也可能是站内链接把筛选组合互相串联,还可能是站点地图里混入了本不该提交的地址。请求量或某项统计归零,同样不能单独证明你的处理正确,它也可能只是抓取预算被挪到了别处。要下结论,至少要有两组独立证据:抽样打开结果,加上服务器日志里这些地址的响应状态与响应体长度对比。
规则要能被执行,就必须落到具体动作上。
这三条动作做完后,回到你的清单重新抽样。如果同一主体内容对应的地址数量明显下降,说明归一动作生效;如果仍有大量地址返回相同主体,说明还有一类参数没被识别出来,需要回到第一步重新分类。
假设某站有 200 件商品,URL 允许“分类 + 排序 + 每页数量 + 来源标记”四个参数自由组合。参数组合数可以轻松达到数千,但真实商品内容只有 200 件。此时有效地址集合应定义为:每件商品一个地址,加上有独立索引价值的分页地址;排序、每页数量和来源标记全部归一。这个例子里,判断依据是“参数是否改变主体内容”,而不是组合总数。数字仅用于说明比较方法,不代表任何真实站点的实际规模。
如果抽样发现某些排序结果确实对应不同的商品集合,例如“按价格升序”和“按销量排序”展示的是完全不同的商品,那这些排序就需要重新评估是否纳入有效地址集合。是否纳入,取决于这些结果页是否有独立可索引价值,而不是取决于参数名字看起来像不像排序。
规则上线不等于问题结束。你需要分别核查不同搜索引擎对这些地址的实际处理情况,因为支持程度和抓取行为并不一致。同时注意两点边界:robots.txt 的抓取限制不等于可靠的索引移除,被限制抓取的地址仍可能以其他方式出现在结果里;站点地图不保证收录,提交了也不代表会被处理。如果站点使用 HTTPS,它也不保证安全无漏洞或排名提升,这些是不同层面的问题。
最终判断标准回到开头那句话:有效地址集合不是一张无限长的清单,而是一组你能解释、能复现、能随参数新增而扩展的边界规则。规则清楚,参数再多也不会失控;规则不清,参数很少也会互相冲突。