如何修复WordPress混合内容错误Mixed Content Error

错误类型:
浏览器错误
错误名称:
混合内容错误
英文名称:
Mixed Content Error
错误描述:
从本质上讲,混合内容错误是指您的WordPress站点通过HTTPS安全地提供一些资源,又通过HTTP不安全地提供一些资源。有时,这些混合内容的一部分甚至不会显示出来,从而导致网站以多种方式出现故障。

000-mixed-content-error

如今大部分网站的连接都是通过SSL证书完成的,如果你的站点还没配置https,建议也参照“WordPress网站免费SSL证书申请及配置教程”配置一个。

大多数网络主机提供免费的Let’s Encrypt证书和更新,只需点击几下即可安装。但是,在设置SSL时,混合内容是一个常见问题,虽然不是什么大问题,但我们也需要尽快修复WordPress中的混合内容错误以保证网站完全安全。

什么是WordPress混合内容错误?

从本质上讲,混合内容错误是指您的WordPress站点通过HTTPS安全地提供一些资源,又通过HTTP不安全地提供一些资源。有时,这些混合内容的一部分甚至不会显示出来,从而导致网站以多种方式出现故障。并且存在多个不利的影响:

首先是搜索引擎惩罚它认为不安全的任何站点,并且会在用户点击进入站点时发出警告,提醒访客“您与此网站之间建立的连接不安全”。试想想,有多少个访客愿意冒险继续访问此网站。

其次是谷歌和其他搜索引擎会在排名中惩罚你的网站,因为你的网站不安全,可能包含恶意软件,而且用户体验很差,内容根本没有加载。

加上WordPress网站上的混合内容错误会严重影响加载时间,这就使得网站的用户体验变得糟糕。

那么您如何防止这种情况发生并使您的网站成为搜索引擎和访客都不受欢迎的一员呢?

如何使用插件修复WordPress中的混合内容错误

修复WordPress混合内容错误实际上相对简单。由于平台的定制化和灵活性,插件开发人员基本上已经解决了您可能遇到的任何问题。你只需要知道在哪里搜索。对于大多数站点来说,能够快速安装和配置插件是最好的解决方案。

001-Insecure-Content

推荐WebAware开发的SSL Insecure Content Fixer插件。只需安装和启用插件就可以修复WordPress网站上显示的任何混合内容错误。正如WordPress.org插件描述所说,“使用简单修复级别对您的网站进行一些基本修复。” 如果您需要更多,该插件提供更高级的设置页面,您可以在其中调整需要保护的内容。

您可以在WP管理面板菜单中的设置 – SSL Insecure Content下找到设置 。请注意, 已启用简单选择。

002-Insecure-Content

大多数时候,这是有效的。为了确保它正常工作,我们强烈建议在GT MetrixPingdom上运行页面速度测试(或此前推荐的15个网站速度测试工具的任意一个)。虽然这些测试本身非常棒,可以帮助识别您网站上的错误,但它们都报告不安全/混合内容。因此,如果您确实有任何问题,其中一位会告诉您。

使用这个插件修复了除Capture All之外的所有错误 。根据经验,自动修复的AJAX调用往往会破坏站点功能。但是,其他每个选项都修复了GT Metrix或Pingdom发现的任何问题。

使用SSL Insecure Content Fixer等插件的最大问题是,如果您停用该插件,则混合内容修复程序也有可能停用。如果这对您来说是一个潜在的问题,我们也有解决方案。

如何手动修复WordPress混合内容错误

与任何其他主要网络应用程序一样,WordPress 实际上只是服务器上的一个数据库。如果该数据库中的资源仍被标记为 HTTP 并且浏览器正在调用 HTTPS……这是一个混合内容错误。幸运的是,您也可以手动执行一些非常简单的修复。

在您的WP数据库中查找和替换

虽然这也涉及插件,但它仅用于实际功能,之后可以禁用。在WP.org插件市场上找到Better Search Replace插件。

004-Insecure-Content

005-Insecure-Content

在 工具 – Better Search Replace 下(1),您将搜索域名的不安全实例并将其替换为 HTTPS 版本。在Search for输入 HTTP://yourdomain.com 和Replace with输入HTTPS://yourdomain.com

然后,选择要包括在搜索中的数据库表。一般来说,这将是所有这些。因此,单击顶部,滚动到底部,然后按住 Shift 键并单击最后一个。这将突出显示列表(3)中的所有表。

我们建议启用 Run as Dry Run 选项。这样做将使插件执行所有操作,但实际上不会保存更改。它会报告它发现的任何东西。

006-Insecure-Content

如果发现一切都OK,取消选中试运行框运行搜索并替换。但是,在此之前,我们强烈建议备份您的站点和数据库。任何时候你需要对数据库进行修改操作,务必先做备份工作。损坏或处理不当的数据库是所有WordPress中最难修复的事情之一。

您也可以通过托管仪表板中的phpMyAdmin执行相同的过程,但它没有试运行功能,并且需要更多的技术知识来实施。对于大部分站长来说,我们更建议使用插件方法。

更改 .htaccess 文件

您网站的 .htaccess文件负责引导流量并允许访问您网站的元素。您可以通过使用 FileZilla(或其他 FTP 客户端)或从主机的仪表盘文件管理器中向.htaccess文件添加几行来强制对站点资源使用HTTPS  。

基本上,您将使用 .htaccess进行重定向,因此您现有的内容不会继续通过 HTTP 加载。

为此,请导航到/public_html 或 根 目录并在其中查找 .htaccess 文件。右键单击它并选择允许您编辑文件的选项,如果您使用的是 FTP,它将使用您的默认文本编辑器或集成编辑器(如果您使用主机的仪表板)打开文件。

007-Insecure-Content

复制粘贴以下代码行至</IfModule>标记和#END WordPress行之间

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>

008-Insecure-Content

注:同样地,建议先对.htaccess文件备份, 再执行相关操作,以防这些更改出错。

如果一切正常,您应该不会再看到混合内容错误。但是,如果您使用缓存插件,您可能仍会遇到错误。如果是这种情况,请确保清除网站的缓存并再次尝试加载您的网站。

小结

如果在WordPress中遇到混合内容错误,这并不像听起来那么可怕。事实上,它是比较容易修复的WordPress错误消息之一。无论您更喜欢插件修复还是深入研究WordPress核心文件,摆脱网站上的混合内容错误都是快速和容易的。

评论留言