WordPress缓存插件W3 Total Cache的安装和使用

动态页面静态化将显著提升动态网页的响应速度,缓存插件就可以实现这样的功能。WordPress中有两个常见的缓存插件WP Super cache和W3 Total Cache。前者将动态页面生成静态的Html文件,然后用户访问的不是原页面,而是这些Html文件,而后者则是生成一系列的缓存文件,当用户请求某一个页面时,插件就会调用这些缓存文件,两个缓存插件的终极目标都是减少PHP代码的执行和MysqL的查询数量,加快网页的加载速度。很多测试表明W3 Total Cache效果比WP Super cache好,下面简单的介绍WP Super cache的安装和使用。
安装环境:
WordPress版本:4.6.1
W3 Total Cache版本:0.9.4.1
安装W3 Total Cache
网站后台 》 插件 》 安装插件,搜索“W3 Total Cache”并安装即可。
W3 Total Cache设置
启用插件之后,在“General Settings”选项下,修改以下设置,就能基本上实现Wordpress的缓存加速了:

General
Toggle all caching types on or off (at once):慎点,否则会将下面所有勾选而保存报错,或者去掉了所有选项。

Page cache
Page cache:Enable
Page cache method:Disk:Basic

Minify
Minify:Enable
Minify mode:Auto
Minify cache method:Disk
其他保持默认

Database Cache
Database Cache:Enable
Database Cache Method:Disk

Object Cache
Object Cache:Enable
Object Cache Method:Disk

Browser Cache
Browser Cache:Enable

其他的不需要配置了。

测试加速效果
可以在https://gtmetrix.com/在线测试网站缓存加速效果,以下是缓存前和缓存后的对比:
archived-performance-report
PS:由于未采用CDN,还有百度统计和搜狐畅言等脚本的影响,YSlow Score不尽人意,特别是测试文章页面时,畅言严重拖累了YSlow Score的分值。

遇到的问题和解决办法
启用W3 Total Cache插件之后,在网页的底部报如下错误:

Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /var/www/blog/wp-includes/functions.php on line 3598

解决办法:

//切换到WordPress安装目录,我的是/var/www/blog
[root@jianxiangqiao ~]# cd /var/www/blog
[root@jianxiangqiao blog]# vi wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php
//将如下行的“&$buffer”改为“$buffer”,我的在512行:
function ob_callback(&$buffer) {
//改完之后的结果
function ob_callback($buffer) {
//:wq!保存即可

刷新网页,问题解决!注意:此方法只能临时解决问题,升级W3 Total Cache插件之后可能需要再次修改。

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress