参数 URL 是怎么繁殖出来的
带筛选的电商站、房源站、内容列表页,只要支持排序、价格区间、颜色、品牌、页码组合,URL 就会按乘法增长。一个分类下有 20 个品牌、5 个价格区间、4 种排序方式,理论组合就上千个,而这些页面展示的内容高度重叠。
蜘蛛不认识你的业务逻辑,它只认链接。只要内链里存在这些组合,它就会顺着走;如果一个筛选页还带着指向其他筛选组合的链接,抓取路径会像树一样展开,越走越深。结果不是内容变多了,而是同一批内容被反复取了很多次。
先分清三类页面
- 有价值的筛选页:有稳定搜索量、内容差异明显、能独立回答用户需求,比如按区域或品类划分的固定页面。
- 低价值的组合页:只是把同一批条目换个顺序或换个颜色再列一遍,内容与主页面高度重复。
- 纯操作型页面:排序、每页条数、会话 ID、来源追踪参数,本质上不产生新内容。
分不清这三类,很容易一刀切全部屏蔽,把本来能带来流量的筛选页也一起关掉。
收敛入口比事后屏蔽更有效
蜘蛛发现 URL 靠的是链接。只要内链里不给低价值组合留入口,很多参数页根本不会被发现。常见做法:
- 筛选控件用按钮或表单提交,而不是一堆可抓取的链接;
- 需要保留的筛选组合,链接固定成一条,不做可再叠加的多层链接;
- 列表页只暴露默认筛选,其余组合放在前端交互里;
- 排序、每页条数这类参数不进入内链。
已经存在的参数 URL 怎么处理
统一参数顺序与命名
同一组参数因顺序不同会产生多个 URL,比如两个参数位置互换就是另一个地址。统一参数顺序、去掉无意义参数(会话 ID、跟踪码),能直接消掉一批重复地址。
用 canonical 指向规范版本
内容确实相同、又必须保留可访问的页面,用 rel=canonical 指回主版本。canonical 是提示而不是命令,配合内链收敛,效果才更稳。
robots.txt 屏蔽要谨慎
被 robots 屏蔽的 URL 如果还有内链指向,蜘蛛仍可能持续发现但不去抓,长期积累成大量已发现未抓取的队列噪音。屏蔽更适合处理纯技术参数,比如排序、每页条数,而不是有真实流量的筛选页。
Sitemap 里只放规范 URL
把参数页塞进 Sitemap,等于主动邀请蜘蛛去抓。Sitemap 只提交规范、稳定、希望被抓的地址,重复入口越少,清单越可信。
站内搜索页要单独处理
站内搜索结果页通常是无限组合,用户输入什么就生成什么 URL,也容易被外部链接引用。这类页面一般不建议大量暴露给蜘蛛:要么限制可抓取范围,要么只保留少量固定关键词入口,并给结果页加 noindex。如果站内搜索确实带来流量,可以单独评估,把有搜索量的关键词做成静态专题页,而不是让参数组合自己长出来。
调整后怎么验证
- 看服务器日志:抓取请求里参数 URL 的占比是否下降;
- 看有效页面的抓取量是否上升,而不只是看总量变化;
- 观察已发现未抓取的队列里,是否堆着大量参数地址;
- 抽查 canonicals 是否被采纳,规范版本是否被抓;
- 确认屏蔽没有误伤带来流量或转化的页面。
参数本身不是问题,失控的参数组合才是。控住入口、说清规范、只屏蔽纯技术参数,比事后一封了之更稳妥。
小结
参数 URL 的治理核心是减少入口、明确规范、保留价值。先弄清哪些筛选组合真的有人搜、内容差异明显,再决定保留、合并还是屏蔽。抓取预算有限,让蜘蛛把请求花在主页面和真正有差异的页面上,比多抓几千个重复地址更有意义。