搜索抓取

筛选和排序链接被蜘蛛发现后:参数 URL 怎么收口

列表页上的筛选、排序和站内搜索链接,往往是参数 URL 被大量发现的来源。文章说明蜘蛛如何跟进这些链接、哪些参数组合值得保留,并从链接出口、robots.txt、canonical 与 Sitemap 几个层面给出收口顺序,帮助减少无效抓取,同时不影响正常用户使用。

搜索抓取

筛选和排序链接被蜘蛛发现后:参数 URL 怎么收口

列表页加一排筛选条件、一个排序下拉,用户找东西通常更快,但搜索引擎蜘蛛顺着这些链接走进去,会发现一批内容高度相似的 URL:同一批商品按价格排序、按颜色筛选、带上追踪参数……这些地址本身不算错误,问题在于被发现得太多,会挤占站点本就有限的抓取资源。

参数 URL 是怎么被蜘蛛发现的

常见入口大致有几类:

  • 筛选条件写成可点击的 a 链接,蜘蛛会逐个跟进;
  • 排序功能用链接实现,每点一次都产生一个新地址;
  • 站内搜索结果页被用户复制分享,或被外站引用;
  • 页面链接由 JS 拼接,渲染完成后同样可能被读取。

判断标准其实很简单:只要在 HTML 里以可点击链接的形式出现,蜘蛛就有机会走进去。按钮、表单提交、纯 JS 事件通常不会额外产生被抓取的 URL,除非它们最终输出了可链接的地址。

为什么不能放任不管

参数页大多只是同一批内容的重新排列,对用户有价值,对索引却容易造成重复。当这些地址大量进入待抓取队列,直接后果是:

  • 抓取资源被分散,新发布的规范页面反而排在后面;
  • 日志里出现大量相似抓取记录,排查问题变困难;
  • 部分参数页被抓取后进入索引,与主页面争抢展示。

注意,这里说的不是“参数页必须全部封掉”,而是要让蜘蛛把精力放在值得收录的地址上。

先分清哪些参数值得保留

  1. 有真实检索需求的组合:比如品牌、颜色、尺码这类用户会主动搜索的筛选维度,其中一部分可以保留为可收录的落地页。
  2. 只是排序或视图切换:按价格、销量、上架时间排序,一般不构成独立内容。
  3. 会话与追踪参数:utm、来源标记、session id 之类,对抓取没有帮助。
  4. 分页参数:保留,但要注意与规范形态的配合,别让翻页链接无限制地扩散。

收口的几种做法

从链接出口控制

最直接的一步是改链接本身的形态。排序、视图切换改用按钮或表单提交,不再生成可点击地址;确实需要保留的筛选链接,限制维度组合,避免出现三层以上嵌套。站内搜索的结果页链接,一般不建议作为普通入口暴露给蜘蛛。

robots.txt 要谨慎使用

用 Disallow 拦住参数路径,能减少一部分抓取,但被拦下的 URL 仍然可能因为外链而被索引,只是内容无法被抓取判断。所以它更适合用来处理确实不需要抓取的路径,而不是当作万能开关。

用 canonical 表态

对保留下来的筛选落地页,如果内容与主列表高度重合,可以在页面上声明规范地址,让蜘蛛知道哪个版本才是主体。canonical 是提示而非强制,所以前提是页面本身不要互相矛盾。

Sitemap 只提交规范形态

站点地图里尽量只放确定要收录的地址,不要把所有参数组合都塞进去。提交的样本越干净,蜘蛛对站点结构的判断越清晰。

站内搜索页单独处理

搜索结果页数量不可控,通常建议加 noindex,同时用 robots.txt 阻止抓取。两者结合,既避免索引,也减少抓取消耗。

建议的处理顺序

  1. 先看服务器日志,确认哪些参数组合真的在被抓、频率如何;
  2. 区分需要保留和需要收口的参数,列一份清单;
  3. 改链接出口,把排序、视图切换这类操作从链接改成交互控件;
  4. 对保留页面加 canonical,明确规范形态;
  5. 更新 robots.txt 与 Sitemap,只保留必要路径;
  6. 持续观察两到四周日志,确认抓取分布是否朝预期方向变化。
不要一次性把所有参数路径全禁掉,先小范围调整,再根据日志反馈决定下一步。参数治理是随业务变化反复调整的过程,不是一次性的开关。

站点功能会不断更新,新的筛选维度、新的排序方式都可能带来新的参数 URL。把这件事放进定期巡检的清单里,比事后集中处理要轻松得多。