网站

网站缓存

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 中的位置

  1. 登录 KPanel
  2. 在左侧边栏中单击网站,然后单击该站点。
  3. 在站点的标签条中,打开 WordPress,然后打开缓存

直接地址是 /websites/<site-id>/cache

KPanel 中站点的缓存设置

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,页面缓存无法知道这一点。在私密窗口中测试,如果您找到一个,请向支持部门提出。

相关页面

仍需帮助?

请发送邮件至 support@kapsulehost.com 或在 KPanel 中打开聊天。

打开 KPanel