搜索抓取

筛选、排序与追踪参数:蜘蛛在参数化 URL 上会走多远

站内筛选、排序、分页和推广链接会自动生成大量带参数的 URL,它们对用户有用,却可能让蜘蛛把抓取预算花在重复内容上。本文梳理参数化 URL 的常见来源、蜘蛛的判断逻辑、抓取扩散的三条路径,以及从链接收敛、canonical 到日志观察的收口办法。

搜索抓取

筛选、排序与追踪参数:蜘蛛在参数化 URL 上会走多远

站内很多 URL 并不是编辑手工写出来的,而是筛选器、排序选项、分页按钮和推广链接自动生成的。它们对用户有用,对蜘蛛却意味着成倍的抓取入口。搞清楚这些 URL 是怎么被发现的,才能判断抓取资源到底花在了哪里。

参数化 URL 的几种常见来源

  • 筛选与分面:颜色、价格区间、地区、品牌,每勾一项就生成一个新的组合地址。
  • 排序:按销量、按价格、按上架时间,同一批内容出现多份地址。
  • 分页与视图:page=2、view=list 这类参数,既影响发现新 URL,也影响重复判断。
  • 追踪参数:utm_source、from、ref 等推广标记,常被外部转载带走。
  • 会话残留:部分系统会把用户上一轮的选择带进下一个 URL,形成意料之外的组合。

蜘蛛对参数的基本处理逻辑

早期搜索引擎对带参数的地址比较保守,往往直接忽略。现在多数蜘蛛会抓一部分,但通常会做去重判断,同一组内容尽量只保留一个代表 URL。问题在于,判断本身要花成本,抓取也要占预算。参数 URL 越多,越容易挤占真正需要抓的详情页。

什么样的组合容易被大量抓

如果筛选结果之间内容差异明显,蜘蛛更可能把它们当成独立页面处理。反之,只是顺序不同、内容基本一致的排列组合,通常被抓几次后就会被归并。这个边界并不固定,会随站点权重、更新频率和服务器响应情况变化。

抓取扩散通常沿三条路径发生

  1. 列表页上的筛选链接:一页里几十个筛选入口,每个都指向新地址,蜘蛛顺着点下去就会展开。
  2. 详情页里的相关推荐:带着参数回跳,和列表页互相指向,形成循环。
  3. 外部链接:推广链接带追踪参数被转载,蜘蛛从站外进来,绕过了站内的收敛规则。

收口的几个动作

  • 对纯排序、纯追踪参数,在服务器端或前端统一去掉,让用户和蜘蛛看到同一个干净地址。
  • 需要保留的筛选组合,限制可抓范围,例如只放开一到两个维度,其余组合不生成可点链接。
  • 用 canonical 指向无参数版本,但要清楚它只是提示,不是强制指令,长期不一致反而容易让蜘蛛反复确认。
  • robots.txt 可以屏蔽无意义的参数路径,前提是确认这些 URL 不会成为某些内容的唯一入口。
  • 分页尽量保留可抓,别把 page=2 一起封掉,那会切断深层内容的发现路径。

服务器层面的观察

想确认扩散有没有发生,最直接的办法是看日志:统计带参数 URL 的抓取占比、状态码分布,以及这些请求是否集中在某些时间段。如果参数 URL 的 5xx 或超时比例明显高于普通页面,说明它正在拖慢整体节奏,值得优先处理。反过来,如果参数页响应很快、内容也有差异,就不必急着全部封掉。

参数本身不是问题,问题是同一份内容被蜘蛛用很多个地址反复确认,而真正更新的页面还在排队。

一个折中思路

与其一刀切封掉所有参数,不如按「这个参数是否指向不同内容」来分类。指向不同内容的,给它稳定地址和明确的内链入口;只改变展示顺序的,收敛掉;纯粹是渠道标记的,从站内链接里去掉,只保留在对外投放中。分类做完之后再观察一段日志,看抓取分布有没有向详情页倾斜,比一次性大改更稳妥。