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的优化,做的比较肤浅,比不上大佬们,大佬们勿喷,如大佬觉得我做的不对麻烦告知我,我改,毕竟学无止境嘛。

版权申明:
版权声明

①:本站文章均为原创,除非另有说明,否则本站内容依据CC BY-NC-SA 4.0许可证进行授权,转载请附上出处链接,谢谢。
②:本站提供的所有资源均为网上搜集,不保证能100%完整,如有涉及或侵害到您的版权请立即通知我们。
③:本站所有下载文件,仅用作学习研究使用,请下载后24小时内删除,支持正版,勿用作商业用途。
④:本站保证所提供资源的完整性,但不含授权许可、帮助文档、XML文件、PSD、后续升级等。
⑤:使用该资源需要用户有一定代码基础知识!由本站提供的资源对您的网站或计算机造成严重后果的本站概不负责。
⑥:本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦:如果喜欢本站资源,欢迎捐助本站开通会员享受优惠折扣,谢谢支持!
⑧:如果网盘地址失效,请在相应资源页面下留言,我们会尽快修复下载地址。

0

评论0

请先

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