很多站点在栏目或列表页上加入了筛选、排序、分页、来源追踪等参数,本意是方便访客,但如果缺少统一规则,同一个内容可能对应几十个甚至上百个地址。对搜索引擎来说,这些地址如果都能被抓取,会分摊本就有限的抓取预算,也让日志和收录数据变得难以判断。
先分清哪些参数是必要的
不是所有参数都该被禁止。先按用途分类:
- 功能参数:分页页码、搜索关键词、筛选条件、排序方式。这类通常会产生大量组合。
- 追踪参数:utm_source、ref、from 等,主要用于统计,不影响页面内容。
- 会话参数:sessionid、sid 等,同一访客不同时间访问可能带不同值。
- 展示参数:视图切换、每页条数、语言或地区切换。部分有独立价值,部分只是同一内容的换装。
分类之后,再判断每个参数是否值得拥有独立 URL。能通过页面交互完成、又不产生独立内容价值的,尽量不让它出现在可抓取链接里。
从日志和链接里找出失控的地址
光凭感觉容易漏。可以结合几处数据:
- 抓取日志中带参数的请求占比,看看蜘蛛是否把大量时间花在组合页上。
- 站点地图和站内搜索里是否混入了参数地址。
- 使用站长平台的重复页面报告或索引覆盖数据,观察同一标题是否对应多个 URL。
- 检查列表页、筛选按钮、分页组件生成的链接,是否默认把全部参数都拼进 URL。
如果同一批商品或文章,通过不同参数组合能打开十几个几乎一样的页面,而每个页面又互相链接,就需要优先处理。
用 canonical 和链接规则收敛
对于必须保留但内容重复的页面,可以在页面头部声明规范地址,让搜索引擎知道哪个是主版本。同时,站内链接尽量指向规范地址,而不是带一堆参数的版本。分页、筛选的链接如果只是给访客用,可以用 JavaScript 或表单提交,减少可抓取的 a 标签数量;也可以考虑用 robots.txt 屏蔽特定参数,但要注意屏蔽后该地址仍可能被索引,需要配合 noindex 或 canonical。
处理时注意优先级
- 先处理数量大、重复度高的筛选和排序参数。
- 再处理追踪和会话参数,这些通常没有收录价值。
- 分页参数要谨慎,不要把正常翻页也一刀切屏蔽,避免影响深层内容发现。
改完之后持续观察
参数规则不是一次配置就结束。栏目调整、新筛选功能上线、统计代码更换,都可能重新引入参数地址。建议在日志巡检中加入固定项:每周看一次带参数 URL 的抓取比例,每月核对一次站长平台的重复页面数量。发现异常时,先确认是链接生成问题还是外部引用问题,再决定用规范标签、robots 规则还是服务端重定向来处理。
把 URL 参数管理好,并不是为了追求一个好看的数字,而是让抓取请求尽量落在真正有内容的页面上。对站点运营来说,这属于结构基础工作,做得越早,后面改版和内容扩展时越省事。