如何正确地将 WordPress 从 HTTP 迁移到 HTTPS(初学者指南)

您是否希望将 WordPress 从 HTTP 迁移到 HTTPS 并在您的网站上安装 SSL 证书?我们收到了很多关于这个主题的请求,因为谷歌宣布 Chrome 浏览器将从 2018 年 7 月开始将所有没有 SSL 的网站标记为不安全.在本文中,我们将向您展示如何通过添加一个SSL 证书.

Moving WordPress from HTTP to HTTPS/SSL

别担心,如果您不知道 SSL 或 HTTPS 是什么.我们也将对此进行解释.

什么是 HTTPS?

HTTPS 或 Secure HTTP 是一种加密方法,可确保用户浏览器与您的服务器之间的连接安全.这使得黑客更难窃听连接.

我们每天都会与不同的网站共享我们的个人信息,无论是进行购买还是只是登录.

为了保护数据传输,需要创建安全连接.

那时 SSL 和 HTTPS 应运而生.

每个站点都颁发了一个唯一的 SSL 证书,用于识别目的.如果服务器假装使用 HTTPS,并且其证书不匹配,那么大多数现代浏览器都会警告用户不要连接到该网站.

Insecure website warning

现在您可能想知道,如果我的 WordPress 网站是一个不收取任何费用的简单博客或小型企业网站,为什么我需要将我的 WordPress 网站从 HTTP 移动到 HTTPS.

为什么需要 HTTPS 和 SSL?

去年,Google 宣布了一项计划,通过鼓励网站所有者从 HTTP 切换到 HTTPS 来提高整体网络安全性.作为该计划的一部分,他们广受欢迎的 Chrome 网络浏览器将从 2018 年 7 月开始将所有没有 SSL 证书的网站标记为"不安全".

Chrome HTTP Not Secure

作为公告的一部分,谷歌还表示,采用 SSL 的网站也将获得 SEO 优势和更高的排名.去年以来,大量网站从 HTTP 切换到 HTTPS.

Google 已在 Chrome 中缓慢推出"不安全"警告.例如,如果有人使用隐身窗口访问 HTTP 网站,它将被标记为不安全.如果有人以常规模式访问 HTTP 网站并尝试填写联系表单或其他表单,则该网站将被标记为不安全.

当您的读者和客户看到此通知时,他们会对您的业务产生不好的印象.

这就是为什么所有网站都需要从 HTTP 迁移到 HTTPS 并立即安装 SSL.

更不用说,如果您想在您的电子商务网站上接受在线付款,那么您需要 SSL.

Stripe、PayPal Pro、Authorize.net 等大多数支付公司都要求您在接受付款前建立安全连接.

我们的网站使用 SSL,包括 WPBeginner、OptinMonster、WPForms 和 MonsterInsights.

在 WordPress 网站上使用 HTTPS/SSL 的要求

在 WordPress 中使用 SSL 的要求不是很高.您需要做的就是购买 SSL 证书,而且您可能已经免费获得了.

最好的 WordPress 托管公司为其所有用户提供免费的 SSL 证书:

  • Bluehost
  • SiteGround
  • WPEngine
  • 液体网络
  • 梦想家
  • InMotion 托管
  • 绿色极客

有关更多详细信息,请参阅有关如何为您的 WordPress 网站获取免费 SSL 证书的指南.

如果您的托管公司不提供免费 SSL 证书,则您需要购买 SSL 证书.

我们建议使用 Domain.com,因为它们为常规和通配符 SSL 证书提供最佳 SSL 交易.

通过从他们那里购买 SSL 证书,您还可以获得一个 TrustLogo 网站印章,每个 SSL 证书都提供至少 10,000 美元的安全保修.

购买 SSL 证书后,您需要请托管服务提供商为您安装.

设置 WordPress 以使用 SSL 和 HTTPs

在您的域名上启用 SSL 证书后,您需要设置 WordPress 以在您的网站上使用 SSL 和 HTTPS 协议.

我们将向您展示两种方法来做到这一点,您可以选择最适合您需要的一种.

方法 1:使用插件在 WordPress 中设置 SSL/HTTPS

这种方法比较简单,推荐给初学者.

首先,您需要安装并激活Really Simple SSL 插件.有关更多详细信息,请参阅有关如何安装 WordPress 插件的分步指南.

激活后,您需要访问设置 » SSL 页面.该插件会自动检测您的 SSL 证书,并将您的 WordPress 网站设置为使用 HTTPS.

SSL enabled on a WordPress website

该插件将处理所有内容,包括混合内容错误.以下是该插件在幕后的作用:

  • 检查 SSL 证书
  • 将 WordPress 设置为在 URL 中使用 https
  • 设置从 HTTP 到 HTTPS 的重定向
  • 在您的内容中查找仍在从不安全的 HTTP 源加载的网址并尝试修复它们.

注意:该插件尝试使用输出缓冲技术修复混合内容错误.它可能会对性能产生负面影响,因为它会在加载页面时替换网站上的内容.这种影响仅在第一页加载时可见,如果您使用缓存插件,这种影响应该很小.

虽然插件说您可以保留 SSL 并安全地停用插件,但并非 100% 正确.您必须始终保持插件处于活动状态,因为停用插件会导致混合内容错误.

方法 2:在 WordPress 中手动设置 SSL/HTTPS

此方法要求您手动解决问题并编辑 WordPress 文件.然而,这是一个永久性的、性能更优化的解决方案.这就是我们在 WPBeginner 上使用的内容.

如果您觉得这种方法很难,那么您可以聘请 WordPress 开发人员或改用第一种方法.

