本教程介绍如何通过代码将 WordPress 网站的静态资源(如图片)托管至七牛云存储,利用其 CDN 网络加速访问,从而提升网站加载速度。
七牛云存储简介
七牛云存储(对象存储 OSS)专注于存储与分发网站的静态资源,如 CSS、JavaScript 和图片文件。将这些资源托管至七牛云的 CDN,可以有效降低服务器负载并显著提升用户访问速度。
对于个人博客或小型网站,七牛云为新用户提供 10GB 免费存储空间及每月 10GB 免费流量,基本可以满足需求。本文介绍无需插件、通过纯代码实现的方法。
代码实现
将以下代码添加至当前 WordPress 主题的 functions.php 文件末尾,并根据你的实际情况修改域名变量。
// 七牛云存储加速
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) {
$local_host = 'https://www.yoursite.com'; // 你的网站域名
$qiniu_host = 'https://img.yourcdn.com'; // 七牛云加速域名
$cdn_exts = 'png|jpg|jpeg|gif'; // 需加速的文件扩展名
$cdn_dirs = 'wp-content|wp-includes'; // 需加速的目录
if ($cdn_dirs) {
$regex = '/' . preg_quote($local_host, '/') . '\/((' . $cdn_dirs . ')\/[^\s?\'"&;>]*\.(' . $cdn_exts . '))([\'"\s?])/';
$html = preg_replace($regex, $qiniu_host . '/$1$4', $html);
} else {
$regex = '/' . preg_quote($local_host, '/') . '\/([^\s?\'"&;>]*\.(' . $cdn_exts . '))([\'"\s?])/';
$html = preg_replace($regex, $qiniu_host . '/$1$3', $html);
}
return $html;
}
}
配置与使用步骤
- 在七牛云官网注册并创建一个存储空间(Bucket)。
- 获取该存储空间对应的加速域名(即代码中的
$qiniu_host)。 - 将代码复制到主题的
functions.php文件末尾。 - 修改代码中的
$local_host和$qiniu_host变量为你的实际域名。 - 保存后,网站
wp-content和wp-includes目录下的图片链接将自动替换为七牛云加速链接。
注意: 此方法通过输出缓冲(Output Buffer)进行 HTML 链接替换,可能对性能有轻微影响。高流量站点或对性能要求严格的场景,建议考虑更高效的缓存方案或使用官方插件。