先给结论:不要试图枚举所有参数组合,而是先为这批页面定义一条“有效地址”的判定规则,再据此决定哪些地址允许被抓取、哪些地址从站点地图和内部链接中退出。具体做法是拿你手里一个正在产生无限参数的页面,按“业务功能—参数取值—可访问性”三步筛,最后得到一份可维护的白名单和一份明确的退出清单。
常见来源有三类:筛选与排序、分页与会话跟踪、旧系统遗留的查询字符串。前两类往往有业务价值,第三类通常只是历史包袱。问题在于,只要一个参数可以被任意拼接,链接就可能被外部或内部反复生成,形成近似无限的地址空间。
判断是否失控,可以看一个信号:同一批内容是否出现了大量仅参数顺序或无关参数不同的地址。如果这些地址返回的内容高度重复,却各自可访问,它们就属于需要收窄的对象,而不是需要继续扩展的对象。
把有效地址集合理解为满足以下条件的地址:
三条同时满足,才进入白名单。只满足第一条的,先保留观察;三条都不满足的,列入退出候选。
假设你有一个旧产品列表页,地址形如 /list?color=red&size=10&page=2,其中 color 和 size 是固定枚举,page 是分页,但历史上还混入过 sort=、ref= 等参数。处理动作如下:
这个动作的结果会直接影响下一步:如果移除后仍有外部链接指向旧参数地址,你需要决定是让其返回正常内容、跳转到规范地址,还是明确不可访问。这个决定不能只靠 robots.txt 的抓取限制来完成,因为抓取限制不等于索引移除。
把判定结果分成三份清单,比笼统地说“优化参数”更可执行:
站点地图只应包含白名单地址。站点地图不保证收录,它只是发现渠道之一。把灰名单和退出清单塞进站点地图,只会让有效地址集合的边界更模糊。
执行后需要验证两件事:白名单地址是否仍能正常返回独立内容;退出清单地址是否不再从站内被链接到。可以按参数名抽样,而不是逐条检查全部组合。
如果发现某个被移出的参数地址仍有真实用户访问或外部引用,应把它移回灰名单,而不是直接删除。反过来,如果白名单地址在去掉参数后与另一地址内容相同,应合并为一条规范地址。这个回退条件应在处理前就写清楚,避免执行中反复。
最后提醒一点:请求量或抓取量下降,不能单独证明退出处理正确,它也可能来自抓取预算变化、外部链接减少或服务器响应波动。需要结合内容重复度和内部链接变化一起判断。