作为此方法的一部分,您可能需要编辑 WordPress 主题和代码文件.如果您以前没有这样做过,请参阅我们的指南,了解如何在 WordPress 中复制和粘贴代码片段.

首先,您需要访问设置 » 常规页面.从这里开始,您需要通过将 http 替换为 https 来更新您的 WordPress 和站点 URL 地址字段.

Update WordPress URLs

不要忘记点击"保存更改"按钮来存储您的设置.

保存设置后,WordPress 会将您注销,并要求您重新登录.

接下来,您需要通过将以下代码添加到您的.htaccess 文件来设置 WordPress 从 HTTP 到 HTTPS 的重定向.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

如果您使用的是 nginx 服务器(大多数用户不是),那么您需要在配置文件中添加以下代码以从 HTTP 重定向到 HTTPS:

server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}

不要忘记用你自己的域名替换example.com.

按照这些步骤,您将避免 WordPress HTTPS 无法工作错误,因为 WordPress 现在将使用 https 加载您的整个网站.

如果您想在 WordPress 管理区域或登录页面上强制使用 SSL 和 HTTPS,则需要在 wp-config.php 文件中配置 SSL.

只需在您的 wp-config.php 文件中的 "这一切,停止编辑!" 行上方添加以下代码:

define('FORCE_SSL_ADMIN', true);

此行允许 WordPress 在 WordPress 管理区域中强制使用 SSL/HTTPs.它也适用于 WordPress 多站点网络.

执行此操作后,您的网站现已完全设置为使用 SSL/HTTPS,但您仍会遇到混合内容错误.

这些错误是由仍在使用 URL 中不安全的 HTTP 协议加载的源(图像、脚本或样式表)引起的.如果是这种情况,您将无法在您网站的地址栏中看到安全挂锁图标.

Not secure

许多现代浏览器会自动阻止不安全的脚本和资源.您可能会看到一个挂锁图标,但会在浏览器的地址栏中显示相关通知.

Insecure content blocked

您可以使用检查工具找出通过不安全协议提供的内容.混合内容错误将在控制台中显示为警告,其中包含每个混合内容项的详细信息.

Mixed content errors displayed in browser console

您会注意到大多数 URL 是图像、iframe 和图片库,而有些是由 WordPress 插件和主题加载的脚本和样式表.

修复 WordPress 数据库中的混合内容

大部分不正确的 URL 是存储在 WordPress 数据库中的图像、文件、嵌入内容和其他数据.让我们先修复它们.

您需要做的就是在数据库中找到所有以 http 开头的旧网站网址,并将其替换为以 https 开头的新网站网址.

您可以通过安装和激活 Better Search Replace 插件轻松完成此操作.有关更多详细信息,请参阅有关如何安装 WordPress 插件的分步指南.

激活后,您需要访问工具»更好的搜索替换页面.在"搜索"字段下,您需要使用 http 添加您的网站 URL.之后,在"替换"字段下添加带有 https 的网站 URL.

Search and replace

在其下方,您将看到所有 WordPress 数据库表.您需要选择所有这些来进行彻底检查.

最后,您需要取消选中"以试运行方式运行?"选项旁边的框,然后单击"运行搜索/替换"按钮.

该插件现在将在您的 WordPress 数据库中搜索以 http 开头的 URL,并将它们替换为安全的 https URL.这可能需要一段时间,具体取决于您的 WordPress 数据库大小.

修复 WordPress 主题中的混合内容错误

另一个导致混合内容错误的常见罪魁祸首是您的 WordPress 主题.遵循 WordPress 编码标准的任何体面的 WordPress 主题都不会导致此问题.

首先,您需要使用浏览器的检查工具来查找资源及其加载位置.

Using inspect tool to find mixed content error

之后,您需要在 WordPress 主题中找到它们并将其替换为 https.这对于大多数初学者来说会有点困难,因为您将无法看到哪些主题文件包含这些 URL.

修复由插件引起的混合内容错误

一些混合内容资源将被 WordPress 插件加载.任何遵循 WordPress 编码标准的 WordPress 插件都不会导致混合内容错误.

我们不建议编辑 WordPress 插件文件.相反,您需要联系插件作者并让他们知道.如果他们没有回应或无法解决问题,那么您需要找到合适的替代者.

注意:如果由于某种原因,您仍然遇到混合内容错误,那么我们建议您暂时使用真正简单的 SSL 插件,这样您在临时网站上修复问题或聘请开发人员时不会影响您的用户.

将您的 HTTPS 网站提交到 Google Search Console

Google 等搜索引擎将 https 和 http 视为两个不同的网站.这意味着您需要让 Google 知道您的网站已迁移以避免任何 SEO 问题.

为此,您只需转到您的 Google Search Console 帐户并点击"添加属性"按钮即可.

Add https site as a new property in Google Search Console

这将弹出一个弹出窗口,您需要在其中添加您网站的新 https 地址.

Add your https URL

之后,Google 会要求您验证您网站的所有权.有几种方法可以做到这一点,选择任何一种方法,您就会看到验证您网站的说明.

Verify your website

您的网站通过验证后,Google 将开始在此处显示您的搜索控制台报告.

您还需要确保在您的 Search Console 中添加了 https 和 http 版本.

这告诉 Google 您希望将网站的 https 版本视为主要版本.结合您之前设置的 301 重定向,Google 会将您的搜索排名转移到您网站的 https 版本,您很可能会看到搜索排名有所改善.

我们知道我们在将网站从 http 切换到 https 时做到了.

我们希望本文能帮助您在 WordPress 中添加 HTTPS 和 SSL.您可能还想查看我们的终极 WordPress 安全指南,其中包含确保您的 WordPress 网站安全的分步说明.

5

发表回复