网站
网站缓存
Caching is the biggest single speed win available to a WordPress site: full-page caching serves finished HTML without running PHP at all, and object caching keeps database results in memory. This…
站点缓存
缓存是 WordPress 站点可用的最大单一速度优化:全页面缓存提供完成的 HTML 而无需运行 PHP,对象缓存将数据库结果保存在内存中。本指南涵盖两者、哪些内容会自动绕过缓存,以及如何清空和预热缓存。
缓存在 KPanel 中的位置
- 登录 KPanel。
- 在左侧边栏中单击网站,然后单击该站点。
- 在站点的标签条中,打开 WordPress,然后打开缓存。
直接地址是 /websites/<site-id>/cache。

WordPress 组仅针对 WordPress 和 WooCommerce 站点显示。此处的缓存是计划权利:全页面缓存和对象缓存包含在 Managed WordPress 中。在其他计划上,该页面显示升级面板,描述可用内容,而不是控制选项。
全页面缓存
全页面缓存存储页面完成的 HTML 并将其直接提供给下一个访问者。对于匿名访问者,这意味着完全没有 PHP 执行和数据库查询:在 WordPress 加载之前就已答复请求。
该卡片显示开启或关闭标签,当其开启时,显示启用日期、路由是否已确认以及缓存生存期。
要启用它,请单击启用全页面缓存。要再次关闭它,请单击禁用。
当您发布或更新文章时,缓存会自动清空,因此您的更改会立即显示,而不是等待生存期过期。
如果您的站点主要由匿名访问者阅读,这是页面上最高价值的开关。在首字节时间上通常相差一个数量级是很常见的,因为 WordPress 请求的缓慢部分不再发生。
清空和预热
启用全页面缓存后会出现两个操作。
清空缓存立即清空缓存。在进行 WordPress 不视为文章更新的更改后使用它:编辑主题文件、更改小部件、更新菜单或更改影响输出的插件设置。下一个访问每个页面的访问者会获得新副本。
预热缓存预先获取您的页面,以便在访问者询问之前它们已被缓存。预热后,横幅会告诉您总数中有多少页被预缓存,并列出前几个 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 transients 的结果保存在内存中,以便不重复重复工作。
该卡片显示开启或关闭标签,当其开启时,显示启用日期。使用开启和关闭来更改它。
对象缓存在全页面缓存无法涉及的地方提供帮助:已登录用户、管理员屏幕和按访问者划分的页面(如购物车和结账)。这使其对于流量繁忙的商店和成员资格站点特别有价值,其中大部分流量是经过身份验证的,因此永远不会被页面缓存。
同时运行两者是正常的配置。全页面缓存处理匿名流量,对象缓存加速必须运行 PHP 的所有内容。
选择要启用的内容
- 内容站点,主要是匿名读者。 全页面缓存是优先事项。对象缓存在顶部增加较小的改进。
- WooCommerce 商店。 启用两者。全页面缓存仍然覆盖您的产品和分类页面供浏览访问者使用,而对象缓存承载购物车、结账和账户页面,这些页面永远无法被缓存。
- 几乎所有人都已登录的成员资格或社区站点。 对象缓存承担繁重工作,因为大多数请求将按设计绕过页面缓存。
故障排除
我更新了站点,但访问者仍看到旧版本。 清空缓存,然后预热它。如果仍然过期,请记住可能还有边缘缓存:请参阅清空 CDN 缓存。
缓存对我无效。 您几乎肯定已登录。在私密窗口中检查。
购物车或表单对匿名访问者的行为异常。 标准商业路径会自动绕过,但非标准 URL 上的自定义或插件提供的动态页面不会。如果页面必须永远不被缓存且不在绕过列表上,这值得向支持人员提出,以便我们查看规则。
该卡片说缓存包含在 Managed WordPress 中。 您的当前计划不包括它。横幅链接到计划页面。
路由检查待处理。 缓存已启用,路由确认尚未完成。等一会儿然后刷新。
页面显示错误的个性化内容。 任何个性化内容必须从页面缓存中排除或在客户端呈现。如果插件在可缓存 URL 上个性化输出而不设置会话 Cookie,页面缓存无法知道这一点。在私密窗口中测试,如果您找到一个,请向支持部门提出。