无法靠“把参数都屏蔽掉”解决,因为参数组合无限增长时,真正需要定义的不是黑名单,而是哪些地址值得被抓取、哪些地址只是同一内容的变体。有效地址集合应当由“可枚举的维度+每维允许值+组合上限”三部分构成,而不是由爬虫实际访问过的 URL 反推。
常见情形是:站内筛选、排序、分页、追踪参数叠加,日志里的抓取请求持续上升,但真正有独立内容价值的页面数量几乎不变。此时会出现两种相反的解释。
这两种解释指向的动作完全不同:前者要收敛参数入口,后者要先建立地址集合规则。如果只做前者而不做后者,屏蔽掉一批参数后,新的组合仍会从其他入口生成。
可以抽取同一内容主体的若干参数变体,比较它们在抓取日志中的请求来源和状态码。假设某商品页存在颜色、尺码、排序、来源追踪四类参数,观察一周内这些变体的请求分布。
这里要注意:抓取量下降本身不能证明处理正确。抓取量归零也可能是因为规则误伤了有效地址、服务器临时不可达,或者蜘蛛只是暂时降低了访问频率。必须结合状态码分布和有效页面是否仍可被访问来判断。
有效地址集合不是“所有能返回 200 的 URL”,而是“每个独立内容至少一个规范地址,且该地址可由稳定规则枚举”。可以按以下维度定义。
定义完成后,需要给出每个维度的允许值和组合上限。例如内容维度允许 1 个 ID,展示维度允许 1 个默认排序,追踪维度允许 0 个。这样有效地址集合就是可枚举的,而不是随用户操作无限扩展。
假设站点当前允许“分类+排序+分页+追踪”四类参数自由组合。第一步不是直接写 robots.txt 屏蔽,而是先确定规范地址规则:分类页只保留分类 ID,排序固定为默认,分页保留 page 参数但设置合理上限,追踪参数一律不进入规范地址。
执行后,内部链接和站点地图应只指向规范地址。此时观察日志中的两个指标:规范地址的抓取比例是否上升,以及非规范变体的请求是否仍从站内入口产生。如果非规范变体请求减少,但规范地址抓取没有增加,说明抓取预算可能被其他因素占用,需要继续排查;如果非规范变体仍持续从站内产生,说明模板或组件仍在生成带参数的链接,需要回到模板层修正。
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除。被屏蔽的地址仍可能因外部链接被索引,只是蜘蛛不再抓取内容。站点地图也不保证收录,它只是提供候选地址。不同搜索引擎对参数处理和规范地址的支持情况须分别核查,不能假设一套规则在所有引擎中表现一致。
有效地址集合的定义需要满足两个前提:一是每个独立内容确实有稳定标识,二是站点能够控制内部链接的生成方式。如果内容本身依赖会话或临时参数才能展示,先要解决可访问性问题,而不是急于收敛参数。
另一个误判是把“抓取量下降”直接当成成功。抓取量下降可能来自规则误伤、服务器响应变慢、外部链接减少或蜘蛛调度变化。判断处理是否正确,应看有效地址是否仍可被抓取、规范地址是否被一致引用,以及非规范变体是否不再从站内产生。只有这些条件同时成立,参数收敛才算真正落地。