同一个商品页,用户点一次“按价格排序”就多一个地址,再勾一个颜色又多一个,加上投放链接里的追踪参数,一个页面能派生出一大串 URL。对用户来说这些地址长得差不多,对蜘蛛来说却是实实在在要排队抓取的对象。参数本身不是问题,参数失控才是。
参数为什么会放大 URL 数量
大多数参数页的正文内容是重复的,差别只在排序方式或筛选条件上。一旦参数可以自由组合,地址数量就按乘法增长:3 个颜色 × 4 个尺码 × 3 种排序 × 若干页码,轻松过百。蜘蛛不会帮你判断哪个地址更值得抓,它只看到一堆待抓队列。结果是真正需要更新的详情页迟迟排不上,而大量排序页被反复访问。
三类参数要分开看
功能性参数:必须保留
像详情页的 id、分页的 page、文章的语言标记,这些参数决定了页面呈现的内容,删掉就换了一个页面。这类参数应当保持可抓取、可索引,并且在站内链接和 Sitemap 里使用统一写法。
筛选与排序参数:视情况保留
有搜索量的筛选组合(比如“品牌 + 品类”)可以保留为独立入口,其余的排序、多条件叠加更适合收敛到主页面。判断标准不是“能不能生成”,而是“这个组合有没有人真的会搜”。
追踪与装饰参数:应当忽略
utm_ 系列、from、ref、分享来源、会话 ID,这些参数不改变页面内容,却会制造大量重复地址。它们出现在站外链接里难以完全避免,但至少站内链接不应该带。内部链接一旦带上追踪参数,等于把这套地址主动递给蜘蛛。
常见的几种处理方式
- 统一参数顺序:?a=1&b=2 和 ?b=2&a=1 在系统里是两个地址,在规范化上应指向同一个。
- canonical 指向规范版本:排序页、筛选页把 canonical 指回无参数主页面,前提是内容确实高度重叠。
- 跳转收敛追踪参数:对确认无用的参数做 301 到干净地址,让链接里残留的旧地址逐步失效。
- Sitemap 只放规范 URL:不要把所有参数组合都塞进去,那等于主动扩大抓取需求。
- robots.txt 通配符要算清范围:Disallow: /*?sort= 之类的规则写起来方便,但很容易连正常详情页一起挡住。
通配符屏蔽最容易误伤
用 robots.txt 拦参数是见效最快也最容易出事的一步。规则里的 * 会匹配任意位置,如果详情页本身也带问号参数,一条看似精准的规则可能把整个栏目挡在门外。改规则之前,先在抓取日志里确认:这些带参数的 URL 目前是否被抓取、抓取频率如何、是否有真实的搜索需求。
屏蔽参数不是目的,把抓取额度让给有价值的页面才是。动手前先看清楚哪些地址本来就在被正常抓取。
一份可以照着走的检查清单
- 统计日志中带参数请求占全部抓取的比例,看是否明显偏高。
- 抽查站内链接(导航、列表、相关推荐)是否夹带了追踪参数。
- 比对无参数页与参数页的 canonical,确认指向一致且稳定。
- 检查 robots.txt 规则的实际匹配范围,用几个真实 URL 验证会不会误伤。
- 观察调整后一段时间内,抓取是否更多集中到详情页和栏目页。
小结
参数治理的核心不是把带问号的地址全部消灭,而是分清哪些参数决定了内容、哪些只是外观变化、哪些纯粹是统计用途。保留该保留的,收敛该收敛的,剩下的用 canonical 和链接规范慢慢减少传播。参数混乱通常不会立刻带来明显问题,但抓取额度被长期分散后,更新较快的页面往往会先感受到影响。