wordpress使用CDN加速优化后台静态文件

玩技站长
玩技站长
玩技站长
管理员, Keymaster
10735
文章
669
评论
运维笔记评论186字数 656阅读2分11秒阅读模式

什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。——百度百科

wordpress使用CDN加速优化后台静态文件插图前端静态化,这无可厚非,但问题在于WordPress的后台。WordPress后台一般开放于权限更高的用户,当然有些WordPress网站后台也会直接对普通用户开放。WordPress后台与前台的不同在于后台是动态的。由于WordPress后台可以对整个网站进行调整,因此后台作为动态页面亦无可厚非。但问题就在于,即便使用了全站CDN,在访问WordPress后台时,为了保证动态访问,所有的js、css等小文件都是根据每次访问而请求一次的。这无疑加剧了网站服务器的开销,比如随便的一个WordPress网站后台,居然有上百个小文件请求:文章源自玩技e族-https://www.playezu.com/447031.html

那么有没有办法把一些小文件不再从源服务器请求?当然是有的,但这里要考虑一些问题:文章源自玩技e族-https://www.playezu.com/447031.html

  1. 从CDN请求后,小文件能不能随着WordPress的版本更新而即时更新?
  2. 这些小文件对WordPress后台的运行至关重要,CDN是否有被投毒的风险?

jsdelivr加速规则

Load any GitHub release, commit, or branch:文章源自玩技e族-https://www.playezu.com/447031.html

https://cdn.jsdelivr.net/gh/user/repo@version/file

Load any plugin from the WordPress.org plugins SVN repo:文章源自玩技e族-https://www.playezu.com/447031.html

https://cdn.jsdelivr.net/wp/plugins/project/tags/version/file

上述规则不仅可以加速GitHub内容,还能加速WordPress的插件内容。现在有了基础,就要提到WP-China-Yes插件的一个后台加速功能了。文章源自玩技e族-https://www.playezu.com/447031.html

加速后台代码

以下是来自插件WP-China-Yes的后台加速代码:文章源自玩技e族-https://www.playezu.com/447031.html

add_action('init', function () {
    ob_start(function ($buffer) {
        return preg_replace('~'.home_url('/').'(wp-admin|wp-includes)/(css|js)/~', sprintf('https://a2.wp-china-yes.net/WordPress@%s/$1/$2/', $GLOBALS['wp_version']), $buffer);
    });
});

利用上述的jsdelivr的加速方式后,就是如下的加速代码:文章源自玩技e族-https://www.playezu.com/447031.html

add_action('init', function () {
     ob_start(function ($buffer) {
         $buffer = preg_replace('~'.home_url('/').'(wp-admin|wp-includes)/(css|js)/~', sprintf('//cdn.jsdelivr.net/gh/WordPress/WordPress@%s/$1/$2/', $GLOBALS['wp_version']), $buffer);
         return $buffer;
     });
 });

选择以上的两段代码其中之一直接放入主题/插件中即可立即生效。(注意:请勿对测试版加速!)后台访问速度直接翻翻!文章源自玩技e族-https://www.playezu.com/447031.html 文章源自玩技e族-https://www.playezu.com/447031.html

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证