在Cloudways新建的WordPress网站,默认已经装好了免费的Breeze缓存插件。但有些人已经买了WP Rocket,或者习惯用WP Rocket,就会问:
- Cloudways上能不能用WP Rocket?
- Breeze和WP Rocket能不能同时装?
- 换成WP Rocket要怎么设置,才不会和服务器缓存打架?
- 用了Cloudflare,还要不要留着Breeze?
本文按Cloudways官方帮助文档,把这几个问题讲清楚。Breeze本身怎么配置,在《Cloudways网站怎么加速?》里已经讲过,这里不重复。
本文按Cloudways官方帮助文档整理,文中带标注的截图来自官方文档。官方的WP Rocket教程部分步骤比较旧(还把W3 Total Cache写成默认缓存插件),本文已按现在的默认情况做了说明,界面以你实际看到的为准。
先说结论
| 你的情况 | 建议 |
|---|---|
| 没特别需求,网站在Cloudways上新建 | 直接用预装的Breeze,免费,官方推荐 |
| 已经买了WP Rocket,想用 | 可以用,官方支持,但要按下面的步骤处理Varnish和Cloudflare |
| 同时用Breeze和WP Rocket做页面缓存 | 不要。两套缓存插件同时工作会冲突 |
| 用Cloudways的Cloudflare Enterprise,并且想用WP Rocket | Breeze要留着,但把Breeze所有缓存和优化选项关掉 |
官方在《Which WordPress Cache Plugin Should I Use?》里列出的Cloudways支持的缓存插件有三个:Breeze(Cloudways自己开发,官方推荐)、WP Rocket(付费)、W3 Total Cache(免费但配置对新手有难度)。
我们的建议:不确定就用Breeze。WP Rocket功能更多,但要付费,也多了配置的环节。
Breeze到底是什么?有什么用?
Breeze是Cloudways开发的免费插件,官方说明:
- 它是Cloudways的默认WordPress缓存插件,WordPress、WooCommerce和多站点新建时都预装,默认已经启用并配好了推荐设置;
- 支持页面缓存、Gzip、浏览器缓存、代码压缩合并、数据库优化、CDN接入和Varnish;
- 和Cloudways平台100%兼容。

Breeze还有一个容易被忽略的作用:通知Varnish清缓存。
Cloudways的服务器上默认有Varnish缓存。官方说明,不装Breeze(或类似的插件),Varnish发现不了网站内容有没有变化,会一直返回旧内容,直到缓存过期(默认4小时)或者手动清除。装了Breeze,在你发布、更新、删除文章和页面,或者启用、停用插件和主题时,会自动清除对应的Varnish缓存。
所以换WP Rocket时,必须让WP Rocket也能通知Varnish,这是下面配置里最关键的一步。
换成WP Rocket,怎么做?
第一步:处理掉Breeze
官方的步骤要求先把已有的缓存和优化插件都停用并删除,避免冲突。对应到现在的情况:
- 没有用Cloudways的Cloudflare Enterprise:停用并删除Breeze;
- 用了Cloudflare Enterprise的Smart Cache Purge:Breeze要保持安装和启用,但要把Breeze里所有缓存和优化的设置关掉。官方说明,在Cloudways后台配置Smart Cache Purge时,会自动安装Breeze(如果没装)并关掉所有配置,避免和你的缓存插件冲突。
第二步:安装并启用WP Rocket
- 到WP Rocket官网购买,下载zip安装包;
- 登录WordPress后台,「插件」→「安装插件」→「上传插件」,上传zip并启用;
- WP Rocket的授权在启用时自动验证,不需要填API密钥。
启用之后,页面缓存是默认开启的;浏览器缓存、GZIP等规则会自动写进.htaccess。
第三步:开启Varnish自动清除
Cloudways的服务器默认启用了Varnish。进入WP Rocket设置的「Varnish」页签,勾选「Enable the Varnish caching auto-purge」。

