Cloudflare 是全球最受欢迎的 CDN(内容分发网络)与网络安全服务——免费使用,能让 WordPress 网站加载更快、减少带宽消耗、抵御 DDoS 攻击,并自动提供免费 SSL 证书。本指南将带您从零开始完成全套设置,逐步走过域名服务器配置、SSL 模式选择、缓存规则设定等每一个关键步骤。
1. 认识 Cloudflare CDN 及其工作原理
CDN(内容分发网络,Content Delivery Network)是由遍布全球的服务器构成的网络。当访客打开您的 WordPress 网站时,Cloudflare 会从距离访客最近的边缘服务器(Edge Server)提供静态文件(图片、CSS、JavaScript),而不是每次都从您的托管服务器直接获取所有内容。这个过程看似简单,却能带来显著的性能提升和成本节约。
Cloudflare 作为反向代理工作,这意味着它坐在您的访客与您的源服务器之间。当用户请求页面时,请求先到达 Cloudflare 的全球网络,Cloudflare 判断这个内容是否已缓存,如果已缓存就直接返回;如果没有缓存,才会转发给您的源服务器,获取内容后缓存并返回给用户。这种做法不仅加快了用户的访问速度,还显著减少了源服务器的负载。
使用 Cloudflare 的核心优势:
- 页面加载更快 — 静态资源从距离访客最近的边缘节点提供,延迟大幅降低
- 减少带宽消耗 — 大量请求由 Cloudflare 缓存响应,源站带宽消耗可降低 50-70%
- DDoS 防护 — Cloudflare 在恶意流量到达您的服务器之前进行过滤和清洗
- 免费 SSL 证书 — 为每个域名自动提供通用 SSL 证书,无需额外购买
- 始终在线(Always Online) — 即使您的源服务器临时宕机,Cloudflare 也能提供缓存版本的网页
- Bot 管理 — 识别和阻止恶意爬虫,同时允许合法的搜索引擎爬虫访问
2. 注册 Cloudflare 并添加您的域名
设置 Cloudflare 的第一步是创建账户并添加您的域名。这个过程通常只需要 5-10 分钟完成。
- 前往 cloudflare.com 点击「Sign Up」创建免费账户
- 使用电子邮件和密码注册,或通过 Google/GitHub 快速登录
- 登录后点击 「Add a Site」 或 「Add Domain」
- 输入您要保护的域名(例如 example.com,不需要输入 www 前缀)
- 选择 「Free Plan」(免费套餐对大多数 WordPress 网站已足够)
- Cloudflare 会自动扫描您现有的 DNS 记录——这个过程通常需要 1-2 分钟
- 仔细检查导入的 DNS 记录,特别要确保:
- A 记录(指向您主机的 IP 地址)已正确导入
- MX 记录(邮件服务器记录)完整无缺
- 其他重要的 DNS 记录(如 TXT 记录用于验证)已导入
- 复制 Cloudflare 提供的 2 个域名服务器地址,格式通常是
xxx.ns.cloudflare.com和yyy.ns.cloudflare.com
3. 在域名注册商处更换域名服务器
这是整个设置过程中最关键的一步。您需要告诉您的域名注册商(无论是 AsiaGB、GoDaddy、Namecheap 还是其他注册商)将 DNS 解析权转交给 Cloudflare。
详细步骤:
- 登录您的域名注册商账户(例如 AsiaGB 的管理面板)
- 找到您要设置的域名,进入该域名的 DNS 设置或域名管理页面
- 找到「域名服务器(Nameservers)」或「Name Servers」设置选项
- 删除旧的域名服务器地址(通常有 2-3 个)
- 输入 Cloudflare 提供的 2 个新的域名服务器地址
- 保存更改——这个操作很重要,必须确认保存
- 回到 Cloudflare 管理界面,点击 「Done, check nameservers」 让 Cloudflare 验证
DNS 生效时间(Propagation):域名服务器更改通常需要 15 分钟至 24 小时才能在全球 DNS 系统中完全生效。但在大多数情况下,您会在 30-60 分钟内看到变化。这期间您的网站仍然可以正常访问和使用,不会造成任何停机。可以在 whatsmydns.net 输入您的域名来实时查看 DNS 传播进度。
4. 配置 SSL 模式:选择正确的加密方式
SSL 模式是 Cloudflare 与您的源服务器之间通信的加密方式。选择错误的模式会导致访问错误或安全问题,因此这一步必须正确理解。
Cloudflare 提供三种 SSL 模式,从低到高的安全性排列如下:
| 模式 | 安全性 | 适用场景 | 说明 |
|---|---|---|---|
| 灵活(Flexible) | 低 | 您的源服务器上没有 SSL | 访客到 Cloudflare 使用 HTTPS,但 Cloudflare 到源站使用 HTTP(不加密)。不推荐用于包含敏感数据的网站。 |
| 完全(Full) | 中等 | 源服务器有 SSL,可以是自签名证书 | 访客到 Cloudflare 和 Cloudflare 到源站的连接都加密,但不验证证书有效性。可用于内部测试环境。 |
| 完全(严格)Full (Strict) | 最高 | 源服务器有由受信任的 CA 颁发的有效 SSL 证书(推荐) | 完整的端到端加密,Cloudflare 验证源站证书的真实性和有效性。这是最安全的选项,应该作为首选。 |
对于 AsiaGB Hosting 用户:AsiaGB 在所有主机套餐上都包含来自 Let's Encrypt 的免费 SSL 证书,并通过 DirectAdmin 控制面板自动管理。因此,我们强烈推荐设置为 「Full (Strict)」模式,这样可以获得最高级别的安全性。
⚠️ 避免重定向循环错误:这是一个常见的陷阱——如果您的 WordPress 网站已经启用了 SSL(HTTPS),但错误地将 Cloudflare 设置为「灵活」模式,就会导致重定向循环错误(ERR_TOO_MANY_REDIRECTS)。原因是 WordPress 被配置为强制 HTTPS,而 Cloudflare 以 HTTP 连接源站,两者产生冲突。解决办法是将 SSL 模式改为「完全」或「完全(严格)」。
5. 为 WordPress 安装并配置 Cloudflare 插件
虽然 Cloudflare 在 DNS 层面工作不需要特殊插件,但安装 WordPress 插件可以让集成更顺畅,功能更完善。
选项 1:使用 Cloudflare 官方插件(推荐)
- 在 WordPress 后台进入「插件」→「安装插件」
- 搜索「Cloudflare」,找到官方的 Cloudflare 插件(由 Cloudflare Inc. 开发)
- 点击「安装」然后「激活」
- 返回到插件设置页面,输入您的 Cloudflare 账户电子邮件和 API 密钥
- 可以在 API 密钥选项中找到您的密钥,或在 Cloudflare 账户设置中生成新的
- 启用「自动清除缓存」选项,这样当您发布或更新文章时,Cloudflare 的缓存会自动清除
选项 2:手动配置源 IP 识别
如果您不想安装插件,可以在 wp-config.php 文件中添加以下代码。这样做的目的是让 WordPress 能够正确识别访客的真实 IP 地址,而不是 Cloudflare 边缘节点的 IP。
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
将这段代码添加到 wp-config.php 文件的末尾(在 /* That's all, stop editing! */ 这行之前)。
选项 3:使用第三方缓存插件集成
流行的 WordPress 缓存插件如 WP Rocket、LiteSpeed Cache 和 WP Super Cache 都内置了与 Cloudflare 的集成。这些插件不仅可以管理您本地的 PHP 缓存,还能自动清除 Cloudflare 的缓存。选择这个选项可以实现最全面的缓存管理。
6. 为 WordPress 设置页面规则和缓存规则
页面规则允许您为特定的 URL 或路径设置不同的 Cloudflare 行为,这对于 WordPress 网站尤其重要,因为并不是所有内容都应该被缓存。
推荐的页面规则设置
| URL 模式 | 缓存设置 | 目的 | 说明 |
|---|---|---|---|
yourdomain.com/wp-admin/* |
缓存级别:绕过 | 不缓存后台管理页面 | WordPress 管理界面必须实时加载,缓存会导致数据不一致 |
yourdomain.com/wp-login.php |
缓存级别:绕过 | 不缓存登录页面 | 登录页面涉及用户认证,不能使用缓存 |
yourdomain.com/*.php |
缓存级别:绕过 | 不缓存所有 PHP 动态页面 | 确保 PHP 脚本总是被实时执行,避免缓存导致的功能异常 |
yourdomain.com/wp-content/uploads/* |
缓存级别:缓存所有 | 缓存上传的媒体文件 | 图片和文件等静态资源应该被积极缓存以提升速度 |
针对 WooCommerce 在线商店的额外规则
如果您的 WordPress 网站运行 WooCommerce 电商插件,需要额外配置这些路径:
yourdomain.com/cart/*→ 缓存级别:绕过(购物车是个人化的)yourdomain.com/checkout/*→ 缓存级别:绕过(结账页面包含敏感的支付信息)yourdomain.com/my-account/*→ 缓存级别:绕过(用户账户页面是个人化的)yourdomain.com/order-received/*→ 缓存级别:绕过(订单确认页面不能缓存)
7. 使用 Cloudflare Cache Rules 实现高级缓存控制
Cloudflare Cache Rules 是一个比 Page Rules 更灵活的功能,允许您基于更复杂的条件设置缓存行为。这对于优化 WordPress 性能特别有用。
设置推荐的 Cache Rules:
- 登录 Cloudflare 管理面板,进入您的域名
- 进入「Caching」→「Cache Rules」菜单
- 创建新 Rule 1:跳过已登录用户的缓存
- 条件:当 Cookie 包含
wordpress_logged_in时 - 操作:Cache Level 设为 Bypass(绕过)
- 目的:已登录的 WordPress 用户看到的内容是个人化的,不应该使用通用缓存
- 条件:当 Cookie 包含
- 创建新 Rule 2:长期缓存静态资源
- 条件:URI Path 包含
/wp-content/uploads/(媒体文件) - 操作:Edge TTL 设为 30 天或更长
- 目的:已上传的媒体文件很少变化,应该被长期缓存
- 条件:URI Path 包含
- 创建新 Rule 3:对首页和存档页应用标准缓存
- 条件:URI Path 不包含
/wp-admin/和.php - 操作:Cache Level 设为 Standard,Edge TTL 设为 1 小时
- 目的:主要内容页面应该被缓存,但不会太久以确保更新的文章能快速显示
- 条件:URI Path 不包含
8. 清除缓存——在发布或更新内容时
每当您在 WordPress 上编辑、发布或更新内容时,应该清除相关的 Cloudflare 缓存,以确保访客能够看到最新版本。
有三种清除缓存的方式:
- 从 Cloudflare 控制面板:进入 Caching → Purge Cache → 选择「Purge Everything」清除所有缓存(最彻底但可能暂时影响性能)或「Custom Purge」清除特定 URL
- 从 WordPress 插件:如果安装了 Cloudflare 官方插件,wp-admin 工具栏中会出现快速清除按钮
- 自动清除:WP Rocket、LiteSpeed Cache 等第三方缓存插件可以在您发布新文章时自动清除 Cloudflare 缓存,省去手动操作
9. 优化 WordPress 与 Cloudflare 的配合
为了获得最佳性能,还有一些额外的设置需要调整。
启用 Rocket Loader 加速 JavaScript
Cloudflare 的 Rocket Loader 功能能够延迟加载 JavaScript,使初始页面加载更快。在 Cloudflare 控制面板的 Speed 设置中启用此功能。注意:某些复杂的 JavaScript 可能与 Rocket Loader 不兼容,如果出现功能异常可以禁用。
启用自动缩小化(Auto Minify)
Cloudflare 可以自动缩小您的 CSS、JavaScript 和 HTML 文件,移除不必要的字符来减少文件大小。这个功能通常很安全,可以放心启用。
启用 Brotli 压缩
Brotli 是一种比 Gzip 更高效的压缩算法。Cloudflare 自动支持 Brotli,只需在浏览器支持的情况下启用,可以进一步减少传输的数据量。
10. 监控性能与故障排除
设置完成后,您应该监控网站的性能,看看是否达到了预期的改进。
使用 Cloudflare Analytics 分析数据
Cloudflare 提供免费的 Analytics 面板,显示您的流量统计、缓存命中率、DDoS 攻击防护等信息。如果发现缓存命中率低于 50%,可能需要调整缓存规则。
使用 Google PageSpeed Insights
访问 pagespeed.web.dev 输入您的 WordPress 网站 URL,可以获得 Google 对性能的评分和改进建议。通常,使用 Cloudflare 后性能分数会有明显提升。
常见问题解决
- 网站显示旧内容:这通常是因为 Cloudflare 缓存了陈旧的版本。解决办法是通过 Cloudflare 面板或插件手动清除缓存。
- 登录后仍看到未登录的内容:检查是否正确设置了跳过已登录用户的缓存规则。
- 某些 JavaScript 功能不工作:尝试在 Cloudflare 的 Speed 设置中禁用 Rocket Loader。
- 图片显示不正常:可能是 Cloudflare 的 Image Optimization 与您的插件冲突。尝试禁用 Image Optimization 测试。
总结:Cloudflare CDN 是 WordPress 网站最具成本效益的性能优化工具。完整设置只需要 30-60 分钟,但带来的收益是长期的:网站加载速度更快(特别是对国际访客),源站带宽消耗减少 50-70%,安全性大幅提升,而且完全免费。即使是最小的 WordPress 网站也值得部署 Cloudflare。
需要一个完全支持 Cloudflare 的 WordPress 主机?
AsiaGB 主机完全兼容 Cloudflare,所有套餐都包含来自 Let's Encrypt 的免费 SSL 证书,通过 DirectAdmin 控制面板即可管理。您可以从第一天起就使用「完全(严格)」SSL 模式,充分发挥 Cloudflare 的安全性优势。
查看主机套餐 →