参数 URL 为什么会失控
列表页上的筛选、排序、分页、追踪参数,单看每一条都不多,但组合起来是乘法关系。颜色 8 种、尺码 5 种、价格区间 4 段、排序方式 3 种,就已经接近 500 个地址;再叠加来源追踪参数、会话标识,数量还会继续往上翻。这些地址对搜索引擎来说都是可发现的 URL,而服务器要为每一次抓取付出响应成本。
问题不在于参数能不能有,而在于它们是否产生了真正独立的内容页。如果同一个筛选结果有多个入口、多种参数顺序,本质上只是同一批内容换了件外套。
先把参数分成三类
- 内容型参数:确实决定页面展示哪一批内容,比如分类、标签、关键词。这类通常有价值,但要看背后是否有足够多的独立条目支撑。
- 排序与视图型参数:排序方式、每页条数、列表或网格切换。它们不改变内容集合,只是换个排法,一般不需要被单独抓取。
- 追踪型参数:来源、渠道、推广 ID、会话标识。对爬虫毫无意义,却会成倍增加 URL 数量。
一份自查清单
- 从服务器日志或抓取统计里导出被访问的 URL,去掉路径只看参数部分,统计出现频次最高的参数名。
- 找出「参数不同但页面主体内容相同」的地址,确认它们各自的 canonical 指向哪里。
- 检查站内链接:筛选、排序按钮是普通链接还是脚本交互?页面上有没有直接输出带追踪参数的链接?
- 看站点地图里是否混进了筛选结果地址。
- 确认参数顺序是否固定,避免同一筛选结果出现两种先后排列的写法。
- 检查外链和第三方投放落地页,是否仍在用旧版参数写法。
几种常见的处理方式
收敛入口
把真正有价值的筛选结果做成少量固定入口,只在几个关键组合上开放,其余组合通过脚本交互完成,不产生新的可抓取地址。入口少了,蜘蛛的注意力才会集中到主列表和内容页上。
规范与合并
对内容相同的参数页面,统一 canonical 到主版本,并保持页面自引用一致;排序、视图类参数如果只是呈现差异,可以考虑归并到主列表页,不在页面上以链接形式暴露。
谨慎使用 robots.txt
直接屏蔽整个参数目录看起来省事,但很容易连带挡掉真正有价值的内容页,尤其是参数和内容路径混在一起的时候。更稳妥的顺序是:先做站内链接收敛和 canonical,确实无法收敛再考虑屏蔽,并且规则要尽量精确,上线后核对日志确认没有误伤。
验证抓取是否真的收敛
规则上线后不要只看一天的数据。观察两到四周,看日志里带参数 URL 的抓取占比是否下降、核心页面被抓次数是否上升。如果参数 URL 依旧稳定出现,多半是站内还有链接在持续输出这些地址,或者站点地图、外链里还留着旧写法。
参数本身不是问题,无意义地复制页面才是。判断标准很简单:这个参数有没有让用户看到不一样的内容。
把这件事当成一次常规巡检就好,不必一次做完。先处理追踪参数,再处理排序与视图,最后评估筛选维度,节奏会稳一些。