一个站点的WordPress给添加上SSL证书,域名自然的由http://转到https://,如果文章或内容内的图片仍是以http://方式链接的,地址栏上的小绿锁不会显示,在火狐浏览器设置会提示错误(我记得有个感叹号,看的特别别扭)。可以通过对数据库执行批量替换域名的操作,来解决这些个问题,方法也可以用来WordPress域名更换。

phpMyAdmin中,找到对应数据库,执行例如以下SQL语句:

UPDATE wp_options SET option_value = replace( option_value, 'http://onebox.site', 'https://onebox.site' ) WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace( post_content, 'http://onebox.site', 'https://onebox.site' ) ;
UPDATE wp_posts SET guid = replace( guid, 'http://onebox.site', 'https://onebox.site' ) ;

替换上面网址http://onebox.site,替换新网址https://onebox.site

不论是更换域名还是套上个SSL证书,都要做原域名或站点做个301转向来告诉搜索引擎。

另外一些注意事项:

WordPress主题内引用的第三方文件,都要以https://的形式,要不然毫无效果;例如JS文件的第三方托管、Gravatar头像的获取方式、网站访问统计(有些很落伍的还不支持SSL)、各种分享模块(因为太多了,目前看的出来很多都不支持SSL,建议砍掉)。