搜索抓取

筛选参数与抓取路径:哪些参数页该放行,哪些该收紧

带参数的筛选页、排序页很容易让 URL 组合成倍膨胀,蜘蛛顺着链接走下去,往往把抓取时间耗在同一批内容上。本文梳理参数页在蜘蛛眼里的处理方式,给出放行与收紧的判断标准,并对比 robots.txt、canonical、内链控制等几种收口手段的边界和验证方法。

搜索抓取

筛选参数与抓取路径:哪些参数页该放行,哪些该收紧

一个商品列表页挂上颜色、尺码、价格区间、排序方式之后,URL 组合很容易涨到几千条。蜘蛛顺着这些链接一路走下去,抓取时间大多花在同一批内容上。参数本身不是错,问题在于站点没有明确告诉蜘蛛:哪些组合值得抓,哪些只是给用户临时用的视图。

蜘蛛眼里的参数页长什么样

多数蜘蛛把带 a=b 这类参数的地址当作独立 URL 处理。它不会先判断这页和那页内容是否相同,而是先排队、再抓取、后去重。于是站点会看到几种后果:

  • 抓取队列被大量低价值地址占据,真正想被收录的页面回访变慢;
  • 同一份内容对应多个地址,彼此分散信号;
  • 访问日志里抓取量看着很大,实际覆盖的独立内容没有增加;
  • 筛选查询通常较重,服务器压力随之上升。

哪些参数页值得放行

判断标准可以简化成两条:这页有没有独立的搜索需求,内容是否稳定且可复现。

可以放行的类型

  • 有真实搜索量的聚合页,例如某个品类的固定筛选组合;
  • 结果稳定、顺序不随会话变化、不依赖随机推荐;
  • 页面文字描述完整,不只是结果列表。

建议收紧的类型

  • 排序方式、每页条数、视图切换等纯展示参数;
  • 会话 ID、来源跟踪、广告点击等非内容参数;
  • 多维叠加的组合,例如颜色加尺码加价格再加排序;
  • 站内搜索结果页,除非它确实有独立价值。

几种收口手段与各自边界

不同手段解决的是不同环节的问题,混用容易互相抵消。

  1. robots.txt 禁止抓取:适合会话类、跟踪类参数。要注意被禁止的地址如果被外链指向,仍可能以无摘要形式出现在结果里。
  2. canonical 指向主版本:用于告知一组参数属于同一内容,能减少信号分散,但不阻止蜘蛛实际抓取。
  3. 不生成链接:从源头上让蜘蛛走不到,是最干净的做法。筛选条件用按钮提交而非 a 链接时,要确认核心内容仍可通过普通链接到达。
  4. 前端渲染筛选结果:能降低被抓概率,但不要用它来隐藏你真正希望被看到的页面。

把该留的参数页放进抓取地图

Sitemap 里只列确定要收录的参数页,不要把全部组合都塞进去,否则地图本身就成了新的噪音源。内链只指向主版本,翻页保留可抓取的链接但限制深度,让蜘蛛在有限层数内触达全部结果。

怎么验证收紧是否生效

  • 看日志:参数类地址的抓取占比是否下降,目标页面的回访频次是否上升;
  • 看索引:同内容多地址的情况是否减少,覆盖情况是否更集中;
  • 看服务器:筛选查询相关的响应时间与错误率是否回落。
收紧参数的目的不是让蜘蛛少来,而是把它的时间换到更值钱的页面上。改动之后留出几周观察期,再决定要不要继续收。

参数页的处理属于长期工程:业务的筛选维度会不断变化,规则也要跟着调整。把判断标准写下来,交给负责模板和链接的人,比事后从日志里猜要省力得多。