网站收录

尾斜杠、大小写和 www:URL 的小差异会不会变成重复收录

同一个页面常能拼出尾斜杠、大小写、www、http 与 https 等不同 URL。它们会不会在索引里各占一条,取决于服务器重定向、canonical 和内链是否一致。本文按排查顺序说明如何收口常见变体,减少重复 URL 带来的抓取与索引分散。

网站收录

尾斜杠、大小写和 www:URL 的小差异会不会变成重复收录

同一个页面,往往可以拼出好几条 URL:带不带尾斜杠、域名前有没有 www、用 http 还是 https、路径里字母大小写不同。对用户来说这些地址打开后可能看到同一屏内容,但对搜索引擎来说,它们先被当成不同的 URL 来抓取和存储。最后会不会在索引里留下多条,取决于站点有没有把信号说清楚。

常见 URL 变体先列出来

排查之前,先把站点真实存在的变体列清楚。比较常见的包括:

  • 协议:http 与 https 并存,或 https 证书切换后旧地址仍可访问。
  • 主机名:example.com 与 www.example.com 都能打开,或者带默认端口。
  • 尾斜杠:/page 与 /page/ 都返回 200。
  • 大小写:/Page、/page、/PAGE 在部分服务器上被当成不同路径。
  • 参数:追踪参数、排序参数、会话 ID 生成大量地址。
  • 索引文件:/index.html 与目录根地址同时可访问。

这些变体不一定都会进索引,但如果服务器对每一条都返回 200,且没有规范信号,搜索引擎就可能分别抓取、分别评估,甚至留下重复版本。

服务器层先做 301,而不是只靠 canonical

最稳的收口方式是在服务器层把变体 301 到规范地址。例如把所有 http 请求跳到 https,把裸域跳到 www,把带尾斜杠和不带尾斜杠统一成一种。301 会让抓取和索引信号沿着跳转走到同一个目标,比页面里的 canonical 更直接。

canonical 仍然有用,尤其是当 URL 必须保留、不能直接跳转时。它相当于在页面里声明“这一组地址里,请以这个为准”。但要注意:canonical 是提示,不是强制命令。如果服务器同时返回 200、内链又混着指向多个变体,canonical 的效果会被削弱。

能 301 的尽量 301,不能 301 的再用 canonical 收口,两者不要互相打架。

内链、sitemap 和提交入口要统一

很多重复 URL 不是服务器造出来的,而是站内链接自己带出来的。导航、面包屑、分页、文章正文里的链接,如果同一个目标有时带尾斜杠、有时不带,蜘蛛就会沿着不同地址反复抓。建议做一次站内链接扫描,把指向同一页面的链接统一成规范形式。

sitemap 里也只放规范 URL。不要把某一页的各种变体都塞进去,那等于主动告诉搜索引擎“这些地址都值得看”。提交入口同样如此,提交规范地址即可,不必把重定向前的旧地址反复提交。

按这个顺序排查

  1. 先确认规范地址是哪一个:协议、主机名、路径、尾斜杠分别定成什么。
  2. 用抓取工具或日志检查变体是否返回 200。返回 200 的变体要优先处理。
  3. 能 301 的做 301,并确认跳转链只有一跳,不要 A 跳 B 再跳 C。
  4. 不能跳转的页面,检查 canonical 是否指向自身或规范地址,且不是互相指向。
  5. 检查站内链接与 sitemap,是否混入了变体地址。
  6. 观察一段时间抓取日志,看变体请求是否减少,而不是只看索引量数字。

哪些情况不用太紧张

不是所有变体都会造成重复收录。如果服务器已经 301、canonical 明确、内链统一,搜索引擎通常会自己合并信号。偶尔被发现的参数地址,如果内容与规范页一致且没有外部链接指向,也可能只是被抓取后不索引。真正要盯的是那些持续返回 200、有内链或外链支持、内容又和规范页高度相似的变体。

另外,URL 规范化不是一次做完就结束的事。改版、换域名、加 CDN、调整路由规则,都可能让旧变体重新可访问。把规范地址写进开发和运维清单,比事后从索引里清理更省力。