站点运营

站点运营:站内搜索页与筛选参数自查,别让参数组合铺满索引

站内搜索、筛选、排序和追踪参数会自动生成大量 URL,如果不加区分地放行,蜘蛛很容易在排列组合里反复绕圈。本文梳理常见的参数来源,按页面类型给出处理方式,并附上一份可直接照做的自查清单与几个常见坑,帮助把抓取资源留给真正需要的页面。

站点运营

站点运营:站内搜索页与筛选参数自查,别让参数组合铺满索引

很多站点的正文页面数量并不夸张,但站内搜索页、筛选页、排序页却能把 URL 总量放大好几倍。这些页面由参数自动生成,没有人工审核,也缺少固定的内链入口,蜘蛛一旦走进去,很容易在排列组合里反复绕圈,既浪费抓取资源,也让真正需要被发现的正文页排在后面。

一、先摸清哪些参数会生成新 URL

动手处理之前,先把参数来源列清楚。常见的几类:

  • 站内搜索:?q=、?s=、?keyword= 这类由访客输入决定的页面,内容组合几乎是无穷的。
  • 筛选与排序:?color=、?brand=、?price=、?sort=、?order= 等,单一维度还好,多维度叠加就会迅速膨胀。
  • 追踪参数:utm_source、utm_medium、gclid 等投放参数,同一篇内容会派生出若干版本。
  • 分页:?page= 与筛选条件组合后,数量往往再翻一倍。

把最近一周的访问日志拉出来,按参数名做一次分组统计,就能看出哪些参数被蜘蛛高频访问,哪些只是偶尔出现。这一步不需要复杂工具,用脚本或表格分组即可完成。

二、按页面类型选择处理方式

1. 站内搜索结果页

这类页面通常不值得被索引,建议在页面头部加 noindex, follow,让它仍然能传递链接价值。如果直接写进 robots.txt 屏蔽,蜘蛛就看不到 noindex 标签,对应 URL 仍可能出现,只是没有摘要,展示效果反而更差。

2. 筛选与排序参数

不要一刀切。可以按「是否有真实搜索需求」做白名单:例如「品牌 + 分类」这种组合有用户主动搜索,可以保留并写好标题与描述;其余没有搜索量的组合统一 noindex,或者用 canonical 指向不带参数的列表主页。排序参数一般直接 canonical 到默认排序即可。

3. 追踪参数

最干净的做法是在服务端或 CDN 层把 utm 类参数剥离并 301 到不含参数的 URL;退一步,也可以在页面上把 canonical 固定写成干净地址。

另外要注意参数顺序:?a=1&b=2 与 ?b=2&a=1 在很多系统里会被当成两个不同 URL,最好在服务器层做一次统一归一化。

三、上线前的自查清单

  1. 列出站点所有会产生新 URL 的参数名,并标注各自用途。
  2. 站内搜索页是否已设置 noindex,是否与 robots.txt 规则冲突。
  3. 筛选页是否有白名单策略,还是全部放行。
  4. canonical 指向的目标页面本身是否可索引,避免指向一个 noindex 页面。
  5. 同一组参数不同顺序,是否会被归一化到同一个地址。
  6. 站内搜索页的 follow 是否会让蜘蛛顺着结果爬到大量随机内容,必要时改为 nofollow。
  7. sitemap 中是否混入了参数 URL,需要清理。

四、几个容易踩的坑

  • robots.txt 屏蔽与 noindex 同时使用,导致 noindex 永远不生效。
  • 列表页 canonical 一律指向首页,把分类主题也一起合并掉。
  • 筛选页上其实放了优质正文,却因为整站规则被一起屏蔽。
  • 只在模板里改了规则,忘了历史生成的参数 URL 仍在被抓取。
参数治理的目标不是把所有带参数的 URL 都杀掉,而是让值得被发现的页面留下明确入口,让无意义的排列组合失去被反复抓取的机会。

这项工作不需要一次做完。可以先从流量最大、参数最杂的栏目开始,处理完一个再观察日志变化,逐步把规则补齐。规则确定之后,最好记录在站点运维文档里,避免下次改模板时又被无意覆盖。