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

时间:2021-09-19 19:11:30

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

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

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

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

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

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

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

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

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

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

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

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

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

第三步:配置WordPress

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

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

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

  
  
 
 
  1. if ( !is_admin() ) {
  2. add_action('wp_loaded','yusi123_ob_start');
  3. function yusi123_ob_start() {
  4. ob_start('yusi123_qiniu_cdn_replace');
  5. }
  6. function yusi123_qiniu_cdn_replace($html) {
  7. return str_replace('[这里填写博客路径]', '[这里填写七牛空间路径]', $html);
  8. }
  9. }

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

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

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

  
  
 
 
  1. //修改自七牛镜像存储 WordPress 插件
  2. function yusi123_qiniu_cdn_replace($html){
  3. $local_host = 'http://yusi123.com'; //博客域名
  4. $qiniu_host = 'http://images.yusi123.com'; //七牛域名
  5. $cdn_exts = 'js|css|png|jpg|jpeg|gif|ico'; //扩展名(使用|分隔)
  6. $cdn_dirs = 'wp-content|wp-includes'; //目录(使用|分隔)
  7.  
  8. $cdn_dirs = str_replace('-', '\-', $cdn_dirs);
  9.  
  10. if ($cdn_dirs) {
  11. $regex = '/' . str_replace('/', '\/', $local_host) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
  12. $html = preg_replace($regex, $qiniu_host . '/$1$4', $html);
  13. } else {
  14. $regex = '/' . str_replace('/', '\/', $local_host) . '\/([^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
  15. $html = preg_replace($regex, $qiniu_host . '/$1$3', $html);
  16. }
  17. return $html;
  18. }

还有一种更简单的方法:

直接在wordpress后台 设置->多媒体->文件的完整URL地址中设置你的图片上传路径。

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

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

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

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

最后非常重要的一点:

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

  
  
 
 
  1. User-agent: *
  2. Disallow: /
  3. User-agent: Googlebot-Image
  4. Allow: /
  5. User-agent: Baiduspider-image
  6. Allow: /