网站收录

http 与 https、www 与非 www 并存:收录被拆成两套时的收敛顺序

同一站点存在多个协议或域名版本时,同一批页面可能被当成两套 URL 分别记录,表现为索引量虚高、权重分散,搜索结果里还常出现旧版本。本文按确认版本、确定主版本、全站跳转、canonical 配合、旧 URL 收敛的顺序,梳理实际可执行的排查步骤与常见坑。

网站收录

http 与 https、www 与非 www 并存:收录被拆成两套时的收敛顺序

同一个站点同时存在 http 和 https、带 www 和不带 www 的可访问版本,是很多收录问题的起点。看起来只是多了一个入口,实际结果是蜘蛛可能把同一批页面当成两套 URL 分别抓取和记录,索引量虚高、权重分散,用户搜索时命中的还可能是旧版本。

先确认站点实际有几个可访问版本

不要凭印象判断,逐个请求比对比看日志更直接。用无痕窗口或命令行访问下面几种组合,记录状态码和最终落地的 URL:

  • http://example.com
  • http://www.example.com
  • https://example.com
  • https://www.example.com

重点看两件事:一是每种写法返回的是 200 还是 301、302;二是如果返回 301,链条有几跳,最终落到哪个版本。有些站点首页做了跳转,但内页在旧版本下仍然直接返回 200,这种情况最容易被忽略。

确定一个主版本,其余全部跳转

主版本定下来之后(通常是 https 加 www 或 https 不加 www,取决于历史积累和现有外链情况),其余版本应该 301 到它。几个实操点:

  • 用 301,不用 302 或 JS 跳转。302 是临时语义,合并信号弱。
  • 一次跳到最终地址,避免 https 跳 http 再跳 https 这类多跳链条。
  • 跳转要覆盖全站,不只是首页。可以在服务器层或 CDN 层统一处理。
  • 内链、Sitemap、canonical、结构化数据里的 URL,都统一写成主版本。

canonical 和跳转的关系怎么理解

跳转是硬性信号,canonical 是提示性信号,两者不冲突,理想状态是一致:旧版本 301 到主版本,主版本页面上的 canonical 指向自己。

要避免的是 A 页 canonical 到 B、B 页又 canonical 回 A 的闭环,这种情况下搜索引擎只能自己判断,收敛结果不可控。
如果短期内没法做全站跳转,退一步至少要全站 canonical 指向主版本,但优先级要清楚:能用跳转解决的,不要只靠 canonical。

旧版本已经被收录了,怎么处理

跳转生效后,旧版本 URL 一般不需要单独提交删除,等蜘蛛重新抓取时会看到 301 并逐步更新索引。这个过程快慢和站点规模、抓取频率有关,几周到几个月都算常见。

需要注意几点:

  1. 跳转长期保留,不要上线几个月后就撤掉。
  2. 站点地图只放主版本的 URL,旧版本不要出现在里面。
  3. 不要给旧版本加 noindex,它和跳转同时出现时,可能让合并信号变得更模糊。
  4. 在搜索控制台里留意“重复网页,搜索引擎选择的规范网页与用户指定的不同”这类提示,它通常说明站内还有信号不一致的地方。

几个常见坑

  • 只跳首页。内页在旧版本下依然返回 200,等于给蜘蛛留了一整套镜像。
  • 混合内容。https 页面里引用了 http 的资源,可能让蜘蛛在两种协议之间来回切换。
  • CDN 缓存了旧规则。改完配置后记得刷新缓存并复测。
  • 证书不覆盖带 www 的域名。这种情况下 https 版本会报错,检查时容易被误判成这个版本不存在。

收尾检查

改完之后按这个顺序复测一遍:四个版本组合逐个请求,确认除主版本外都是单跳 301;随机抽几个内页,确认旧版本同样跳转;检查页面源码里的 canonical 和 Sitemap 是否统一;最后观察一段时间的索引量与落地 URL 变化,而不是当天就下结论。