正常情况下,按照我们的WordPress外贸建站教程的流程来操作,就可以直接通过Siteground主机成功为我们的Wordpress网站安装并启用免费SSL证书。不过每个人的情况都不相同,总有可能会出现一些意外情况,比方说,我在写这篇教程的过程中,在给 iwaimaob2c.com 这个演示网站安装SSL证书的时候,虽然已经安装成功,但是打开网站首页,在Chrome的浏览器地址栏中依然显示“不安全”。点击“不安全”在弹窗中可以看到证书是有效的,但是提示“攻击者可能能够看到您正在此网站上浏览的图片,并通过编辑这些图片让您受骗”

这种情况通常会出现在老网站启用SSL证书的时候,虽然证书安装成功,但是仍然提示不安全。按照我们的Wordpress建站教程操作流程搭建新的网站基本不会遇到这样的问题,请放心,如果出现问题,你可以直接在本页面底部评论框中留言,或者在我们的问答社区中提问。我们会尽快回复并解决你的问题。
WordPress外贸网站免费SSL证书“不安全”解决办法
在Chrome浏览器打开开发者窗口,然后点击如下图右上角的⚠️警告图标,就可以查看浏览器提示“不安全的具体原因”。查看这些原因之后不难发现,是因为网站上的图片链接地址仍然调用的是HTTP的链接地址。
例如其中一条提示为:“Mixed Content:The Page at’https://iwaimaob2c.com/’was loaded over HTTPS, but requested an insecure image ‘http://iwaimaob2c.com/wp-content/uploads/2020/04/hero-bg.jpg’. This content should also be served over HTTPS”.意思就是说,下图中的Banner背景图片的链接地址仍然是HTTP的地址,需要把它改为HTTPS的地址。

出现这个问题的根本原因在于,我在安装好Wordpress好之后,在HTTP的环境下安装了一个新的模板,并且导入了模板的演示数据,那么这个时候导入的演示数据中的图片地址默认都是HTTP的链接地址,我在安装SSL证书之后,虽然在上面SiteGround的设置HTTPS Enforce中强制要求网站所有页面启用HTTPS地址,但是有些文件是遗漏掉了。
如何避免以及解决这个问题呢?
要避免上面即使安装好SSL证书仍然提示“不安全”的问题,就要按照我们的Wordpress外贸网站建站教程设置流程,在Wordpress网站搭建好之后,就安装SSL证书。然后再安装模板和设置Wordpress网站。这样,你后面你给Wordpress网站添加的文件,都是在HTTPS环境下的。就不会出现我遇到的问题。
如果你和我一样遇到了这个问题,解决办法如下
在Chrome浏览器中右击页面任意位置,然后选择“检查”,就可以打开如上图所示的开发者窗口,然后点击上图右上角的⚠️警告标志,查看有多少图片的链接地址是HTTP的链接地址。如果只有一两张图片导致网站提示“不安全”,那么你可以在Wordpress后台找到图片所在位置,直接将图片的链接地址从HTTP改为HTTPS即可。或者删除重新上传该图片也是可以的。

如果导致这个问题的图片数量很多,那么请打开Wordpress网站的后台,然后在左侧边栏的Settings – General页面中,将Wordpress Address (URL)和 Site Address (URL)中的链接地址修改为 https 开头的。

再找到侧边栏中的 SG Optimizer选项 (SiteGround主机安装的Wordpress网站会默认安装这个插件),然后再ENVIRONMENT OPTIMIZATION选项页面中,查看Enable HTTPS是否已经是勾选状态,如果不是,请先将Enable HTTPS功能启用,然后打开提示“不安全”的页面,查看“不安全”是否已经替换为“小锁子”。如何还是提示不安全,然后再回到下面的页面,将 Fix Insecure Content 功能激活。再次查看页面是否已经提示为“安全状态”。

通过上面这些操作基本上可以解决大部分情况下的问题,如果还是不行,就只能祭出杀手锏了。
通过数据库的SQL命令,将所有图片地址从HTTP地址更换为HTTPS地址。
如果你不懂SQL操作,可以试试网友推荐的插件 – Better Search Replace 完成以下操作。
以下操作有风险,甚至一个标点,或者中英文字符的不同都会导致错误,甚至导致网站打不开,所以,不要轻易尝试,如果你不懂的话,建议联系SiteGround客服,或者在Fiverr上查找“专家”帮你解决。首先还是进入到SiteGround对应站点的的SITE TOOLS页面,然后在SITE – MySQL页面,选择 PHPMYADMIN,点击ACCESS PHPMYADMIN按钮,进入到数据库管理页面。

然后打开你的网站对应的数据库,在“结构”页面查看数据表的前缀,默认的是wp,Siteground为了数据库安全,会生成随机的三个字母作为前缀,例如和网站文章页面有关的posts页面的表为“abc_posts”,记录下来,再打开SQL页面。

在文本框中输入
UPDATE abc _posts SET post_content = replace (post_content, ‘http:// iwaimaob2c.com /wp-content/uploads’, ‘https:// iwaimaob2c.com /wp-content/uploads’);
注意将上面的“abc”换成你自己的数据表前缀。将网站地址 iwaimaob2c.com 换成你自己的网站的域名地址。然后执行。

这一操作会直接将你网站上所有图片地址从HTTP修改为HTTPS。然后打开网站前台,就可以看到你的网站被Chrome标记为代表安全的“🔒”了。
都搞定啦 谢谢老师!!!!
赞!
Better Search Replace 插件稳当一点
谢谢推荐,待我研究下然后加上 哈哈
您好大神,感谢您的详细讲解,只是我遇到了难题,完全按照您的方法操作了,可还是没能出现安全小锁,
我的出现两条:Failed to load resource: net::ERR_CONNECTION_TIMED_OUT,以及3条Mixed Content: The page at ‘https://www.mgojs.com/’ was loaded over HTTPS, but requested an insecure image ‘http://business.sgwpdemo.com/wp-content/uploads/2018/07/team.jpg’. This content should also be served over HTTPS. 应该怎么做呢?盼复。
把提示的图片删除掉然后重新上传就可以。你的是导入的Demo数据,所以也可以把现在的Demo数据全部删除,然后重新导入一次就没有问题了。