如何将 WordPress 网站从 HTTP 迁移到 HTTPS? (新手指南)
已发表: 2023-04-13当您访问您的 WordPress 网站时,您是否厌倦了浏览器中可怕的“不安全”警告? 如果您希望为访问者提供更安全、更值得信赖的浏览体验,那么您来对地方了! 在本文中,我们将引导您完成将 WordPress 站点从 HTTP 重定向到 HTTPS 的过程。
您是出于这些原因之一来这里吗?
- 您看到“不安全”警告
- 您希望为访问者提供更安全的体验
- 您已在您的网站上设置 SSL,但它无法正常工作
- 你不想被谷歌惩罚
那么你为什么在这里阅读这篇文章? 您可能是希望提高 WordPress 网站安全性的网站所有者,或者您可能是负责实施更改的开发人员。 无论哪种方式,我们都能满足您的需求。 到本文结束时,您将能够轻松地将您的 WordPress 站点重定向到 HTTPS。
这是即将发生的事情的快速 TL;DR:我们将回顾切换到 HTTPS 的原因,解释设置重定向的技术步骤,并提供一些技巧以确保顺利过渡。 让我们开始吧!
在我们开始之前,请务必确保您已经为您的站点设置了 SSL 证书。 如果你还没有,别担心! 我们有一篇有用的文章可以引导您完成整个过程。 如果您不确定您的 SSL 证书是否已正确安装,同一篇文章还介绍了如何测试它。
使用 Really Simple SSL WordPress 插件强制重定向到 HTTPS
将您的 WordPress 网站重定向到 HTTPS 变得更加容易! 使用“Really Simple SSL”插件,您只需点击几下即可完成切换。 这是您需要做的:
- 从 WordPress 存储库安装“Really Simple SSL”插件。
- 激活插件。
- 按照屏幕上的简单说明配置插件。
- 接下来将要求您进行备份,您已经完成了。
- 接下来,它会要求您继续并单击“继续,激活 SSL”。
就是这样! 您的站点现在将被重定向到 HTTPS。
现在,让我们来看看这个插件在幕后做了什么:
- 它会检查您的网站是否安装了 SSL 证书。
- 它确保到您网站的所有流量都通过安全的 HTTPS 连接发送。
- 它使用正确的配置更新 .htaccess 文件。
- 它会更新您网站上的所有内部链接以使用 HTTPS,因此您的访问者将始终访问您网站的安全版本。
- 它通过用 HTTPS 替换任何不安全的元素来确保您前端的所有内容也是安全的。
使用“真正简单的 SSL”插件,您不必担心任何技术细节或编码。 该插件会为您处理一切,让您轻松切换到 HTTPS!
使用 .htaccess 文件强制重定向到 HTTPS(快速修复)
这是您网站的可能解决方案。 它使用 htaccess 文件将所有访问者重定向到网站的 HTTPS 版本。
以下是如何使用 .htaccess 将您的 WordPress 站点从 HTTP 重定向到 HTTPS:
- 检查您网站的根目录中是否存在现有的 .htaccess 文件。
- 如果有,打开它并添加以下代码:
- 如果没有,请创建一个新的 .htaccess 文件并添加代码。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
.htaccess 文件中的代码执行以下操作:
- 启用 RewriteEngine,它允许代码重定向请求。
- 检查请求是否通过不安全的 HTTP 连接发出(RewriteCond %{HTTPS} 关闭)。
- 如果是,代码使用 RewriteRule (RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]) 将请求重定向到站点的 HTTPS 版本。
添加代码后,保存 .htaccess 文件并将其上传到网站的根目录。
要测试重定向是否正常工作,请尝试访问您网站的 HTTP 和 HTTPS 版本。 如果一切设置正确,所有对 HTTP 版本的请求应该自动重定向到 HTTPS 版本。 您还可以使用在线 SSL 检查工具来验证您的站点是否已正确设置并重定向到 HTTPS。
在哪里添加此代码?
不知道在 htaccess 文件中的什么位置添加此代码可能会让人感到困惑。 大多数情况下,上面提到的可以放在文件的顶部。
支持此方法的虚拟主机
大多数流行的虚拟主机都支持这种设置重定向的方法。 我们已经在这些虚拟主机上测试了该解决方案。
GoDaddy、SiteGround、BlueHost、Nexcess、LiquidWeb、Cloudways、Dreamhost。 世界上还有许多使用基于 cPanel(Apache) 的托管或基于 LiteSpeed 的托管的小型主机。
使用 Nginx 强制重定向到 HTTPS
如果您不确定,请跳过此步骤。 大多数人不需要此选项。
如果您使用 Nginx 在您自己的服务器上托管您的 WordPress 网站,您可以按照以下方法将您的网站重定向到 HTTPS:
- 使用终端或 SSH 客户端登录到您的服务器。
- 打开站点的 Nginx 配置文件。
- 将以下代码添加到您站点的服务器块中:
server { listen 80; server_name example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; server_name example.com; ... }
- 将 example.com 替换为您自己的域名。
- 保存文件并退出。
- 重新启动 Nginx 以使更改生效。
Nginx 配置文件中的代码设置了两个服务器块——一个用于 HTTP 流量,一个用于 HTTPS 流量。
第一个服务器块侦听端口 80 (HTTP) 并将 301 重定向返回到您网站的 HTTPS 版本。 第二个服务器块侦听端口 443 (HTTPS) 并包含 SSL 证书的配置。
通过将此代码添加到您的 Nginx 配置文件,您可以轻松地将所有流量重定向到您的站点以使用 HTTPS。
使用 Cloudflare 轻松重定向到 HTTPS
在下一节中,我们将探讨如何通过 Cloudflare 重定向到 SSL。
就是这样:
- 登录您的 Cloudflare 帐户
- 选择您的网站
- 去加密
- 向下滚动到“始终使用 HTTP S”
- 将开关切换到“开”
就是这样! Cloudflare 将处理其余部分,确保您的所有访问者都被重定向到您网站的安全 HTTPS 版本。
无需再担心复杂的代码或技术细节。 使用 Cloudflare,重定向到 SSL 从未如此简单。
在 WP Engine 托管的 WordPress 主机上强制重定向到 HTTPS
如果您使用的是 WP Engine 托管的 WordPress 托管,那么将您的网站重定向到 HTTPS 是一件轻而易举的事! 这是您需要做的:
- 转到 WP Engine 仪表板的 SSL 部分。
- 设置您的 SSL 证书并确保选中“保护所有 URL”选项。
- 确保您没有使用任何强制 SSL 插件。
通过选择“保护所有 URL ”选项,WP Engine 将通过安全的 HTTPS 连接自动处理所有 HTTP 页面请求。
WP Engine 还提供了“添加重定向”功能,允许您为您的站点设置自定义重定向。 这使您可以灵活地将特定页面或 URL 重定向到不同的位置。
要了解有关 WP Engine 的“添加重定向”功能的更多信息,请查看以下资源:
- https://wpengine.com/support/redirect/
使用 WP Engine,将您的站点重定向到 HTTPS 既快速又简单!
在 Flywheel 主机上强制重定向到 HTTPS
如果您使用的是 Flywheel 托管 WordPress 主机,您可以轻松地将您的网站重定向到 HTTPS! 就是这样:
- 前往 Flywheel 仪表板中该站点的“高级”选项卡。
- 找到“强制 HTTPS ”切换开关并将其打开。
- 就是这样! 您网站的所有流量现在都将自动重定向到 HTTPS。
Flywheel 还提供了“管理重定向”功能,允许您为您的站点设置自定义重定向。 这使您可以灵活地将特定页面或 URL 重定向到不同的位置。
要了解有关 Flywheel 的“管理重定向”功能的更多信息,请查看以下资源:
- https://getflywheel.com/wordpress-support/how-do-i-set-up-redirects/
- https://getflywheel.com/wordpress-support/flywheel-redirects/
使用 Flywheel,将您的网站重定向到 HTTPS 既快速又简单!
在 Pantheon 上重定向到 HTTPS
如果您使用的是 Pantheon 托管 WordPress 主机,您可以轻松地将您的网站重定向到 HTTPS! 这是您需要做的:
- 转到您站点的 pantheon.yml 文件。
- 在文件中启用enforce_https选项。
通过在 pantheon.yml 文件中启用 enforce_https 选项,Pantheon 将为您的站点设置 HSTS 标头并强制执行 HTTPS 连接。
Pantheon 还提供了进一步定制的高级选项。 要了解更多信息,请查看以下资源:
- https://pantheon.io/docs/http-to-https
使用 Pantheon,将您的站点重定向到 HTTPS 是轻而易举的事!
为什么将 HTTP 重定向到 HTTPS?
将 HTTP 重定向到 HTTPS 很重要的原因有几个:
- 提高安全性:如前所述,HTTPS 为服务器和客户端之间传输的数据提供了额外的安全层。 这对于处理密码、信用卡信息和个人数据等敏感信息的网站尤为重要。
- 更好的搜索引擎排名:Google 已确认 HTTPS 是其搜索算法中的排名信号。 这意味着与使用 HTTP 的网站相比,使用 HTTPS 的网站在搜索引擎结果中的排名可能更高。
- 改进的用户体验:当用户访问使用 HTTPS 的网站时,他们将在浏览器的地址栏中看到一个挂锁图标。 这种视觉提示让他们知道该网站是安全的并且他们的数据受到保护。
配置后清单
在进行更改之前备份您的站点
在对您的网站进行任何更改之前,重要的是要进行备份以防出现任何问题。 拥有备份将确保您可以在出现任何问题或错误时快速恢复。
在此处查看最好的 WordPress 备份插件:
https://blogvault.net/5-best-wordpress-backup-plugins/
请记住,在进行任何重大更改之前备份您的网站始终是个好主意,尤其是在将您的网站重定向到 HTTPS 时。 通过备份,您可以保护您网站的数据,并确信您可以在出现任何问题时快速恢复。
更改 WordPress 和站点地址设置
- 登录到您的 WordPress 仪表板并转到Settings > General 。
- 转到 WordPress 和网站地址。
- 将 URL 从 http:// 更改为 https://
- 保存并关闭窗口。
搜索替换数据库中的所有 URL
在您高枕无忧之前,还有一步!
您可能错过了几个 HTTP URL 实例。
使用“Better Search Replace”插件快速将所有 HTTP URL 替换为 HTTPS URL。
但不要忘记再次检查主题文件和 wp-config.php!
在此处获取插件:https://wordpress.org/plugins/better-search-replace/
重定向到 HTTPS 后清除缓存
将您的站点重定向到 HTTPS 后,清除缓存以避免错误结果很重要。 原因如下:
- 您对站点进行了许多更改。
- 旧的 HTTP 链接可能仍被缓存。
- 缓存的页面在测试时会给您不正确的结果。
为确保准确的结果,请在更改后清除缓存以将您的站点重定向到 HTTPS。 我们有一篇综合文章解释了如何使用所有主要插件和网络主机清除缓存:
- https://www.malcare.com/blog/how-to-clear-wordpress-cache/
通过清除缓存,您可以确信您的站点已正确重定向到 HTTPS 并按预期运行!
更新您的站点地图
将站点重定向到 HTTPS 后,更新站点地图以反映更改很重要。 这是您需要做的:
- 检查您的 SEO 插件(例如 Yoast)是否已自动更新站点地图。
- 如果没有,请登录您的 WordPress 管理员。
- 导航到 SEO > 功能 > XML 站点地图。
- 禁用站点地图。
- 再次启用它。
这将使用更新后的 HTTPS URL 重新生成站点地图。
通过更新您的站点地图,您可以确保搜索引擎能够在重定向到 HTTPS 后正确地抓取和索引您的站点。
更新 Google Analytics 上的 URL
将您的网站重定向到 HTTPS 后,更新 Google Analytics 上的 URL 很重要。 这是您需要做的:
- 登录到您的 Google Analytics(分析)帐户。
- 转到管理 > 属性设置 > 默认 URL。
- 从下拉菜单中选择 HTTPS。
- 更新您网站的 URL。
Google Analytics 将 HTTP 和 HTTPS 视为不同的网站,因此更新 URL 对确保准确跟踪和报告至关重要。 通过更新 Google Analytics 上的 URL,您可以对从网站流量中收到的数据和见解充满信心。
将您的 HTTPS 站点提交到 Google Search Console
将您的网站重定向到 HTTPS 后,请务必将您的新 URL 提交到 Google Search Console,以避免出现任何 SEO 问题。 这是您需要做的:
- 登录您的 Google Search Console 帐户。
- 单击“添加属性”按钮。
- 添加您网站的新 HTTPS 地址。
- 验证您网站的所有权。
Google 将 HTTPS 和 HTTP 视为两个不同的网站,因此将您的新 URL 提交到 Google Search Console 对于确保准确跟踪和报告您的网站在搜索结果中的表现至关重要。 通过验证您网站的所有权,您可以确保 Google 拥有有关您网站的正确信息,并可以帮助您提高其知名度和排名。
强制 HTTPS 导致的问题排查
在您的 WordPress 网站上强制使用 HTTPS 时,您可能会遇到以下三个问题之一:
- 登录和管理页面上没有 SSL
- 破损的挂锁或显示警告标志的挂锁(混合内容问题)
- 重定向循环
以下是修复它们的方法 –
1. 登录和管理页面上没有 SSL
您的登录页面和管理区域是否显示“不安全”警告?
当 SSL 证书配置不正确时会发生这种情况。
如果您在没有SSL证书的情况下继续登录,登录凭证一旦被黑客获取,很容易被利用。 在这样的灾难发生之前,您需要在登录和管理页面上强制使用 HTTPS。
本文将帮助您做到这一点——WordPress 登录不安全。
2. 破损的挂锁或显示警告标志的挂锁(混合内容问题)
您的 SSL 证书是否显示警告标志?
这是由于混合内容问题。 这意味着您拥有来自不使用 HTTPS 的 WordPress 插件和主题的链接、图像、脚本和/或样式表。
要确定您的网站是否包含混合内容,您需要做的就是在 SSL 检查器(例如 Whynopadlock 和 Jitbit)上运行您的网站。 或者,您可以按照以下步骤进行手动检查:
1. 打开您的网站。 右键单击并选择检查。
2. 从下面弹出一个小窗口。 在那里,转到控制台,它会向您显示混合内容警告,以及有关混合内容问题起源位置的详细信息。
例如,问题可能是由 WordPress 插件或主题引起的。
这可能是由您网站上的图片引起的。
修复不安全内容:两步解决方案
解决在您的站点上强制使用 HTTPS 时“不安全内容”警告的常见问题。
第 1 步:将 HTTP URL 替换为 HTTPS。 使用 Better Search Replace 之类的插件来更新数据库中的 URL。
第 2 步:设置Content-Security-Policy标头。 您可以使用提供的代码将所有 HTTP 资源即时升级到 HTTPS 并报告任何不安全的请求。
header("Content-Security-Policy: upgrade-insecure-requests;"); header("Content-Security-Policy-Report-Only: img-src https:; script-src https: 'unsafe-inline'; style-src https: 'unsafe-inline';");
通过执行这些步骤,您可以确保一个安全的、带有挂锁的站点,没有“不安全内容”警告。
3.重定向循环
您的网站是否经常被重定向?
重定向循环的发生有多种原因。 那些是:
- 您的 WordPress 和网站地址有误
- .htaccess 文件中的错误重定向指令
- 在不安装 SSL 证书的情况下强制使用 HTTPS
- 重定向插件的配置问题
如果您仔细遵循我们的指南,那么前三个问题就不太可能发生。 但是,我们建议您再次检查您执行的步骤。 由于这是一个关键的变化,一个小错误可能会导致重定向循环。
都好? 那么很可能您网站上的重定向插件才是真正的罪魁祸首。 尝试禁用它。
重定向循环将阻止您访问管理仪表板。 所以你需要通过 FTP 禁用插件。
→ 打开 Filezilla 并转到public_html > wp-content > plugins 。
→ 选择您网站上安装的重定向插件。 右键单击并选择重命名它。 只需添加.deactivate即可停用插件。
这就是所有人。 这就是您在 WordPress 中将 HTTP 强制转换为 HTTPS 的方式。 我们希望您发现该指南有价值且易于遵循。
接下来是什么?
我们相信,如果您仔细遵循我们的指南,您就能够在整个 WordPress 网站上强制使用 HTTPS。
但是,仅将您的网站移动到 HTTPs 并不能保护它免受黑客和机器人的攻击。
您需要采取其他主动安全措施。
您可以为 WordPress 网站采取的最重要的安全措施是安装可信赖且可靠的安全插件。
一个有效的安全插件将通过以下步骤保护您的网站:
- 使用防火墙和登录保护功能阻止不良流量访问您的站点。
- 每天对您的网站进行自动扫描。
- 在几个小时内彻底清理您的网站。
- 帮助实施网站加固措施。