Using CDN with WordPress to improve website speed

根据 Google 研究,WordPress 网站加载时间超过 3 秒,将流失超过 53% 的访客。Google 还将 Core Web Vitals 纳入排名因素,使网站速度成为直接影响 SEO 的信号。CDN(内容分发网络)已成为任何追求出色性能的 WordPress 网站的必备工具。

本指南将解释什么是 CDN、为何它能加速 WordPress,并逐步带您完成 Cloudflare CDN 的设置——包括与主流缓存插件的集成以及自动缓存清除配置。

WordPress 环境中的 CDN 是什么?

CDN 是由全球分布式服务器组成的网络,这些服务器存储网站的静态文件缓存副本——图片、CSS、JavaScript——并从距离访客地理位置最近的服务器向其分发内容。

举例说明:如果您的 WordPress 托管在曼谷,但有来自日本的访客,在没有 CDN 的情况下,他们需要从曼谷获取文件(延迟较高)。有了 CDN,文件副本存放在东京的数据中心,加载速度将大幅提升。

CDN 为何能让 WordPress 更快

一个典型的 WordPress 网站包含大量静态文件——图片、字体、CSS、JavaScript——每次页面加载都需要请求这些文件。CDN 从三个关键方面提供帮助:

实测数据:在中等规模 WordPress 网站上测试 Cloudflare CDN,国际访客的平均页面加载时间可减少 40–60%。

CDN 与 Core Web Vitals:SEO 关联

Google 确认 Core Web Vitals 自 2021 年起成为排名信号,并在 2026 年持续发挥重要作用。CDN 直接改善 WordPress 网站的三项 Core Web Vitals 指标。

最大内容绘制(LCP)

LCP 衡量页面最大可见元素(通常是首屏图片或主标题)加载所需的时间,目标是 LCP ≤ 2.5 秒。CDN 通过以下方式改善 LCP:

首次输入延迟(FID)/ 与下一次绘制的交互(INP)

CDN 通过从边缘缓存更快地提供预压缩 JS 文件,有助于减少 JavaScript 执行时间,从而更快地释放浏览器主线程。良好的 INP 分数为 ≤ 200ms。

累积布局偏移(CLS)

CDN 不直接修复 CLS,但从边缘缓存更快地分发字体和 CSS,可让浏览器更早计算出正确的布局,减少因字体延迟加载引起的布局偏移。

PageSpeed 提示:在 Google PageSpeed Insights 中,留意"使用高效的缓存策略提供静态资源"。如果您的 CDN 配置正确,静态资源应显示至少一年(31,536,000 秒)的 Cache-Control 头。

WordPress 主流免费 CDN 选项

1. Cloudflare(免费——最推荐)

Cloudflare 是 WordPress 最受欢迎的 CDN,因为其免费套餐包含 CDN、DDoS 防护、SSL、防火墙,甚至在泰国曼谷设有边缘服务器。

2. BunnyCDN(高流量最具性价比)

BunnyCDN 提供按需付费定价,约 $0.01/GB,无月度最低消费。适合希望通过 Pull Zone 使用 CDN 而无需更改名称服务器的网站。

3. Statically(静态资源免费)

Statically 是完全免费的 CDN,专注于图片、CSS 和 JS 等静态资源。无需注册——只需将资源 URL 改为通过 CDN 端点即可。

CDN 选项对比:2026 年概览

在选择 CDN 之前,请对比功能和定价,以匹配网站需求。下表总结了 WordPress 网站的主要 CDN 选项:

CDN 价格 亚洲节点 配置方式 适合对象
Cloudflare 免费版 免费 曼谷(BKK PoP) 更改 NS 各类网站
BunnyCDN $0.01–0.03/GB 新加坡 Pull Zone URL 高流量网站
Statically 免费 多个亚洲节点 重写 URL 小型静态网站
KeyCDN $0.04/GB(亚洲) 新加坡、东京 Pull/Push Zone 开发者

对于在泰国 AsiaGB 主机上托管的 WordPress 网站,Cloudflare 免费版是首选推荐。曼谷节点为泰国用户提供极低的延迟,且完全免费。

逐步指南:为 WordPress 设置 Cloudflare CDN

第一步:创建 Cloudflare 账户并添加域名

  1. 前往 cloudflare.com 注册免费账户
  2. 点击添加网站并输入您的域名,例如 example.com
  3. 选择免费套餐
  4. Cloudflare 会自动扫描您现有的 DNS 记录——请确认全部正确

第二步:更改名称服务器

Cloudflare 会提供两个新的名称服务器,例如 aria.ns.cloudflare.com 和 brad.ns.cloudflare.com。请在您的域名注册商处更新这些记录。

  1. 登录注册商(如 AsiaGB、Namecheap)
  2. 进入域名的 DNS / 名称服务器设置
  3. 将名称服务器替换为 Cloudflare 提供的两个值
  4. 等待 1–48 小时让 DNS 传播生效(通常更快)

重要提示:更改名称服务器前,请确认 Cloudflare 已正确导入所有 DNS 记录——尤其是电子邮件的 MX 记录。缺少 MX 记录将在更改名称服务器后导致收件中断。

第三步:配置 SSL/TLS 模式

在 Cloudflare 控制面板中,前往 SSL/TLS → 概述并选择正确的模式:

第四步:为 WordPress 配置缓存规则

