在很多人的印象里面Wordpress就是臃肿、慢、占资源,作为一个很多年的Wordpress用户,从其他Blogger那边学到了不少对Wordpres运行加载速度进行提速的方法,自己也经常会付之于实践,以下就是我对自己的Wordpres站点进行优化的几个实践内容,逐一记录下来。
一、关闭和禁用一些不必要的Wordpress插件
注意重点,是不必要的插件就不用,该用的、不得不用的时候还是要用,这里就不多做阐述了。安装和使用Wordpress插件的原则上是选择合适自己网站的,不一味追求少,也不要贪多,只要合适网站功能需求的插件。
二、对Wordpress进行动静态资源分离
目前我是通过七牛服务对本站的动静态资源进行分离的:
首先在七牛注册一个账户,然后新建一个对象存储空间,然后再镜像存储里面把自己的网站设定为镜像源。七牛官网
接下来在 WordPress 主题目录下的 functions.php 文件中,加入以下代码实现替换功能:
if ( !is_admin() ) { add_action('wp_loaded','3kjs_ob_start'); function c7sky_ob_start() { ob_start('3kjs_qiniu_cdn_replace'); } function 3kjs_qiniu_cdn_replace($html){ $local_host = 'https://www.3kjs.com'; //博客域名 $qiniu_host = 'https://cdn3kjs.qiniu.com'; //七牛域名 $cdn_exts = 'js|css|png|jpg|jpeg|ico'; //扩展名(使用|分隔) $cdn_dirs = 'wp-content|wp-includes'; //目录(使用|分隔) $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; } }
目前找到的上面这段代码是相对比较完美的,这样就能实现无插件实现七牛CDN加速。
PS:我为什么没有用我爱水煮鱼的七牛云存储插件,两个原因:
1、现在的这个插件需要启用WPJAM-Basic,否则将无法启用和运行,WPJAM-Basic和我目前用的这个TinT主题有一部分函数的冲突,兼容性不好(可能很多主题会和WPJAM-Basic插件有冲突);
2、基于尽量减少使用Wordpress插件的原则
三、启用Memcache的缓存
VPS安装Memcache,宝塔面板里面直接在软件管理里面安装就行,目前我使用的Tint主题选项里面有相关Memcache对象缓存设置选项,将安装的Memcache相关参数填写进去就行,如果主题没有填写这些参数的设置选项,同样也可以通过插件来实现,比如:FlexiCache。
四、服务器层面的优化
1、尽量使用PHP7环境,PHP7最显著的变化就是性能的极大提升,已接近Facebook开发的PHP执行引擎HHVM。在WordPress基准性能测试中,速度比5.6版本要快2~3倍,大大减少了内存占用。
目前我的VPS使用的就是PHP7环境。
2、开启服务器的OPcache,PHP7启用Opcache非常简单, 在php.ini配置文件中加入如下内容:
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1
然后重载PHP。