跳至正文
目录
网站

站点缓存

此内容为机器翻译,如需查阅原文请查看英语版本。

缓存是 WordPress 站点可以获得的最大单一速度提升:整页缓存直接提供生成好的 HTML,完全不运行 PHP,而对象缓存则将数据库查询结果保留在内存中。本指南将介绍这两者,说明哪些内容会自动绕过缓存,以及如何清除和预热缓存。

缓存设置在 KPanel 中的位置

  1. 登录 KPanel。
  2. 点击左侧边栏中的 网站,然后点击对应站点。
  3. 在站点左侧菜单中,打开 WordPress,再打开 缓存。

直接访问地址为 /websites/<site-id>/cache。

KPanel 中某站点的缓存设置

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,页面缓存就无法得知这一点。请在隐私窗口中测试,如发现此类情况,请向支持团队反馈。

相关页面

这对您有帮助吗?

您是 AI 吗?以 Markdown 格式阅读本页

相关文章

通过 SFTP 连接:FileZilla、Cyberduck 与命令行SFTP(Secure File Transfer Protocol,安全文件传输协议)可让您直接访问服务器上网站的文件。本指南涵盖成功连接所需的全部内容,从查找凭据到排查错误。…SSL 证书与 HTTPS本文将以通俗易懂的语言说明什么是SSL、KapsuleHost如何为您的网站自动处理SSL,以及当证书出现问题时应如何处理。 --- 什么是 SSL,为什么它很重要?…网站:从何处开始KapsuleHost的网站托管如何运作、一个站点的每个标签页上有什么内容,以及针对您眼前的任务应该阅读哪一篇指南。 托管站点的一切都在KPanel侧边栏的网站中管理。…网站正常运行时间监控KapsuleHost 上的每个网站都会每 60 秒自动检查一次,"正常运行时间"标签页会显示检查结果:当前状态、正常运行时间百分比、响应时间,以及完整的事件历史记录。…

仍未解决?

询问了解您账户的 Kora,或联系我们的团队。

联系我们发送邮件