站内筛选、排序、追踪参数用起来很方便,但它们对搜索引擎来说就是一条条新地址。同一个商品列表页,带上排序方式、页码范围、来源渠道、会话标识之后,可能变成几十上百个 URL。这些地址内容大同小异,却会各自占一份抓取时间,也可能让蜘蛛在参数组合里绕来绕去出不来。
参数一般从哪来
- 用户侧操作:排序方式(?sort=price)、筛选条件(?color=red&size=40)、列表与网格视图切换。
- 站内搜索:用户搜什么词,就生成什么地址,这类地址数量几乎是无限的。
- 营销与统计:utm_source、utm_medium、gclid 等渠道追踪参数。
- 系统自动附加:会话 ID、缓存刷新戳、推荐位标识、A/B 测试分组。
它们会带来什么问题
参数地址本身并没有错,问题出在数量失控。当筛选条件可以两两组合、三三组合时,地址数量会呈指数级增长。蜘蛛一天能走的页面有限,如果大量时间花在打开一堆内容几乎一样的地址上,真正需要被读到的新内容就可能排在后面。
另一层麻烦是,同一批内容被拆成多个地址后,哪个地址才代表这个页面会变得模糊。用户在搜索结果里点到的,可能是一个带了三四个参数的版本,分享出去也不好看。
几种典型的失控场景
- 筛选页被导航或标签大量暴露,每个筛选项都是一个可点链接。
- 站内搜索结果页可以被直接访问,且没有做任何限制。
- 推广链接带着追踪参数被贴进站内,蜘蛛顺着内链一路抓过去。
- 参数顺序不固定,a=1&b=2 与 b=2&a=1 被当成两条地址。
自查清单
- 导出最近一段时间的访问记录,按路径前缀统计带参数的请求占比,看主要流量集中在哪几类参数上。
- 逐个参数问一句:去掉它,页面上用户看到的内容会不会变?如果答案是不会,它就不该是独立地址。
- 检查同一组筛选条件,参数顺序是否统一,大小写是否一致。
- 检查站内搜索页、筛选页是否被内部链接大量暴露,尤其注意页脚和侧边栏的标签云。
- 检查 robots.txt 中已有的参数规则,确认它没有误伤真正需要被访问的页面。
- 检查带参数版本的 canonical 是否指向了不带参数的主地址。
- 把分页参数与筛选参数叠加测试一下,看看最多能拼出多少个地址。
- 抽查几组参数地址,确认返回内容确实有差异,而不是换了个外壳的同一份列表。
处理思路
- 生成链接时就清理:站内跳转、分享按钮、内链里不要把追踪参数写死,需要统计时交给脚本或后端记录。
- 收敛筛选入口:保留常用筛选组合的可点链接,冷门组合只提供表单提交,不生成可抓取的超链接。
- 站内搜索结果页单独处理:这类页面通常没有独占价值,可以加上 noindex,或在 robots.txt 中限制抓取。
- 统一参数规范:固定参数顺序,统一小写,去掉无意义的空值参数。
- 用 canonical 归拢:确实需要保留参数的页面,让规范链接指回无参数版本,避免多个地址各自为政。
判断一个参数值不值得保留,标准其实很简单:它是否真的改变了用户在页面上看到的内容。如果答案是否,那么它更适合待在统计报表里,而不是留在 URL 里。
定期复核
参数是随业务不断长出来的。新上一个筛选维度、新做一次投放、新加一个推荐位,都可能悄悄多出几类地址。建议把参数检查放进季度性的站点自查里,配合访问记录观察一段时间,看看带参数的请求比例是在下降还是继续上涨。慢慢调整,不必一次改完,重点是让地址数量保持在一个自己心里有数的范围内。