Cloudflare 默认不缓存动态 PHP 内容,但会自动缓存图片和静态文件。添加页面规则或缓存规则以跳过 WordPress 后台的缓存:

# 页面规则:为 WordPress 后台跳过缓存
# URL 匹配模式:
yourdomain.com/wp-admin/*
# 设置:
Cache Level: Bypass

# 页面规则:为静态文件启用强缓存
yourdomain.com/wp-content/*
# 设置:
Cache Level: Cache Everything
Edge Cache TTL: 1 month

第五步:启用实用的 Cloudflare 功能

为 WordPress CDN 正确配置缓存头

要使 CDN 发挥良好效果,源服务器必须返回正确的 Cache-Control 头。没有这些头,CDN 要么根本不会缓存内容,要么缓存时间过短。

检查当前缓存头

使用 curl 检查源站的响应头:

curl -I https://yourdomain.com/wp-content/themes/mytheme/style.css

缓存插件配置正确时,您应该看到以下头信息:

Cache-Control: public, max-age=31536000
Expires: [未来一年的日期]
Vary: Accept-Encoding

通过 .htaccess 设置缓存头

如果插件没有自动设置头信息,请将以下内容添加到 WordPress 的 .htaccess 文件中:

<IfModule mod_expires.c>
  ExpiresActive On
  # 图片:缓存 1 年
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/png  "access plus 1 year"
  # CSS / JavaScript:缓存 1 个月
  ExpiresByType text/css              "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"
  # 字体:缓存 1 年
  ExpiresByType font/woff2 "access plus 1 year"
</IfModule>

<IfModule mod_headers.c>
  # 为静态文件强制启用公共缓存
  <FilesMatch "\.(css|js|jpg|jpeg|webp|png|gif|svg|woff2)$">
    Header set Cache-Control "public, max-age=31536000"
  </FilesMatch>
  # 永不缓存 PHP(动态内容)
  <FilesMatch "\.php$">
    Header set Cache-Control "no-cache, no-store, must-revalidate"
  </FilesMatch>
</IfModule>

重要提示:更新 CSS/JS 文件时务必使用版本号或缓存破坏机制。例如,在 URL 后追加 ?ver=2.1。若启用了一年缓存却未添加版本号,访客将继续看到旧文件,直到缓存自然过期。

验证 CDN 缓存状态

配置完成后,验证 Cloudflare 缓存是否生效:

curl -I https://yourdomain.com/wp-content/themes/mytheme/style.css | grep -i "cf-cache"
# cf-cache-status: HIT   → CDN 缓存正常工作
# cf-cache-status: MISS  → CDN 尚未缓存(首次请求)
# cf-cache-status: BYPASS → CDN 跳过缓存(检查页面规则)

与 CDN 配合使用的 WordPress 插件

LiteSpeed Cache(推荐用于 AsiaGB 主机)

LiteSpeed Cache 与 LiteSpeed Web 服务器(AsiaGB 主机使用)配合最佳,内置支持 Cloudflare 等 CDN 的集成。

WP Rocket(付费版——功能最全面)

WP Rocket 是最受欢迎的付费缓存插件,全面集成 Cloudflare、BunnyCDN 等 CDN,配置简便,性能持续优于大多数免费替代品。

WordPress 更新后清除 CDN 缓存

发布或更新文章后,CDN 可能仍在提供旧版缓存内容。您需要清除缓存,让 CDN 从源站获取最新内容。

通过 Cloudflare 控制面板清除

  1. 登录 Cloudflare 并选择您的域名
  2. 前往缓存 → 配置
  3. 点击清除所有内容或自定义清除来清除特定 URL

通过插件自动清除

LiteSpeed Cache 和 WP Rocket 均支持 Cloudflare API 集成,可在每次文章发布或更新时自动清除缓存。

WordPress 常见 CDN 问题及解决方案

为 WordPress 设置 CDN 时可能遇到意想不到的问题。提前了解最常见的问题及其解决方案,将节省大量排查时间。

问题一:混合内容警告(HTTP + HTTPS)

启用带 HTTPS 的 Cloudflare CDN 后,浏览器有时会显示"混合内容"警告,因为 WordPress 仍通过 HTTP 加载部分资源。

问题二:重定向循环(ERR_TOO_MANY_REDIRECTS)

当 Cloudflare SSL 模式设置为"灵活"而源站已有 SSL 时,通常会发生此问题。

问题三:WordPress 后台加载缓慢或无法登录

这是因为 Cloudflare 缓存了后台页面。

问题四:更新的图片仍显示旧版本

CDN 已缓存旧图片,不会自动从源站获取更新后的版本。

问题五:电商结账问题

WooCommerce 结账或支付页面可能因 CDN 缓存了这些动态页面而出现故障。

使用 PageSpeed Insights 衡量优化效果

配置 CDN 后,使用 Google PageSpeed Insights(pagespeed.web.dev)或 GTmetrix 对比优化前后的数据。

启用 CDN 后需重点关注的指标:

专业提示:打开 Chrome 开发者工具 → 网络标签,检查 CSS/JS 文件的响应头。如果看到 cf-cache-status: HIT,说明 Cloudflare CDN 正常工作。

支持 Cloudflare CDN 的快速 WordPress 主机

AsiaGB 主机完全支持 Cloudflare CDN,采用 DirectAdmin、SSD 存储、免费 SSL 和 99% 在线率。起步价 500 泰铢/年,无隐藏费用。

查看主机套餐 →