检测和修复WordPress中混合内容错误的简单方法

在WordPress中看到混合内容的错误?被提醒的访客遇到混合内容警告?一般这种情况是WordPress中的混…

在WordPress中看到混合内容的错误?被提醒的访客遇到混合内容警告?一般这种情况是WordPress中的混合内容错误是由HTTP和HTTPS连接的不匹配引起的。如果你已经使用了SSL,使你的网站达到了当前的安全标准,你可能会看到这个错误。

当一个页面使用HTTPS加载,但图像或脚本仍然使用旧的HTTP URL时,你会看到一个混合内容错误。这是一个很容易错过的事情,但有可能在浏览器中把你的网站标记为不安全。

这就是为什么我们需要解决这个问题。HTTPS已经成为运行网站的一部分,就像使用一个快速的WordPress主题和一个SEO插件一样。它现在是每个网站都应该使用的一个基本成分。然而,将网站转换到HTTPS给一些网站带来了挑战。其中一个挑战是混合内容错误。

什么是混合内容警告?它们为什么会发生?为什么WordPress会警告你,你能做什么来阻止它们?这里搬主题就分享一下检测和修复WordPress中混合内容错误的简单方法。

一、什么是WordPress的混合内容错误

IMG_0

当一个网站试图在同一个会话中加载HTTP和HTTPS资产时,一个混合内容的警告会出现在访问者的浏览器中。例如,你的网站完全在HTTPS上运行,访客加载了一个带有图片的存档页面,而这个图片还没有被迁移到HTTPS上。该页面本身将被正确加载为HTTPS,但图像不会,因为它是通过HTTP链接。

访客的浏览器被设计成在发生这种不匹配时提醒他们,因为理论上这可能是一个漏洞。在大多数情况下,这不是一个漏洞,但现在的浏览器会提醒用户注意任何看起来不对的东西。

混合内容的类型

混合内容有两种主要类型,主动和被动:

  • 主动混合内容是指一个页面使用HTTPS加载,但有脚本使用HTTP加载。这些脚本可能是CSS文件、JS文件或您在网站上托管的其他脚本。
  • 被动混合内容是指页面通过HTTPS加载,包括使用HTTP资源加载的图像、音频或视频。

这两种情况在已经从HTTP过渡到使用SSL的HTTPS的老网站上很常见。我们将在本文后面讨论SSL和WordPress的重要性。

二、是什么导致了WordPress的混合内容警告

导致混合内容警告的主要原因是网站已经安装了SSL并过渡到HTTPS,但没有将所有内容迁移到更安全的版本上。

这在有几十个媒体文件夹、几百个文章和页面以及大量内容需要迁移到HTTPS的较大或成熟的网站中很常见。这很容易被忽视,快速测试也很容易错过。这也是很容易检查和补救的,我们接下来会介绍。

三、如何识别混合内容警告

你可以通过多种方式主动检查混合内容。我们建议在你切换到HTTPS或安装一个新的SSL证书时就这样做。这些方法都是免费的,只需要几分钟,所以没有理由不使用它们。

1、WordPress和混合内容检查

WordPress 5.7的用户将有自动检测混合内容的功能。新的更新包括一些核心增强功能,将检查当前环境是否支持HTTPS。它还将能够使用新的’https_detection_errors’选项来验证内容。

如果你使用这个WordPress版本或更新的版本,你可能已经内置了内容检查。无论你使用的是什么版本,以下任何一种方法都可以工作。

2、使用外部网站检查混合内容

IMG_0

检查你的网站是否有混合内容的最简单的方法之一是让别人为你做这件事。一种方法是使用一个特定的网络应用程序,可以检查你的网站,包括其所有资产的混合URL。

JitBit的SSL检查就是这样一个网站。其他网站也可使用。

  1. 访问SSL检查,在中间的搜索框中输入你的根URL。你的根URL是你的域名,尾部没有附加其他东西。例如,https://www.banzhuti.com/,而不是https://www.banzhuti.com/pro/。
  2. 选择URL框旁边的红色 “检查SSL错误 “按钮,给该工具一些时间来发挥其魔力。
  3. 随着应用程序的工作,你会看到一个正在测试的URL列表。根据你的网站规模,这可能需要一些时间。

你最好能在最后看到一个 “完成–没有发现问题 “的消息。如果你没有看到这个消息,你应该看到一个有混合内容的页面列表。我们将告诉你如何在一分钟内修复它们。

3、使用检查元素检查混合内容

所有现代浏览器都有检测工具,旨在让开发人员测试网站和应用程序。你可以使用这些相同的工具来识别任何混合内容。

你可以在打开谷歌浏览器的情况下,使用电脑上的快捷键访问它。

  • Windows用户可以按F12或Ctrl + Shift + I
  • Mac用户可以按Cmd + Opt + I

