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

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

将 WordPress 从 HTTP 迁移到 HTTPS / SSL

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

什么是 HTTPS?

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

每天我们都会与不同的网站分享我们的个人信息,无论是购物还是登录。

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

这就是 SSL 和 HTTPS 出现的时候。

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

不安全的网站警告

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

为什么需要 HTTPS 和 SSL?

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

Chrome HTTP 不安全

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

谷歌一直在慢慢推出 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 证书:

蓝主机

场地地面

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

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

首先,您需要安装并激活真正简单的 SSL插件。有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。

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

在 WordPress 网站上启用 SSL

该插件将处理所有事情,包括混合内容错误。这是插件在幕后所做的事情:

检查 SSL 证书

将 WordPress 设置为在 URL 中使用 https

设置从 HTTP 到 HTTP 的重定向

在您的内容中查找仍然从不安全的 HTTP 源加载的 URL,并尝试修复它们。

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

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

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

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

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

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

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

更新 WordPress 网址

不要忘记单击“保存更改”按钮来存储您的设置。

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

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

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

如果您在 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 协议加载的源(图像、脚本或样式表)引起的。如果是这种情况,那么您将无法在您网站的地址栏中看到安全挂锁图标。

不安全

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

不安全的内容被阻止

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

浏览器控制台中显示的混合内容错误

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

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

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

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

您可以通过安装和激活Better Search Replace插件轻松做到这一点。有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。

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

搜索和替换

在此之下,您将看到所有 WordPress 数据库表。您需要选择所有这些以进行彻底检查。

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

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

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

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

首先,您需要使用浏览器的检查工具来查找资源以及它们从哪里加载。

使用检查工具查找混合内容错误

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

修复插件导致的混合内容错误

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

我们不建议编辑 WordPress 插件文件。相反,您需要联系插件作者并让他们知道。如果他们没有响应或无法修复它,那么您需要找到合适的替代品。

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

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

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

为此,您只需转到您的Google Search Console帐户并单击“添加属性”按钮。

在 Google Search Console 中将 https 站点添加为新属性

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

添加您的 https 网址

之后,Google 会要求您验证您网站的所有权。有几种方法可以做到这一点,选择任何方法,您将指示验证您的站点。

验证您的网站

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

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

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

我们知道,当我们将网站从 http 切换到 https 时,我们确实做到了。

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