新手经常会问我们如何将网站迁移到 SSL 或 HTTPS。这些术语听起来可能很专业,但实际上操作起来非常简单。
网站 URL 中的 HTTPS 表示该网站通过安装 SSL 证书使用安全的数据传输协议。这一点很重要,因为大多数现代浏览器都会对未使用 HTTPS 的网站发出警告。
幸运的是,大多数可靠的主机公司和 WordPress 都让保护您的网站变得非常容易。
本文将向您展示如何通过添加 SSL 证书将 WordPress 从 HTTP 迁移到 HTTPS。如果您不了解 SSL 或 HTTPS,请不要担心,我们也会进行解释。

什么是HTTPS?
HTTPS,即安全HTTPS,是一种加密方法,可以保护用户浏览器和服务器之间的连接。这种额外的安全措施使得黑客更难拦截传输的数据。
人们每天都会与网站分享个人信息,无论是购物还是登录。我们亲眼目睹了保护这类数据交换的重要性。
为确保数据安全,需要建立安全连接。
这就需要用到SSL和HTTPS了。
每个网站都会获得一个唯一的 SSL 证书用于识别。如果服务器尝试在没有有效证书的情况下使用 HTTPS,或者证书不匹配,大多数现代浏览器都会发出警告,建议用户不要继续操作。

现在,您可能会想知道为什么需要将您的 WordPress 网站从 HTTP 迁移到 HTTPS,特别是如果它是一个简单的博客或小型企业网站,并且不处理付款。
为什么需要HTTPS和SSL?
早在2018年,谷歌就宣布了一项旨在提升网络安全的计划,敦促网站所有者从HTTP切换到HTTPS。为了支持这一举措,谷歌Chrome浏览器开始将所有没有SSL证书的网站标记为“不安全”。

谷歌还提到,使用SSL加密的网站将获得SEO优势,搜索排名可能高于未加密的网站。这一声明促使许多网站所有者转向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证书:
1.Bluehost
2.SiteGround
3.Hostinger
4.梦境主机
5.GreenGeeks
更多详情,请参阅我们的指南,了解如何为您的 WordPress 网站获取免费 SSL 证书。
如果您的主机服务商不提供免费的 SSL 证书,您需要购买一个。
我们推荐Namecheap,因为它提供最优惠的普通 SSL 证书和通配符 SSL 证书。
从他们那里购买 SSL 证书,您还可以获得 TrustLogo 网站安全印章。每个 SSL 证书都提供至少 10,000 美元的安全保障。价格从每年 11 美元起,SSL 证书会自动续订。
购买 SSL 证书后,您需要请您的主机提供商为您安装。
设置 WordPress 以使用 SSL 和 HTTPS
为域名启用 SSL 证书后,您需要设置 WordPress 以在您的网站上使用 SSL 和 HTTP 协议。
我们将向您展示两种实现方法,您可以选择最适合您需求的方法。
方法一:使用插件在 WordPress 中设置 SSL/HTTPS
这种方法比较简单,推荐给初学者。
首先,您需要安装并激活Really Simple SSL插件。更多详情,请参阅我们的WordPress 插件安装分步指南。
激活后,您需要访问“设置”»“SSL”页面。插件会自动检测您的 SSL 证书,并将您的 WordPress 网站配置为使用 HTTPS。

该插件会处理所有问题,包括混合内容错误。以下是该插件在后台执行的操作:
1.检查 SSL 证书
2.设置 WordPress 在 URL 中使用 https。
3.设置从 HTTP 到 HTTPS 的重定向
4.查找内容中仍然从不安全的 HTTP 源加载的 URL,并尝试修复它们。
注意:该插件尝试使用输出缓冲技术来修复混合内容错误。由于它会在页面加载时替换网站上的内容,因此可能会对 性能产生负面影响。这种影响仅在首次页面加载时出现,如果您使用了缓存插件, 则影响应该很小。
虽然插件声称可以保留 SSL 并安全地停用插件,但这并非完全正确。您必须始终保持插件启用状态,因为停用插件会导致混合内容错误再次出现。更多详情请参阅我们的Really Simple SSL 评测。
方法二:手动在 WordPress 中设置 SSL/HTTPS
这种方法需要您手动排查问题并编辑 WordPress 文件。不过,这是一种永久性且性能更优的解决方案,我们在 WPBeginner 上就采用了这种方法。
如果您觉得这种方法比较困难,您可以聘请一位 WordPress 开发人员,或者改用第一种方法。
此方法可能需要您编辑 WordPress 主题和代码文件。如果您之前没有这样做过,请参阅我们关于在 WordPress 中复制和粘贴代码片段的指南。
首先,您需要访问“设置”»“常规”页面。在这里,您需要将 WordPress 和网站 URL 地址字段中的 http 替换为 https。

