站点上线一段时间后,筛选、排序、分页、追踪这几类参数会悄悄长出一大批地址。它们多数对用户有用,对蜘蛛却可能是同一条内容的几十个副本。等到日志里出现大量相似抓取记录,才发现抓取时间被参数页吃掉了大半。
参数链接为什么容易失控
列表页加上排序(?sort=price)、筛选(?color=red&size=m)、翻页(?page=3)、来源追踪(?from=home)之后,组合数量是乘法关系。一个 200 条商品的栏目,颜色 10 种、尺码 5 种、排序 4 种,理论上就能拼出上千个地址,而真实内容并没有变多。
更麻烦的是,很多参数页之间互相链接,蜘蛛顺着筛选条件一路点下去,很难自己判断哪里是尽头。
先摸清参数从哪里来
常见来源
- 筛选与排序控件,尤其是默认勾选状态也会写进地址的写法;
- 分页参数与「查看更多」按钮;
- 广告投放、站内推荐、邮件营销带上的 UTM 类参数;
- 站内搜索结果的落地地址;
- 会话 ID、语言或货币切换参数。
把这些来源列成一张表,标注每个参数是否影响页面主要内容的呈现,是自查的第一步。
怎么判断哪些参数值得留
判断标准可以很简单:换掉这个参数之后,页面主体内容是否有实质变化。只改变排列顺序、只高亮某几个结果、只改变跳转来源的参数,通常不值得被单独抓取。
处理优先级
- 先确认参数页是否有真实搜索需求。有稳定搜索量的筛选组合,可以做成静态化的专题入口;
- 无搜索需求又不改变内容的,优先用 canonical 指向主列表页,或者让链接生成时不带参数;
- 会产生大量组合的,用 robots.txt 屏蔽参数模式,但注意别把有用路径一起挡掉;
- 只在特定场景使用的追踪参数,可在脚本加载时移除,避免出现在分享和外链里。
屏蔽只是止损,不是解决方案。如果用户习惯用筛选找内容,页面本身需要更清晰的导航和分类入口,而不是让蜘蛛和用户都在参数里打转。
一条可执行的自查流程
- 从服务器日志里按 URL 去重,统计带参数的请求占比和响应码分布;
- 抽样打开几个高频参数页,确认内容与主列表页的重合程度;
- 检查这些页面的 canonical、meta robots 是否与预期一致;
- 核对 sitemap 与站内链接中是否夹带了追踪参数;
- 改动后观察一到两周日志,看参数页抓取量和核心页面抓取量的变化。
几个容易忽略的细节
- 参数顺序不同会被视为不同地址,生成链接时尽量固定顺序;
- 大小写差异和空值参数(?color=)同样会制造重复;
- 移动端与 PC 端筛选逻辑不一致时,要分别确认;
- 站内搜索页建议加上 noindex,但仍需保证用户可正常访问。
参数治理不需要一次做完。先把产生量最大的那一两个参数控制住,往往就能让日志里的抓取结构清爽很多。定期回看日志,把处理结果和真实抓取情况对上,比一次性大改更稳妥。