利用七牛云存储CDN服务给WordPress静态文件加速

WordPress 欲思 44评论

一般个人博客站的空间都不是太大,流量也是有限制的。如果网站的访问速度和存储空间不够的话,就需要花钱去升级虚拟主机了。不想花钱?那就看看七牛的免费cdn加速服务吧。

利用七牛云存储CDN服务给WordPress静态文件轻松加速

凭借 10G 流量 + 10G 存储的免费套餐,七牛云存储快速获得了大批的用户。其中 WordPress 博主占了不小的比例。我之前已经发过用七牛云存储加速wordpress运行的文章,但是写的不是很详细。下面我就详细说下怎么利用二级域名绑定七牛云存储建立自己的专用空间,让 WordPress 用上七牛云存储 CDN 加速服务。

第一步:创建七牛存储空间

首先,你得有一个七牛账号。点击这里去注册,立即享受每月 10G 流量 + 10G 存储的免费服务。

有了账号,我们需要建立一个公开空间。可以自定义命名。

创建七牛存储空间

第二步:设置七牛云存储空间

成功建立空间之后,打开该空间的【空间设置】页面。

设置七牛云存储空间

点击申请绑定域名,配置自定义域名,并输入已经准备好的二级域名和域名备案号,自定义域名需要七牛审核(是否备案)审核后需要三到四天的配置时间,等几天就行。没有备案的域名可以使用七牛自带的二级域名。

最后在【镜像存储】下,点击【一键加速网站】按钮,输入你要图片托管的博客地址即可。

到这里,七牛那边的设置已经完成了。也就是说,我们只需将 WordPress 输出的内容中,所有的 http://yusi123.com/ 域名替换为http://images.yusi123.com/ 就能实现 CDN 加速。

第三步:配置WordPress

这里有好几种方式可以实现七牛云存储加速wordpress静态文件功能。

1、非插件方法实现七牛加速wordpress

在 WordPress 主题目录下的 functions.php 文件中,加入以下代码实现替换功能:

if ( !is_admin() ) {
	add_action('wp_loaded','yusi123_ob_start');
	
	function yusi123_ob_start() {
		ob_start('yusi123_qiniu_cdn_replace');
	}
	
	function yusi123_qiniu_cdn_replace($html) {
		return str_replace('[这里填写博客路径]', '[这里填写七牛空间路径]', $html);
	}
}

以我的设置上传目录 wp-content/uploads/ 文件夹为例,路径就应该替换为如下代码:

return str_replace('http://yusi123.com/wp-content/uploads/', 'http://images.yusi123.com/wp-content/wp-uploads/', $html);

如果你需要更具体的范围控制(多目录、指定文件类型),可使用以下代码替换上面的yusi123_qiniu_cdn_replace部分:

//修改自七牛镜像存储 WordPress 插件
function yusi123_qiniu_cdn_replace($html){
	$local_host = 'http://yusi123.com'; //博客域名
        $qiniu_host = 'http://images.yusi123.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后台 设置->多媒体->文件的完整URL地址中设置你的图片上传路径。

路径设置如下:http://你的二级域名(七牛三级域名)/wp-content/uploads

设置之后基本就可以使用了(我就是使用的这种方法)。很便捷。

2、插件方法实现七牛加速wordpress

如果你的需求还包括加速远程图片或刷新缓存等,那么建议使用我爱水煮鱼的七牛镜像存储 WordPress 插件。当然还有一些其他个人开发的七牛插件,你也可以试试。不过我爱水煮鱼的插件是官方推荐的,也比较受欢迎。大家可以选择性使用。

最后非常重要的一点:

为了防止权重流失,不要忘记在七牛空间放一个robots.txt:

User-agent: *
Disallow: /
User-agent: Googlebot-Image
Allow: /
User-agent: Baiduspider-image
Allow: /

转载请注明:欲思博客 » 利用七牛云存储CDN服务给WordPress静态文件加速

如果你觉得这篇文章或者我分享的主题对你有帮助,请支持我继续更新网站和主题 !捐赠本站
喜欢 (88)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(44)个小伙伴在吐槽
  1. 你好,这个是实现wordpress附件加速,wordpress可不可以实现整站加速呢?为什么我没有看见有wordpress整站加速的博客啊?
    amazed2016-10-16 12:18 回复
    • 正是出于和你一样的想法,我的博客除了使用了“WP Super Cache”之外,还在使用着百度云加速,欢迎访问我的博客测试网站各个页面的打开速度!
  2. 路径设置如下:http://你的二级域名(七牛三级域名)/wp-content/uploads 这个方法好像不行了。。。
    mrjucn2016-09-30 18:57 回复
  3. 七牛的服务很不错
    鲜活2015-12-24 10:40 回复
  4. 七牛貌似会默认生成一个robots文件
    同盟源2015-05-28 19:32 回复
  5. 请问,我一个域名,但是没有虚拟主机,可以用七牛的网盘做博客吗?
    yuger2015-01-30 23:57 回复
  6. 已找到原因,非常不好意思。打扰了。是因为在迁移空间的时候,用原版的文件替换了timthumb.php,没有想起来。在其中添加我的域名和七牛的三级域名。叨扰了.....再次顶博主!博客很漂亮!谢谢
    塔欧安2014-11-26 18:20 回复
  7. 博主大大您好!非常喜欢您的博客!个人是个小白,通过修改 文件的完整URL地址 确实可以实现日志中的图片加速和缩略,但是发现在日志列表中显示的是叉叉....也没找到什么方案可以实现像您这样日志列表中正常显示图片的方法。我在使用您的模版的时候,仅仅对CSS的部分颜色和背景做了替换,应该不会影响这些。请您帮忙看看,不胜感激!
    塔欧安2014-11-26 17:43 回复
  8. 学习啦。。。。。。。。。
    itdog2014-11-18 16:50 回复
  9. 请问博主的数据库是在那个地方放着
    呆呆贼2014-11-15 14:23 回复
  10. 这个很不错,我的typecho也考虑用下
    Ray2014-09-22 14:13 回复
1 2