蜘蛛抓取时,队列里排的是一个一个 URL,而不是“一篇文章”。同一个页面如果存在多个可访问地址,蜘蛛可能会把它们当成不同 URL 分别排队、分别抓取。对站点来说,这不会立刻造成故障,但会让抓取预算和日志数据变得不那么清爽。
蜘蛛为什么不先做内容去重
搜索引擎当然会做内容相似度判断,但在抓取阶段,它首先要决定“这个 URL 要不要来”。URL 是抓取调度的基本单位,去重和合并往往发生在抓取之后。因此,重复 URL 越多,被重复请求的概率就越高。
常见的重复 URL 来源
- 大小写不同:/Page 与 /page 在某些服务器上返回同一内容。
- 结尾斜杠:/list 与 /list/ 同时可访问。
- 域名变体:www 与非 www、http 与 https 并存。
- 参数顺序不同:?a=1&b=2 与 ?b=2&a=1。
- 追踪参数:utm、from、ref 等参数生成大量地址。
- 会话 ID:URL 里带 sessionid 或类似标识。
- 分页与筛选:同一列表页的多种排序、筛选组合。
- 打印页、AMP、分享页等副本。
规范化信号能做什么
301 跳转、rel=canonical、Sitemap 和内链,都是告诉蜘蛛“哪个地址是主版本”的方式。它们不是强制命令,但方向一致时,蜘蛛更容易收敛到规范 URL。
301 更适合地址迁移
如果旧地址不再需要独立存在,用 301 指向新地址通常比 canonical 更明确。
canonical 适合保留多入口的页面
当多个地址都要能访问,只是希望蜘蛛以其中一个为准,可以在页面 head 里标注 canonical。注意 canonical 指向的地址本身要可访问、可抓取,并且尽量与内链、Sitemap 保持一致。
重复 URL 会带来哪些实际影响
- 抓取预算被分摊:同一内容被多次请求,新页面可能少抓几次。
- 日志分析变难:你看到的访问量里混入了重复地址。
- 内链权重分散:不同地址各自收到一部分链接。
- 数据统计偏差:页面级数据被拆成多份。
一个可执行的自查顺序
- 先从服务器日志里按路径聚合,找出返回 200 且内容相同的地址组。
- 检查站内链接,把入口统一指向规范地址,包括导航、面包屑、分页和正文推荐。
- 对确实需要迁移的旧地址,配置 301,避免链式跳转。
- 对必须保留的副本页,补充 canonical,并确认 canonical 地址没有被 robots.txt 屏蔽。
- Sitemap 只提交规范 URL,不要同时提交多个变体。
- 观察一段时间日志,看重复路径的请求量是否下降,再决定下一步。
处理完之后,抓取会怎样变化
通常不会立刻看到抓取量暴涨或排名变化。更常见的是日志里重复地址减少,规范地址的抓取更集中,新 URL 的发现速度更稳定。如果站点本身内容更新少,变化可能更不明显。
URL 规范化的目标不是“让蜘蛛多抓”,而是让蜘蛛把有限的请求用在你希望它抓的地址上。