缓存是 WordPress 站点可以获得的最大单一速度提升:整页缓存直接提供生成好的 HTML,完全不运行 PHP,而对象缓存则将数据库查询结果保留在内存中。本指南将介绍这两者,说明哪些内容会自动绕过缓存,以及如何清除和预热缓存。
缓存设置在 KPanel 中的位置
- 登录 KPanel。
- 点击左侧边栏中的 网站,然后点击对应站点。
- 在站点左侧菜单中,打开 WordPress,再打开 缓存。
直接访问地址为 /websites/<site-id>/cache。

WordPress 分组仅在 WordPress 和 WooCommerce 站点中显示。此处的缓存属于套餐权益:整页缓存和对象缓存包含在 Managed WordPress 中。在其他套餐中,此页面会显示升级面板,说明可用的功能,而不是显示实际控制项。
整页缓存
整页缓存会存储页面生成好的 HTML,并直接提供给下一位访客。对于匿名访客而言,这意味着完全不执行 PHP,也不进行任何数据库查询:请求在 WordPress 被加载之前就已经得到响应。
卡片上会显示 On 或 Off 状态标签,当缓存开启时,还会显示启用日期、路由是否已确认,以及缓存有效期。
要启用它,请点击 启用整页缓存。要再次关闭,请点击 Disable。
当您发布或更新文章时,缓存会自动清除,因此您的更改会立即生效,而无需等待缓存有效期到期。
如果您的站点主要由匿名访客浏览,这是此页面上价值最高的开关。首字节时间(time to first byte)往往会相差一个数量级,因为 WordPress 请求中最慢的部分已不再发生。
清除与预热
一旦整页缓存开启,会出现两个操作。
清除缓存 会立即清空缓存。请在进行 WordPress 不会视为文章更新的更改之后使用它:例如编辑主题文件、更改小组件(widget)、更新菜单,或修改会影响输出的插件设置。此后每个页面的下一位访客都会获得全新副本。
预热缓存 会预先抓取您的页面,使其在访客请求之前就已被缓存。预热完成后,横幅会显示总页面数中有多少已被预先缓存,并列出前几个 URL。
设计变更后的常规顺序是:先清除,再预热。这样就不会有访客不幸成为承受首次未缓存渲染代价的人。
关于位于站点前端的边缘缓存,这是另一个独立的层级,请参阅清除 CDN 缓存。
永远不会被缓存的内容
某些 URL 必须始终运行 PHP,因为它们的输出因访客而异,或存在副作用。以下路径会自动被绕过,您无需进行任何配置:
| 路径 | 原因 |
|---|---|
/wp-admin/ | WordPress 后台始终是动态的 |
/wp-login.php | 登录页面永远不会被缓存 |
/cart/ | WooCommerce 购物车因访客而异 |
/checkout/ | WooCommerce 结账因访客而异 |
/my-account/ | WooCommerce 账户页面因访客而异 |
/wp-cron.php | 定时任务必须真正执行 |
/?wc-ajax=* | WooCommerce AJAX 端点 |
除了路径规则之外,Cookie 也很重要。已登录的 WordPress 用户,或拥有活跃 WooCommerce 会话 Cookie 的访客,始终会收到动态响应,即使该页面对其他所有人来说是已缓存的。这就是为什么店主在浏览自己的网站时常常感受不到任何效果,而匿名访客却能感受到。
由于您通常处于登录状态,在平常使用的浏览器中测试缓存行为会产生误导。请在隐私窗口中测试,或使用未登录的浏览器。
对象缓存
对象缓存是另一个不同的层级。它不存储生成好的页面,而是将数据库查询结果和 WordPress 瞬态(transient)数据保留在内存中,使重复的工作不必重复进行。
卡片上会显示 On 或 Off 状态标签,当缓存开启时,还会显示启用日期。使用 开启 和 关闭 来更改设置。
对象缓存恰好能解决整页缓存无法解决的问题:已登录用户、后台管理界面,以及购物车和结账等因访客而异的页面。这使得它对流量较大的商店和会员网站尤其有价值,因为这些站点的大部分流量是经过身份验证的,因此永远不会被整页缓存。
两者同时运行是常规配置。整页缓存处理匿名流量,而对象缓存则加速所有本来就必须运行 PHP 的部分。
选择要启用的功能
- 内容型站点,访客以匿名为主。 整页缓存是优先事项。对象缓存会在此基础上带来较小的额外提升。
- WooCommerce 商店。 两者都应启用。整页缓存仍能覆盖浏览访客所访问的产品和分类页面,而对象缓存则承担永远无法被缓存的购物车、结账和账户页面。
- 几乎所有人都已登录的会员或社区网站。 对象缓存承担主要工作,因为大多数请求按设计都会绕过页面缓存。
故障排查
我更新了站点,但访客仍然看到旧版本。 先清除缓存,再预热。如果内容仍然是旧的,请记住可能还存在边缘缓存:请参阅清除 CDN 缓存。
缓存对我没有任何作用。 您几乎可以肯定处于登录状态。请在隐私窗口中检查。
购物车或某个表单对匿名访客表现异常。 标准的商务路径会自动被绕过,但位于非标准 URL 上的自定义或插件提供的动态页面则不会。如果某个页面绝不应被缓存,却不在绕过列表中,建议向支持团队反馈,以便我们检查相关规则。
卡片显示缓存功能包含在 Managed WordPress 中。 您当前的套餐不包含此功能。横幅会链接到套餐页面。
路由检查待处理。 缓存已启用,但路由确认尚未完成。请稍等片刻后刷新。
页面显示了错误的个性化内容。 任何个性化内容都必须从页面缓存中排除,或在客户端渲染。如果某个插件在本可缓存的 URL 上对输出进行了个性化处理,却没有设置会话 Cookie,页面缓存就无法得知这一点。请在隐私窗口中测试,如发现此类情况,请向支持团队反馈。