WordPress使用七牛云存储解决WP加速方案

2015/09/16

如何加速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是笔者用的比较多的。点金主题网也是使用这个方案。设置很简单:

qiniu

好处是可以加速背景图像

最后说明:

还有插件可以实现直接把图片上传到七牛,本地不保存。也就是直接使用七牛做图床。这个方案笔者不推荐,万一您不使用七牛,本地没有图片,就麻烦了。

所以建议使用本地也保存图片的方案。至于上面三种方案的选择,根据自己的需要。

 

One thought on “WordPress使用七牛云存储解决WP加速方案

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注