凌峰创科服务平台

网站升级HTTPS后为何不被收录?

搜索引擎(尤其是 Google)非常鼓励使用 HTTPS,并将其作为轻度的排名信号,一个正确配置的 HTTPS 网站,不仅不应该影响收录,反而可能带来排名上的优势。

下面我将为您详细梳理可能的原因以及对应的解决方案,您可以按照这个思路一步步排查。


核心原因分析:为什么升级 HTTPS 后会影响收录?

主要问题通常出在 重复”“访问异常” 这两大类。

第一类:内容重复与规范标签(Canonical)问题

这是最常见的原因,当您的网站同时存在 HTTP 和 HTTPS 两个版本时,搜索引擎会认为这是两个内容几乎完全相同的网站,从而产生“内容稀释”效应,导致收录混乱和权重分散。

具体表现:

  • 搜索引擎索引了大量的 HTTP 版本页面。
  • 同时也索引了大量的 HTTPS 版本页面。
  • 您不知道哪个版本会被展示在搜索结果中,或者两个版本的收录都很差。

排查与解决方案:

  1. 设置 301 重定向(最重要的一步!)

    • 目的: 永久地将所有 HTTP 的访问请求(包括用户和搜索引擎爬虫)引导到 HTTPS 版本上,这告诉搜索引擎,HTTP 版本已永久弃用,所有权重和信誉都应集中在 HTTPS 版本上。
    • 如何操作:
      • Apache 服务器:.htaccess 文件中添加以下代码:
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      • Nginx 服务器:nginx.conf 或站点的配置文件中添加:
        server {
            listen 80;
            server_name yourdomain.com www.yourdomain.com;
            return 301 https://$host$request_uri;
        }
    • 验证: 使用浏览器访问您的 HTTP 网址,看是否自动跳转到带 https:// 的网址,并且状态码是 301(永久移动)。
  2. 设置规范标签

    • 目的: 在 HTML 代码的 <head> 部分明确告诉搜索引擎,哪个版本是“规范”的、首选的版本。
    • 如何操作: 在您网站的每一个页面<head> 标签内添加如下代码:
      <link rel="canonical" href="https://www.yourdomain.com/当前页面的完整路径" />
    • 最佳实践:
      • 确保规范链接使用的是 HTTPS 协议。
      • 统一使用带 www 或不带 www 中的一个版本,避免版本混乱。
  3. 创建并提交 sitemap

    • 目的: 主动向搜索引擎提交您的新 HTTPS 网站 sitemap,帮助它们更快地发现和索引所有 HTTPS 页面。
    • 如何操作:
      • 生成一份只包含 HTTPS URL 的新 sitemap 文件(sitemap_https.xml)。
      • 在您的 robots.txt 文件中,指向这个新的 sitemap。
      • 在 Google Search Console 和 Bing Webmaster Tools 中,分别添加您的 HTTPS 网站,并提交新的 sitemap。

第二类:资源加载失败与混合内容问题

如果您的 HTTPS 页面中引用了任何 HTTP 协议的资源(图片、CSS、JS、字体等),就会产生“混合内容”,这会导致浏览器不安全,并且搜索引擎的爬虫可能无法正确抓取和解析您的页面。

具体表现:

  • 浏览器地址栏出现“不安全”警告。
  • 页面中的某些元素(如图片、样式)无法加载。
  • 搜索引擎爬虫在抓取时可能因为加载失败而放弃该页面,导致页面无法被收录。

排查与解决方案:

  1. 检查并修复所有混合内容

    • 如何检查:
      • 手动检查: 在浏览器中打开您的 HTTPS 网站,按 F12 打开开发者工具,在 Console(控制台)中查看是否有关于“Mixed Content”(混合内容)的警告。
      • 在线工具: 使用 SSL Server Test 等工具,它会检测到混合内容问题。
    • 如何修复: 将所有在 HTML 代码中硬编码的 HTTP 资源链接(如 http://cdn.example.com/style.css)全部修改为 HTTPS(https://cdn.example.com/style.css)。
    • 特别提醒: 不要忘记检查 CSS 文件和 JS 文件内部引用的资源,它们也可能存在 HTTP 链接。
  2. 确保全站资源都支持 HTTPS

    检查您使用的第三方服务(如字体、CDN、统计代码、广告代码等)是否都支持 HTTPS,如果某个服务商只提供 HTTP 服务,您需要寻找替代方案。


分步排查与修复清单

请按照以下步骤操作,基本可以解决问题:

  1. 确认现状:

    • 在 Google Search Console 的“旧版”和“新版”中,分别添加您的 HTTP 和 HTTPS 网站。
    • 查看两个版本的“覆盖范围” -> “索引”状态,对比收录的页面数量。
  2. 设置 301 重定向:

    按照上文方法,在服务器上配置 HTTP 到 HTTPS 的 301 重定向,这是解决问题的核心。

  3. 修复混合内容:

    使用开发者工具或在线工具,找出并修复所有页面中的 HTTP 资源链接。

  4. 设置规范标签:

    • 确保所有页面的 <head> 中都正确设置了指向 HTTPS 版本的 rel="canonical"
  5. 更新并提交 Sitemap:

    • 生成一份全新的、只包含 HTTPS URL 的 sitemap。
    • 在 Google Search Console(HTTPS 版本)中提交这个新 sitemap。
    • 更新 robots.txt 文件,指向新的 sitemap。
  6. 设置 301 重定向后,提交“更改地址”请求(可选但推荐):

    • 在 Google Search Console (HTTP 版本) 的“站点地址”设置中,将站点地址从 http:// 更改为 https://,并提交此更改,这会明确告诉 Google 您的网站已永久迁移。
  7. 耐心等待:

    完成以上所有步骤后,搜索引擎需要时间来处理这些更改(这个过程称为“重新索引”或“重新抓取”),通常需要几天到几周不等,请耐心观察 Google Search Console 中 HTTPS 网站的索引数量变化。


特殊情况

  • 如果您的网站是纯新站,从未被收录过:

    那么问题可能出在基础配置上,请确保您的 SSL 证书是有效的、没有过期,并且服务器配置正确,没有返回任何错误,然后按照上述步骤 4、5 提交 sitemap,耐心等待抓取即可。

  • 如果您的网站使用了动态渲染或服务端渲染:

    确保您的渲染逻辑正确,无论用户请求的是 HTTP 还是 HTTPS,最终返回给爬虫的 HTML 页面都应该是正确的 HTTPS 版本,并且没有混合内容。

HTTPS 协议本身不会导致网站不被收录,问题的根源几乎总是 “没有正确处理 HTTP 到 HTTPS 的重定向”“页面中存在混合内容导致爬虫无法正常抓取”

请按照上述清单,特别是 “设置 301 重定向”“修复混合内容” 这两步进行检查和修复,您的网站收录问题通常就能得到解决,祝您顺利!

分享:
扫描分享到社交APP
上一篇
下一篇