官方说明,勾选之后,WP Rocket每次清缓存时,会一并清除Varnish缓存,不需要再装Varnish HTTP Purge这类插件。Cloudways也提供OPCache,WP Rocket的后台顶部工具栏会出现「Purge OPCache」的链接。
第四步:压缩合并和Varnish冲突时,加一条排除
WP Rocket的CSS/JS压缩合并,和Cloudways的Varnish一起用的时候,官方的建议是在WP Rocket的排除URL里加一条:
/(.*)/?f=(.*)
这样压缩合并才能正常运行。(官方页面上这条规则的星号可能显示不全,如果配置时有疑问,以WP Rocket的官方文档为准。)
第五步:延迟加载和压缩,开了要检查
LazyLoad(图片延迟加载)和压缩合并,开启之后要在未登录的浏览器窗口里检查网站是否正常。有问题的话关掉对应选项,清除缓存,网站就恢复了。
用了Cloudflare,缓存怎么处理?
要不要关掉缓存插件?
官方说明,启用Cloudflare不需要关掉Breeze或WP Rocket。
Cloudflare橙色云朵开着时,Varnish会被绕过
Cloudflare作为反向代理(橙色云朵)工作时,如果Cloudflare有缓存,会直接返回缓存的内容,不会到达服务器的Varnish。这是正常现象。只有Cloudflare没有缓存时,请求才会到Varnish。
所以网站更新之后,除了清WP Rocket的缓存,Cloudflare的缓存也要清除。官方的建议:
- Cloudflare的缓存规则在Cloudflare后台设置,同时检查WP Rocket的设置有没有和它重复;
- Cloudflare Enterprise版本支持自动清除缓存;如果WP Rocket没有这个功能,更新网站之后要手动清除。
免费Cloudflare的接入和缓存设置,见《Cloudways怎么用免费Cloudflare?》。
用了代理,Varnish清除可能不生效
官方指出,在Cloudflare这类代理后面,WP Rocket清除Varnish可能无效,需要添加一段代码,告诉WP Rocket清除请求要发给哪个主机:
- 在
wp-content目录里新建一个文件夹,名字叫mu-modules(不是其他名字); - 新建一个PHP文件,保存为
wp-rocket-varnish-purge-proxy.php,内容里的example.com改成你自己的域名:
<?php
/**
* Plugin Name: WP Rocket | Varnish purge behind proxy
*/
add_filter( 'rocket_varnish_purge_request_host', '__rocket_varnish_custom_hostname' );
function __rocket_varnish_custom_hostname() {
return 'example.com';
}
add_filter( 'rocket_varnish_ip', '__rocket_varnish_custom_ip' );
function __rocket_varnish_custom_ip() {
return 'localhost';
}
- 把文件上传到
mu-modules文件夹,上传方法见《Cloudways后台常用设置:SFTP/SSH连接、PHP参数修改、Staging测试站》; - 停用再启用一次WP Rocket,必要时手动清除一次代理的缓存。
怎么确认Varnish清除成功了:在Chrome里打开开发者工具(Ctrl+Shift+I)的「Network」页签,刷新网站,点开第一个请求,查看响应头里的Age值,官方用这个值来判断Varnish缓存有没有被清除。
为什么不要两个缓存插件同时用?
Breeze和WP Rocket都在做页面缓存、压缩合并、浏览器缓存。同时启用,会出现重复缓存、样式和脚本被处理两遍、清缓存互相不同步的问题。官方的WP Rocket教程第一步就是先停用其他缓存和优化插件。
只有一种情况两个插件会同时存在:用了Cloudflare Enterprise的Smart Cache Purge,这时Breeze只负责触发Cloudflare清缓存,它自己的功能全部关闭,页面缓存和优化交给WP Rocket。
常见问题
WP Rocket比Breeze快吗?
官方没有给对比数据。WP Rocket功能更多,比如生成关键CSS、缓存预加载这类,需要这些功能再考虑。普通的企业站和博客,Breeze加上Varnish已经够用。
我换了WP Rocket,更新网站后前台还是旧内容?
先检查WP Rocket的Varnish页签有没有勾选自动清除;用了Cloudflare的话,还要清除Cloudflare的缓存。
不装任何缓存插件行不行?
可以,但Varnish不会知道内容何时变化,更新之后最长要等4小时(默认缓存时间)才会显示新内容,或者到Cloudways后台手动清除。所以建议保留Breeze。
WP Rocket和Object Cache Pro冲突吗?
官方说明WP Rocket和Varnish、OPCache、Object Cache Pro都能配合使用。
官方的WP Rocket教程写的默认插件是W3 Total Cache,对吗?
那是旧版说明。现在Cloudways新建的WordPress默认预装的是Breeze,官方的缓存插件选择文章也把Breeze列为官方推荐。
总结
Cloudways上,不确定就用预装的Breeze:免费,官方推荐,会自动通知Varnish清缓存。
要用WP Rocket也可以:先停用并删除Breeze(用了Cloudflare Enterprise的Smart Cache Purge例外,Breeze留着但关掉所有选项),上传安装WP Rocket,在「Varnish」页签勾选自动清除,压缩合并加上排除规则,在Cloudflare代理后面时加上mu-modules里那段代码。无论用哪个,页面缓存插件只保留一个。
更多Cloudways的使用教程,可以查看《Cloudways主机教程汇总》。



