重复域名版本被收录——http / https / www / non-www

Google 把四个版本都收录——每个分掉链接权重。如何统一到一个 canonical。

site:yourdomain.com 返回混杂的 http://yourdomain.com/articlehttps://yourdomain.com/articlehttp://www.yourdomain.com/articlehttps://www.yourdomain.com/article——都服务一样的内容。一篇内容四个 URL 变体。每个变体几年下来各自积累外链权重,但对排名算法来说像是四个独立、内容稀薄的页面。修法把强制 HTTPS、www-vs-apex canonical 选择、几周通过 301 耐心合并组合在一起。

本文把 HTTPS 没强制www 与 non-www 都能独立打开 的步骤整合成一个迁移计划。

常见原因

按命中率从高到低。

1. 站早于 HTTPS-by-default 时代

~2018 年前上线的站常常原生服务 http。后来加 HTTPS 时 http 保留没强制重定向。多年来外链积累到 http。

怎么判断site:yourdomain.com 结果含 http:// URL。看 Google Analytics 引荐源——很多外链指向 http 就是这个历史。

2. www 和 apex 都服务内容

主机加了两个,没配重定向。

怎么判断curl -sI https://yourdomain.comcurl -sI https://www.yourdomain.com 都返回 200。

3. 多年来外链版本不一致

哪怕现在强制 HTTPS,外站还有几年前指向老 www/non-www 变体的外链。Google 索引里仍这样映射。

怎么判断:外链报告(Ahrefs、Majestic)显示外链指向多个 URL 变体。

4. CDN 直接服务四个变体

CDN 没配适当重定向就从缓存服务所有变体。

怎么判断:检查 CDN 配置里的重定向规则。没有就所有变体都通过。

5. canonical 标签在不同版本设得不一致

http://yourdomain.com/article canonical 指自己。https://www.yourdomain.com/article canonical 指自己。没重定向时,四个都 self-canonical,Google 没法统一。

怎么判断:view-source 每个变体。四个都不同 self-canonical 就没赢家。

6. sitemap 列了多个变体

sitemap 有 http 和 https URL,或 www 和 non-www。让 Google 混乱。

怎么判断cat sitemap.xml | grep -E "^https?://" | sort -u。应该只有一种变体。

最短修复路径

第 1 步:决定 canonical

格式:https://[www-或-apex].yourdomain.com/。选:

  • https://yourdomain.com/(apex)
  • https://www.yourdomain.com/(www)

SEO 上都行。选一个写下来。

第 2 步:其它三个 301 到 canonical

http://yourdomain.com/*https://[canonical]/[path]
https://yourdomain.com/*(如 www 是 canonical)https://www.yourdomain.com/[path]
http://www.yourdomain.com/*https://[canonical]/[path]
https://www.yourdomain.com/*(如 apex 是 canonical)https://yourdomain.com/[path]

Vercel 设了 primary 后自动这样。Cloudflare 用 Page Rules 或 Bulk Redirects。

第 3 步:设 HSTS

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

强迫浏览器完全跳过 http。稳定几个月后提交 HSTS preload 列表。

第 4 步:内链改成 canonical 形式

# 在代码库找硬编码 URL
grep -rn "http://yourdomain.com\|yourdomain.com/[^/]" src/ public/

更新所有指向非 canonical 变体的链接。

第 5 步:sitemap 只用 canonical URL 重新生成

sitemap 每页一条用 canonical URL。

第 6 步:canonical 标签也更新

所有页 self-canonical 到 canonical 版本:

<link rel="canonical" href="https://yourdomain.com/article/" />

第 7 步:如果适用,提交 Change of Address

从 http canonical 迁到 https,在 Search Console 当域名变更处理。

第 8 步:等 4-12 周合并

Google 需要时间跟随 301、把权重合并到 canonical。监控:

  • Search Console → Pages:变体显示 “Page with redirect” 状态是好的
  • Performance:总点击数应稳定或上升(分散流量被合并)

哪些情况可能不是你操作错了

即使修了,Google 索引里的老收录版本仍持续几周——耐心。不用焦虑 site: 查询里仍出现每一个老 URL。

容易误判的情况

只设 <link rel="canonical"> 不能强制重定向。两个版本仍服务。平台层 301 才能让 Google 合并。

预防建议

  • 任何新站第一天就强制 HTTPS 并选定 www-vs-apex。
  • canonical 标签、sitemap、OG 标签、JSON-LD 都用绝对 URL(完整 https://canonical/path)。
  • 任何基础设施变更后用 curl 验证所有变体 301 到 canonical。
  • 每季度审外链;高价值的指向非 canonical 变体的链接联系站长更新(实际可行的情况下)。

FAQ

  • www 还是 non-www? SEO 没差——选一个坚持。配合 CDN 更方便:www(CNAME);URL 更短:apex。
  • Google 会合并权重吗? 会——通过 301,要 4-12 周。指向非 canonical 变体的外链通过重定向仍能传递权重。

相关阅读

标签: #域名 #DNS #SSL #排查 #重复域名