先给一个有条件的结论:当筛选、排序、分页等参数可以无限组合时,有效的地址集合不应按“参数值”定义,而应按“能被独立检索意图对应的稳定页面”定义。也就是说,每个有效地址必须满足三个前提:内容随参数发生实质变化、该变化有被搜索到的可能、并且存在一条不依赖会话状态的规范路径。不满足这三条的参数组合,应视为同一地址的变体而非新地址。这样做的直接结果是:站点地图、内链和抓取预算只投给有限集合,而不是投给参数笛卡尔积。
参数组合增长的本质是组合爆炸,而不是内容增长。假设一个商品列表有颜色、尺码、排序方式、每页数量四个参数,每个参数有若干取值,组合数会迅速达到数千甚至数万。但其中真正产生独立检索意图的,往往只有“颜色=红色”“尺码=XL”这类有明确搜索需求的维度,而“排序=价格升序”“每页=24”几乎不会有人当作独立查询。
判断一个参数组合是否值得成为有效地址,可以问三个问题:
三个问题都通过,才进入有效集合;只通过前两个、第三个不通过,应通过 URL 重写或服务端渲染固定下来,而不是放任参数自由拼接。
上面的定义有一个明确的失效条件:当某个参数组合本身构成独立的商业或信息需求时,即使它看起来只是参数变体,也应被当作有效地址。反例是“品牌+价格区间”这类组合。单看“价格区间”参数,它像是排序筛选;但当它和具体品牌、具体品类组合后,可能对应真实的比价和选购意图。此时把它一律归入无效集合,会导致这部分需求没有可被抓取的落点。
所以有效集合的边界不是“参数多就砍”,而是“是否存在独立需求”。判断依据可以来自站内搜索词、客服高频问题、外链锚文本,而不是参数本身的形式。
一个可操作的做法是:先枚举所有参数维度,标注每个维度属于“内容维度”还是“展示维度”。内容维度包括品类、品牌、规格、地区等会改变主体信息的参数;展示维度包括排序、每页数量、视图模式、会话标识等不改变主体信息的参数。
执行后应观察一个具体信号:抓取日志中展示维度参数的出现比例是否下降,而内容维度页面的抓取频次是否上升。如果前者下降但后者没有上升,说明有效集合可能定义得过窄,把有需求的组合也砍掉了,此时应放宽内容维度,而不是恢复展示维度。
站点地图只应包含有效集合中的地址,把参数变体全部塞进去不会提升收录,反而会稀释对有效地址的抓取。robots.txt 的抓取限制不等于索引移除:被禁止抓取的参数地址仍可能因为外链被索引,只是内容陈旧。因此对无效参数组合,更可靠的做法是返回明确的状态码并配合规范声明,而不是只靠抓取限制。
另外,不同搜索引擎对参数处理和规范信号的支持程度不同,需要分别核查各自的抓取与索引表现,不能用一个引擎的结果推断另一个。
先导出最近一段时间的抓取日志,按参数维度分组统计抓取量。把抓取量高但无独立需求的维度标为展示维度,把有独立需求但抓取量低的维度标为内容维度。然后只对内容维度重建有效地址集合,重新提交站点地图,并在两到四周后对比内容维度页面的抓取占比是否上升。若上升,说明集合定义有效;若不变,检查这些地址是否被内链真正指向,因为没有被链接的地址很难进入抓取路径。