别忘了点击“保存更改”按钮来保存您的设置。
设置保存后,WordPress 会将您注销,您需要重新登录。
接下来,您需要将以下代码添加到您的.htaccess 文件中,以设置 WordPress 从 HTTP 到 HTTPS 的重定向:
|
1
2
3
4
5
|
<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]</IfModule> |
|
1
2
3
4
5
|
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 文件中,“That’s all, stop editing!”这行代码上方添加以下代码:
|
1
|
define('FORCE_SSL_ADMIN', true); |
这行代码允许 WordPress 在后台管理区域强制使用 SSL/HTTPS。它也适用于WordPress 多站点网络。
完成这些步骤后,您的网站就完全设置好了,可以使用 SSL / HTTPS,但您仍然会遇到混合内容错误。
这些错误是由URL中仍然使用不安全的HTTP协议加载的资源(图像、脚本或样式表)引起的。如果是这种情况,您将无法在网站地址栏中看到安全的挂锁图标。

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

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

你会注意到,大多数 URL 都是图片、iframe 和图片库,而有些则是 WordPress 插件和主题加载的脚本和样式表。
修复 WordPress 数据库中的混合内容
大多数错误的URL指向的是存储在WordPress数据库中的图片、文件、嵌入内容和其他数据。我们先来修复它们。
最好在数据库中找到所有以 HTTP 开头的旧网站 URL,并将它们替换为以 HTTPS 开头的新网站 URL。
您只需安装并激活“Search & Replace Everything”插件即可轻松完成此操作。更多详情,请参阅我们的WordPress 插件安装分步指南。
激活后,您需要访问“工具”»“WP 搜索和替换”页面。在“搜索”字段中,您需要添加您的网站 URL http。之后,https在“替换”字段中,添加您的网站 URL。

下面您将看到所有 WordPress 数据库表。
您需要选中所有选项才能进行全面检查。

然后,点击“预览搜索和替换”按钮,查看插件将进行的所有更改。
最后,点击“全部替换”按钮。

该插件现在会搜索您的 WordPress 数据库,查找以 http 开头的 URL,并将其替换为安全的 https URL。这可能需要一些时间,具体取决于您的 WordPress 数据库大小。
修复 WordPress 主题中的混合内容错误
导致混合内容错误的另一个常见原因是您的 WordPress 主题。任何遵循 WordPress 编码标准的优秀WordPress 主题都不会出现此问题。
首先,您需要使用浏览器的检查工具来查找资源以及它们的加载位置。

之后,您需要在 WordPress 主题中找到这些 URL 并将其替换为 https。这对大多数初学者来说会有点困难,因为您无法查看哪些主题文件包含这些 URL。
修复插件引起的混合内容错误
某些混合内容资源将由WordPress 插件加载。任何遵循 WordPress 编码标准的 WordPress 插件都不会导致混合内容错误。
我们不建议您编辑 WordPress 插件文件。相反,您应该联系插件作者并告知他们问题所在。如果他们没有回复或无法修复,您应该寻找合适的替代方案。
注意:如果由于某种原因,您仍然遇到混合内容错误,我们建议暂时使用 Really Simple SSL 插件,这样在您修复测试网站上的问题或聘请开发人员时,您的用户就不会受到影响。
将您的 HTTPS 网站提交到 Google Search Console
像谷歌这样的搜索引擎会将https和http视为两个不同的网站。为了避免任何SEO问题,您需要告知谷歌您的网站已迁移。
要做到这一点,你只需要登录你的Google Search Console帐户,然后点击“添加资源”按钮。

这将弹出一个窗口,您需要在其中添加您网站的新 https 地址。
网站验证有两种方法: 域名验证 或URL前缀验证。我们推荐使用URL前缀验证法,因为它更灵活。

之后,谷歌会要求您验证网站的所有权。
有几种方法可以做到这一点。选择任何一种方法,您都会收到验证网站的说明。我们建议使用 HTML 标签方法。

现在您将看到一段HTML代码片段,您需要将其添加到WordPress网站的头部部分。
使用 All in One SEO 添加 Search Console 验证码
首先,安装并激活All in One SEO for WordPress插件。更多详情,请参阅我们的WordPress 插件安装教程。
注:您还可以试用All in One SEO 的免费版本。
激活后,转到“ All in One SEO » 常规设置”页面,然后点击“Google Search Console”。

在下方,您需要添加之前从 Google Search Console 网站复制的验证码。
别忘了点击“保存更改”按钮来保存您的设置。
接下来,切换回 Google Search Console 标签页,然后点击“验证”按钮。

网站验证通过后,谷歌会在此处显示您的搜索控制台报告。
您还需要确保将 https 和 http 版本都添加到您的 Search Console 中。
这会告诉谷歌,您希望将网站的 https 版本视为主要版本。结合之前设置的 301 重定向,谷歌会将您的搜索排名转移到网站的 https 版本,您很可能会看到搜索排名有所提升。