WordPress网站速度优化

WordPress网站速度优化

一直以来爱游都是想着尽量节约网站成本,提升服务器效率,也就想着把静态资源放OSS,但是静态资源放OSS也是需要付费的,oss很便宜但是流量费就比较贵了,爱游以前的模式是OSS+CDN这样只收取CDN的流量费及HTTPS请求数费用,费用加上服务器大概一个月200左右,这让原本...

一直以来爱游都是想着尽量节约网站成本,提升服务器效率,也就想着把静态资源放OSS,但是静态资源放OSS也是需要付费的,oss很便宜但是流量费就比较贵了,爱游以前的模式是OSS+CDN这样只收取CDN的流量费及HTTPS请求数费用,费用加上服务器大概一个月200左右,这让原本并不富裕的家庭更加雪上加霜了,所以就想换个方式,来节约下成本。

目前爱游用的加速方式是使用WP Super Cache做预缓存+静态资源CDN做分离,这样可以大大的减轻服务器的负担,以下就意义说明。

1.加速第一步:插件

插件:WP Super Cache

这个直接再后台插件搜索安装即可,然后设置如下:

目前爱游只设置了这两项,其他默认没动,这样就开启了预缓存。

2.加速第二步:后端缓存PHP扩展

opcache 用于加速PHP脚本! 卸载
redis 基于内存亦可持久化的Key-Value数据库

3.静态资源cdn

这个呢爱游踩了一些坑,以前用OSS+CDN设置简单,不用太麻烦,不会出现各种问题,换成百度云加速就需要自己手动设置。

爱游这里用的是百度云,也推荐大家用百度云

首先去百度云加速添加域名,然后设置SSL即可,主要是在服务器上面操作。

这里就会有一个问题出现,当你访问cdn域名时你就会发现网站被镜像了,当然你可以做301转向,但是好像影响性能。

爱游这里的办法是在网站根目录建立一个img文件夹,然后把wp-content目录软连接到img里面。

ln -s /www/wwwroot/网站目录/wp-content /www/wwwroot/网站目录/img

这样img目录里面就会有一个wp-content的软连接目录了。

然后绑定子域名到img目录即可。

这样你访问cdn域名时就会出现403,当然也可以在目录里面建立个index.html让它自动跳转到源站域名

<script type="text/javascript">
/*如果浏览器域名不是 www.vipiu.net 将跳转到 www.vipiu.net 对应的页面*/
if (document.location.host != "www.vipiu.net") {
location.href = location.href.replace(document.location.host,'www.vipiu.net');
} 
</script>

这里还会出现一个问题,就是如果你css里面有调用图标文件,就不显示,出现跨域的问题,只需要我们在nginx配置里面加入允许跨域即可。

    #字体允许跨域
    location ~* \.(eot|ttf|woff|svg|otf)$ {
        add_header Access-Control-Allow-Origin *;
    }

这样就完美解决了所有问题。

注意:还有就是如果是用有些插件或是纯代码来实现cdn可能后台媒体库里面的图片地址会变成cdn域名,这样以后cdn域名失效就会造成文章大面积不显示图片。

用以下代码实现就完美解决了这个问题。

/* 动静分离+静态缓存 */
if ( !is_admin() ) {
add_action('wp_loaded','yuncai_ob_start');
function yuncai_ob_start() {
ob_start('yuncai_qiniu_cdn_replace');
}
function yuncai_qiniu_cdn_replace($html){
$local_host = 'https://oooo.com'; //博客域名
$qiniu_host = 'https://xxxx.com'; //CDN域名
$cdn_exts = 'css|js|png|jpg|jpeg|gif|ico'; //扩展名(使用|分隔)
$cdn_dirs = 'wp-content'; //目录(使用|分隔)
$cdn_dirs = str_replace('-', '\-', $cdn_dirs);
if ($cdn_dirs) {
$regex = '/' . str_replace('/', '\/', $local_host) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
$html = preg_replace($regex, $qiniu_host . '/$1$4', $html);
} else {
$regex = '/' . str_replace('/', '\/', $local_host) . '\/([^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
$html = preg_replace($regex, $qiniu_host . '/$1$3', $html);
}
return $html;
}
}

复制代码放入主题根目录文件functions.php即可

以上就是爱游对WordPress的优化,做的比较肤浅,比不上大佬们,大佬们勿喷,如大佬觉得我做的不对麻烦告知我,我改,毕竟学无止境嘛。

原文链接:https://www.vipiu.net/archives/2020/09/19/7698.html,转载请注明出处。
0

评论0

请先

会员低至49元,开通享海量VIP资源免费下载 自助开通
显示验证码
没有账号?注册  忘记密码?