1. 猴子技术宅首页
  2. SEO优化

WordPress全站开启https显示

我们都知道开启SSL访问后如果没有设置https模式连接的话,会出现降安全等级,但是呢,我们去修改的话,一个一个的修改就太麻烦,小编在这里面总结了点方法,可以全站自动修改。

https安全协议_SEO优化

1、开启访问 HTTPS 301重定向

网站这时候虽然支持了 HTTPS 访问,但是也可以使用 HTTP 来访问,考虑到搜索引擎目前收录的都是 HTTP 链接,需要将http重定向到https。

如果是Apache环境,可直接向网站根目录的.htaccess文件添加下面代码:

RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
<!—www.ssfiction.com _猴子学习网_分享各种技术需求-->

如果是Nginx环境,打开网站的配置文件,一般是服务器vhost目录下的 网站.conf 文件,在文件最上方添加:

if ($server_port !~ "^443$"){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite ^/.*$ https://$server_name$uri redirect;
}
<!—www.ssfiction.com _猴子学习网_分享各种技术需求-->

以上完成了网站通过http访问自动跳转到https地址。

2、对wordpress文章内的图片及后台强制https设置

wordpress上传的图片都写入了绝对地址,也就是启用https前所有上传到文章的图片都是以http://开头的地址存储,如果不转换成https访问网站时浏览器顶部的“小锁”会在某些浏览器显示安全警告,让图片变成https地址很简单,只需要在当前主题的functions.php文件中添加以下代码:

/** 替换图片链接为 https **/

function my_content_manipulator($content){

       if( is_ssl() ){

           $content = str_replace(‘http://www. ssfiction .com/wp-content/uploads’, ‘https://www. ssfiction .com/wp-content/uploads’,$content);

         }

        return$content;

}

add_filter(‘the_content’, ‘my_content_manipulator’);
<!—www.ssfiction.com _猴子学习网_分享各种技术需求-->

以上代码可自动将全站所有http地址图片自动转换成https地址图片。

3、替换相对路径(如果发现CSS或者是内联中的代码还是http格式,则需要加上该代码。)

添加方法也是和第2点一样的,该代码由wordpress提供的API接口,放心使用。

add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
	if( is_ssl() ){
		function fanly_ssl_main ($content){
			$siteurl = get_option('siteurl');
			$upload_dir = wp_upload_dir();
			$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);
			$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);
			return $content;
		}
		ob_start("fanly_ssl_main");
	}
}
<!—www.ssfiction.com _猴子学习网_分享各种技术需求-->

4、开启登录和后台https访问

打开网站根目录下的wp-config.php文件,在文件底部添加:

/** 强制后台和登录使用 SSL **/
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
<!—www.ssfiction.com _猴子学习网_分享各种技术需求-->

/** 强制后台和登录使用 SSL **/

define(‘FORCE_SSL_LOGIN’, true);

修改“菜单”当中的所有“自定义链接”为相对路径;

修改“设置”→“常规”里的“站点地址”和“WordPress 地址”为 HTTPS地址;

以上的步骤基本实现了WordPress全站https,还有一些手动添加的链接或插件需要单独调整。

5、百度分享https

目前国内百度分享、jiathis等社会化分享组件插件均不支持https,也就是当你启用https后这些分享功能都不会显示,找了很久终于找到一个大牛贡献的代码,实现了https可用的百度分享功能,代码如下:

<div class="bdsharebuttonbox"><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_sqq" data-cmd="sqq" title="分享到QQ好友"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a></div><script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='https://dn-iyz-file.qbox.me/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 

上面的百度分享https代码已经失效,你可以参考教程WordPress网站上百度分享不支持https来实现百度分享代码本地化,定制可用的https分享代码。或者可以直接取消掉分享代码,其实分享代码在用户体验中不是很受欢迎的。

当然上面的方法只能适合部分的网站模板,如果不想这样的去修改,可以在宝塔中配置好SSL之后,直接一键强制,但是必须同时要设置301重定向,不然设置了也是白设置的。

该文章属于:猴子在天上飞原创

转载请注明标题:WordPress全站开启https显示-猴子技术宅

转载请注明出处:https://www.ssfiction.com/archives/2092

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

251552304

在线咨询:点击这里给我发消息

邮件:251552304@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息