WordPress使用七牛云存储解决WP加速方案
如何加速wordpress站点,是wordpress站长们孜孜以求的问题。其中wordpress结合七牛云存储就是其中一个很好的解决方案。但是如何结合,却有多种解决方案。主要是非插件方案和插件方案。而插件方案又分使用国人插件和国外缓存插件方案。下面我们就来详细讲一下这几种方案的选择:
本文的前台是您已经在七牛云储存注册了账号并开启了加速,如果没有,请点下面:
本文涉及的内容包括:
注册七牛云存储并开启加速
在注册并开启后,就可以往下看了。
一、wordpress使用七牛云存储的非插件方案
在 WordPress 主题目录下的 functions.php
文件中,加入以下代码实现替换功能【下面代码来自小影志http://c7sky.com/博客,特此感谢】:
if ( !is_admin() ) {
add_action('wp_loaded','c7sky_ob_start');
function c7sky_ob_start() {
ob_start('c7sky_qiniu_cdn_replace');
}
function c7sky_qiniu_cdn_replace($html) {
return str_replace('[这里填写博客路径]', '[这里填写七牛空间路径]', $html);
}
}
如果你需要更具体的范围控制(多目录、指定文件类型),可使用以下代码替换上面的c7sky_qiniu_cdn_replace
部分:
//修改自七牛镜像存储 WordPress 插件
function c7sky_qiniu_cdn_replace($html){
$local_host = 'http://c7sky.com'; //博客域名
$qiniu_host = 'http://c7sky.u.qiniudn.com'; //七牛域名
$cdn_exts = 'js|css|png|jpg|jpeg|gif|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;
}
至此就可以使用七牛云储存加速您的网站了。
这个方案的优点是无需安装插件,缺点是无法加速远程图片或刷新缓存。
二、wordpress使用七牛镜像存储 WordPress 插件
七牛镜像存储 WordPress 插件是专门为使用七牛加速wordpress开发的。这款插件可以方便的加速远程图片或刷新缓存。里面提供了较多的设置,包括水印等。
这个插件主要包含以下功能:
- 一键将 WordPress 的静态资源镜像到七牛
- 支持将远程图片也保存并镜像到七牛
- 使用七牛数据处理功能给图片设置水印
- 在 WordPress 后台直接更新数据
- 支持设置分类,标签缩略图,日志缩略图获取更完善
- 还提供一批带缩略图的相关日志,最新日志,最热日志的日志列表
作者还提供了详细的使用文档:http://vdisk.weibo.com/s/BUfO835D7FJ5f。
至此一切都显得很完美。似乎是不二之选。但是这个插件笔者测试页存在一个问题:
如果wordpress使用可视化编辑器如js_composer插件或者部分幻灯片插件,图片使用了背景图像的方式,无法同步到七牛。
所以笔者只能忍痛割爱。
三、wordpress使用wp super cache 插件
wordpress现在很多缓存插件都可以开启CDN加速,如其中佼佼者w3和wp super cache。w3没有亲测,在此不予评论。wp super cache是笔者用的比较多的。点金主题网也是使用这个方案。设置很简单:
好处是可以加速背景图像。
最后说明:
还有插件可以实现直接把图片上传到七牛,本地不保存。也就是直接使用七牛做图床。这个方案笔者不推荐,万一您不使用七牛,本地没有图片,就麻烦了。
所以建议使用本地也保存图片的方案。至于上面三种方案的选择,根据自己的需要。
方法实用。[呵呵]