你也可以使用大多数浏览器上的右键对话框。在一个页面上点击右键,选择检查(Chrome)或检查元素(Firefox)。其他浏览器可能有所不同,但你会明白的。

使用浏览器检查的缺点是,你需要在有混合内容的页面上才能检测到它。使用外部网站进行检查可以一次检查你的整个网站。

四、如何修复WordPress中的混合内容警告

有几种方法可以用来修复混合内容错误。你可以使用一个插件,使用SQL或修改你的.htaccess文件来放置一个永久重定向。

我们将告诉你如何使用这三种方法,首先,我们将讨论最基本的问题,并检查你是否已经改变了WordPress中的网站地址URL。

  1. 登录WordPress,从左边的菜单中选择设置和常规。
  2. 检查WordPress地址(URL)和网站地址(URL),确保两者都使用HTTPS作为前缀。
IMG_0

如果两个条目都是HTTPS,那么你的基本设置就已经正确了。让我们继续讨论修复问题。

1、使用插件修复混合内容错误

IMG_0

和大多数WordPress的事情一样,你有许多插件可以用来修复混合内容的警告。由于使用插件是修复混合内容错误的最快和最简单的方法,我们将首先介绍这个。

  • Really Simple SSL
  • 更好的搜索替换
  • SSL不安全内容修复器

由于我们的测试网站已经安装了Really Simple SSL,我们将用它来描述这个过程。

  1. 下载并安装Really Simple SSL
  2. 在出现选项时激活该插件

该插件将处理所有SSL问题,包括混合内容错误。没有配置,没有设置,也不需要你做什么。这一切都为你完成。如果你想仔细看看Really Simple SSL是如何工作的,请这样做:

  1. 在你的WordPress仪表板的左边菜单中选择设置和SSL
  2. 检查中间的窗格,在那里你可以看到切换按钮,以确保混合内容修复器被启用。

搬主题还分享了插件的汉化中文下载【Really Simple SSL Pro汉化中文版|网站SSL安全设置检测配置WordPress插件介绍】

这个插件的方法是最简单的,除了安装之外不需要你做任何工作。如果你不想搞乱phpMyAdmin或修改你的.htaccess文件,这绝对是一个好办法。

2、使用SQL修复混合内容错误

不是每个人都能自如地修改数据库,但对于那些自如的人来说,这是解决WordPress中混合内容警告的一个非常有效的方法。

你将需要访问你的虚拟主机上的phpmyAdmin,这样才能工作。

  1. 从左边的列表中选择你的WordPress数据库
  2. 选择顶部的查询标签,然后粘贴下面的代码。
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://yourdomainname.com', 'src="https://yourdomainname.com');

在你看到’yourdomainname.com’的地方,改成你自己的域名。选择右下角的 “提交查询”,让数据库完成它的工作。

这个查询更新了所有数据库条目,以读取HTTPS而不是HTTP。这是一个非常有效的方法来确保所有的页面、文章和资产使用正确的协议,应该足以解决混合内容的错误。

3、通过修改.htaccess修复混合内容错误

IMG_0

.htaccess文件控制你的网络服务器如何处理请求,包括重定向。在这里添加一个从HTTP到HTTPS的重定向,也会阻止WordPress的混合内容错误。修改.htaccess文件很简单,但如果你弄错了语法,会对你的网站产生深远的影响。我们建议你在保存文件之前仔细检查你输入的文本。

对于Apache服务器:

1、登录到你的虚拟主机的cPanel或类似的地方

2、选择文件管理器,并导航到您网站的根目录

3、在目录中找到.htaccess,右击并选择编辑

4、在.htaccess文件的底部,在以# BEGIN WordPress开始,以# END WordPress结束的部分之外粘贴以下内容。不要在这些标签之间添加代码

IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yourdomainname.com/$1 [R,L]
</IfModule>

6、将你看到的 “yourdomainname.com “改为你自己的域名。

7、保存该文件

如果你使用NGINX而不是Apache,你需要粘贴以下内容来代替。

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

把你看到的 “yourdomainname.com “改为你自己的域名。如果你的虚拟主机使用的是不同于80端口的端口,也要改变它。

4、通过修改.htaccess强制WordPress使用HTTPS

IMG_0

即使你已经实施了SSL并在整个网站上使用了HTTPS,如果你有任何页面,访问者可以使用传统的HTTP URL来访问。你可以通过简单地修改你的.htaccess文件,强迫WordPress使用HTTPS来解决这个问题。

这通常是不必要的,因为当你设置了SSL时,大多数虚拟主机会自动将访问者重定向到HTTPS版本的页面。然而,如果你想真正确定,你可以在你的.htaccess文件中添加以下代码。

按照上述步骤编辑.htaccess并粘贴以下代码。

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"

同样的规则也适用。不要在# BEGIN WordPress和# END WordPress之间添加这段代码,在最后保存你的改动。现在,这应该会对任何使用旧网址访问你的网站的访问者进行强制重定向。

五、测试以确保错误已被解决

每当你在一个活跃的网站上做了一个改变,你应该总是测试以确保所有的东西都能重新工作。WordPress充满了相互联系的系统,一个领域的改变有时会影响到其他看似不相关的领域。

再次通过SSL检查运行你的网站URL,以确保不再有混合内容的错误。

六、SSL和WordPress的安全性

IMG_0

看起来SSL给WordPress的安全增加了一个全新的复杂层,但它是保护你的网站和你的访问者的一个基本工具。

当互联网刚发明的时候,流量是透明的,这意味着任何拥有正确技能和设备的人都可以看到来回的流量。随着互联网的发展,这种情况变得难以维持,必须采取一些措施来提高安全性。

SSL是其中一个答案。

SSL是安全套接字层(Secure Sockets Layer)的缩写,是一种能够在网络浏览器和网站之间进行加密连接的协议。使用SSL意味着每个登陆你网站的访问者都能使用加密的连接,而不是开放的连接。

安全问题现在非常重要,以至于谷歌现在会惩罚那些不使用SSL加密的网站。浏览器也会警告用户一个网站不安全。

使用SSL和HTTPS的两个很好的理由!

以下是使用HTTPS的一些其他好处:

这是用户所期望的 – 使用HTTPS的最重要原因是用户现在期望它。他们要求你保证他们和他们的数据安全。不认真对待安全问题的网站不会存在很久。

启用先进的浏览器功能,如麦克风、视频、地理位置和蓝牙 – 如果您的网站使用富媒体或有先进的功能,需要浏览器与用户的设备接口,只有使用HTTPS才能提出请求。

使用比HTTP更快的HTTP/2,并且只适用于HTTPS网站 – 当速度是一切,你需要使用书中的每一个技巧来提供快速的网站。HTTP/2明显比HTTP快,所以绝对值得使用。

许多信用卡公司和支付网关都要求使用HTTPS – 如果你经营一家电子商务商店或处理任何形式的付款,大多数支付处理器将要求你使用HTTPS。

七、如何在WordPress中开启SSL和HTTPS

如果你还没有从HTTP切换到HTTPS,你真的应该这样做。基于上述所有原因,这是正确的做法。现在大多数虚拟主机在其虚拟主机计划中包括SSL,所以一切都会为你设置好。如果你已经在主机上使用了一段时间,你可能需要手动设置它。

SSL/HTTPS的常见问题

混合内容是什么意思?

WordPress中的混合内容意味着你的HTTPS网站中的一些链接仍在使用不安全的HTTP连接。浏览器的设计是为了警告用户潜在的漏洞,混合内容就是这样一个漏洞。它并不危险,但却是潜在的不安全因素,应该尽快解决。

我如何修复WordPress中的混合内容错误?

你可以通过使用一个插件、修改你的SQL数据库或在你的.htaccess文件中添加重定向来修复WordPress中的混合内容错误。这篇文章确切地解释了如何识别混合内容以及如何修复它。

什么是混合内容,为什么Chrome会阻止它?

混合内容是指使用HTTPS的页面还包括仍然使用HTTP的链接或资产。浏览器会检测到这种不匹配,并提醒用户注意潜在的漏洞。Chrome 浏览器会阻止混合内容,因为它有潜在的不安全因素,而且它的设计在保护用户方面是非常谨慎的。

我可以把http改为https的WordPress吗?

你可以在WordPress中把HTTP改为HTTPS。你需要在你的虚拟主机上安装一个SSL证书,并需要在WordPress内进行修改。本指南将带领你完成使用HTTPS保护WordPress的整个过程。

如何解决Nginx的混合内容问题?

你可以通过在根目录的.htaccess文件中插入几行代码来修复NGINX的混合内容问题。你只需要打开.htaccess文件,粘贴一些代码,将默认的URL改为你自己的URL,然后保存该文件。这篇文章包括关于如何做的完整说明。

混合内容不好吗?

混合内容本身并不坏,因为它主要是一种理论上的风险。然而,浏览器、谷歌(SEO)和用户都认为它不好,所以最好尽可能地避免它。让你的整个网站运行在HTTPS上是一个很好的做法,可以增加信任,所以我们强烈建议你这样做。

八、WordPress的混合内容总结

通过这篇文章你需要知道的关于WordPress中混合内容错误的一切。它们是什么,它们意味着什么以及如何修复它们。开启了SSL证书后,浏览器也提示安全了,没有任何其他的安全错误提示,那肯定是最好的结果。如果出现问题后,那意味着你的网站访客有可能去其他站点,这是网只要避免的。

类别:WordPress 进阶教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册