跳到正文
原文
Advanced Custom Fields 官方博客· Iain Poulson·· 14 天前编辑评分27

不同主机类型下最佳 WordPress 缓存插件指南

Best WordPress Caching Plugins by Hosting Type

编辑导读

选择 WordPress 缓存插件取决于主机架构:LiteSpeed 环境适合 LiteSpeed Cache,WP Engine 由 EverCache® 处理全页缓存并提供 NitroPack,Apache 或 Nginx 可选 WP Rocket、FlyingPress 或 W3 Total Cache。

要点:

  • 没有一款通用的最佳 WordPress® 缓存插件,因为正确的选择取决于你的托管环境、现有的整页缓存以及服务器架构。
  • WP Engine 已在平台层面通过 EverCache® 处理整页缓存,因此可能无需再使用单独的缓存插件。WP Engine 提供集成的 NitroPack 附加组件,以满足前端性能需求。
  • LiteSpeed Cache 非常适合 LiteSpeed 环境,而对于没有由主机管理页面缓存的 Apache 或 Nginx 设置,则更有理由使用 WP Rocket、FlyingPress 或 W3 Total Cache 等插件。
  • Advanced Custom Fields(ACF®)用于改进内容与数据层,而不是取代你的缓存技术栈。Local JSON 和 ACF PRO Repeater 分页等功能可以让复杂的 WordPress® 站点更易于高效管理,而页面缓存、对象缓存和优质托管仍负责实际的缓存工作。

WordPress®1 缓存插件的排名通常仿佛它们不受托管环境影响。事实是,主机也是决策的一部分。

没有唯一一款最佳的 WordPress® 缓存插件,因为正确的选择取决于你的托管技术栈如何处理整页缓存。在一台服务器上合理的插件,可能在另一台服务器上重复已有的缓存,或在不受支持的设置中失去其最重要的缓存能力。

这使得通用的“最佳插件”排名远没有看上去那么有用。

本指南 explains 主机如何决定适合的缓存插件、哪些插件适合 LiteSpeed、托管型以及 Apache 或 Nginx 设置,以及 ACF 在数据层中扮演的角色。

哪个 WordPress 缓存插件适合你的主机?

最佳的 WordPress® 缓存插件首先取决于是谁已经在处理整页缓存——你的 Web 服务器、托管主机,还是 WordPress® 插件。这形成了三条常见路径:

  • 如果你的主机运行 LiteSpeed 且可使用 LSCache,LiteSpeed Cache 是自然的选择,因为该 WordPress® 插件会直接与 LiteSpeed 的服务器级缓存引擎通信,以控制缓存和清除。
  • 如果你的托管型 WordPress® 主机已经缓存页面,请先使用主机的系统。添加另一个独立缓存相同 HTML 的工具,可能会重复工作或与平台级缓存产生冲突。你仍然可以使用兼容的性能工具处理主机未涵盖的任务。
  • 如果你使用 Apache 或 Nginx,且没有由主机管理的页面缓存,WP Rocket、FlyingPress 或 W3 Total Cache 等插件可以负责生成和提供缓存页面。此时,最佳选择更多取决于优化功能、配置控制权和预算。

还有一类方案适用于希望拥有更广泛云优化层的用户。如果你完全不想自行管理缓存技术栈,可以选择 NitroPack:它将页面缓存与基于云的 CSS、JavaScript 和图像优化以及 CDN 分发结合起来。

哪个缓存插件适合 LiteSpeed 服务器?

当你的 WordPress® 主机运行 LiteSpeed Web Server 或 OpenLiteSpeed 时,LiteSpeed Cache 通常是应当使用的缓存插件。

原因在于架构。面向 WordPress® 的 LiteSpeed Cache 并非完全在 WordPress® 内部执行其原生整页缓存。该插件会将缓存规则、清除事件和其他指令传达给 LiteSpeed 的服务器级缓存引擎,由后者实际执行页面缓存。

WordPress® 插件本身是免费的,还包含 CSS 和 JavaScript 优化、图片优化、延迟加载以及数据库优化等优化功能。其中许多功能仍可在 Apache、Nginx 或其他 Web 服务器上使用。

重要的限制是页面缓存。LiteSpeed 的原生缓存功能需要使用其支持的某种缓存引擎,包括 LiteSpeed Web Server、OpenLiteSpeed、LiteSpeed Web ADC 或 QUIC.cloud CDN。在 Apache 或 Nginx 上使用且未启用 QUIC.cloud 时,你可以安装该插件并使用与服务器无关的优化工具,但其整页缓存功能不可用。

在托管 WordPress 主机上需要缓存插件吗?

通常不需要单独安装 WordPress® 缓存插件来提供整页缓存功能,前提是你的托管主机已经提供了这项功能。在这种情况下,主机应继续作为页面缓存的主要管理方。

例如:

  • WP Engine 通过 EverCache® 处理页面缓存,并提供 CDN 缓存,同时还可使用 Edge Full Page Cache 在 Cloudflare 的边缘节点缓存 HTML。
  • Kinsta 也提供服务器级整页缓存。

这并不意味着托管 WordPress® 网站不能使用性能优化工具。兼容的工具仍可改进 CSS 和 JavaScript 交付、图片优化、延迟加载或其他前端性能工作,同时不会取代主机的主要缓存层。

NitroPack 是一项基于云端的网站速度优化服务。WP Engine 将 NitroPack 作为可选的产品扩展提供,用于基于云的缓存、CDN 交付、图片优化和前端优化。此外,当 Edge Full Page Cache 和 NitroPack 均可用时,WP Engine 建议使用 NitroPack,而不是叠加功能重叠的缓存系统。

进一步了解 WP Engine 缓存涵盖和不涵盖的功能。

适用于 Apache 和 Nginx 的最佳 WordPress 缓存插件有哪些?

在 Apache 或 Nginx 上,最佳缓存插件取决于它需要多少配置、对前端优化的覆盖范围,以及它对各个缓存层提供多少控制权。例如:

  • WP Rocket 支持 Apache、Nginx、LiteSpeed、OpenLiteSpeed 和 IIS。它只需相对少量的初始配置,即可启用页面缓存和多项性能优化。在 Nginx 上,它无需额外的服务器规则即可运行,不过也可以通过服务器配置更直接地提供缓存文件。其价格从单个站点每年 59.95 美元起。
  • FlyingPress 将页面缓存与 CSS、JavaScript、图片、字体及其他前端资源优化功能结合在一起。在 Nginx 上,默认通过 PHP 提供缓存页面,也可以使用可选的 Nginx 规则直接从磁盘提供缓存的 HTML 文件。其 Starter 套餐单个网站每年 59 美元。
  • W3 Total Cache 提供免费的核心插件,涵盖页面缓存、浏览器缓存、对象缓存、数据库缓存、CDN 集成及其他性能功能的控制选项。根据环境不同,支持的存储方式包括磁盘、Redis 和 Memcached。

如果你想比较 WP Rocket 和 W3 Total Cache 与 NitroPack 这类更广泛的云端优化服务,请查看这篇指南。

主机兼容性仍然最为重要。例如,WP Engine 明确禁止使用 W3 Total Cache,因为其缓存功能会与 WP Engine 内置的服务器缓存发生冲突。

如何为你的网站选择最佳 WordPress 缓存插件

选择 WordPress® 缓存插件时,应先检查主机的缓存架构,再根据网站实际的工作负载和维护需求比较其功能、控制能力和兼容性。

请考虑以下因素:

  • 动态内容: WooCommerce®、会员制网站和登录用户体验需要可靠的缓存排除规则和失效规则。
  • 缓存管理: 自动清除缓存、缓存预加载和定期清理可以减少所需的手动维护工作。
  • 前端优化: 决定是否还希望在同一个工具中使用 CSS、JavaScript、图片优化和延迟加载功能。
  • 易于排查故障: 如果网站由多人管理,更简单的控制选项可能很有价值;而开发人员可能更偏好更深入的配置。
  • 支持和定价: 付费插件可以通过支持、更新和节省时间来证明其成本合理,而免费选项可能更适合愿意自行管理更多事务的团队。

NitroPack 通过一项订阅涵盖了其中大多数标准:页面缓存、CSS 和 JavaScript 优化、图片优化以及 CDN 分发,并以云服务而非服务器端插件的形式进行管理。

最佳选择是既适合你的基础设施,又符合你的运营需求的工具。

页面缓存、对象缓存和 CDN 有什么区别?

页面缓存存储完整渲染后的页面,对象缓存存储可复用的应用程序数据,而 CDN 会在更靠近访客的位置缓存符合条件的内容。更详细地说:

  • 页面缓存会存储生成的 HTML,因此 WordPress® 和 PHP 无需为每个符合条件的请求重新构建同一页面。这是 WP Rocket、FlyingPress、LiteSpeed Cache 和 W3 Total Cache 等工具处理的主要层级。WordPress® 将页面缓存视为与对象缓存独立的系统。
  • 对象缓存会存储可复用的数据,例如数据库查询结果。WordPress® 内置了对象缓存,但默认情况下仅在当前请求期间有效。Redis 或 Memcached 等持久化对象缓存可以在请求之间保留缓存对象,并减少重复的数据库操作。
  • 内容交付网络(CDN)会将可缓存内容分发到地理位置分散的数据中心。图片、CSS 和 JavaScript 等静态资源通常会被缓存;在对 CDN 进行相应配置时,HTML 也可以被缓存。

这些层级是互补关系,而非相互替代。WordPress® 网站可以同时使用页面缓存、持久化对象缓存和 CDN,因为每一层都能减少请求路径中不同部分的工作。

如需全面了解WordPress 速度优化,请参阅 ACF 的逐层指南。

选择合适的缓存,然后优化你的 WordPress 数据层

没有任何一款 WordPress® 缓存插件是普遍最优的。正确的选择取决于主机已经缓存了什么、服务器支持什么,以及其他工具能否在不重复现有技术栈的情况下带来价值。

但缓存只能减少 WordPress® 生成页面所需执行工作的频率。当请求未由缓存提供时,WordPress® 仍必须加载模板所需的内容和数据。因此,内容的结构与管理方式也同样重要。

Advanced Custom Fields(ACF®)是一款 WordPress® 内容建模工具,可帮助开发者更高效地组织和管理那些未缓存响应背后的复杂数据。使用 ACF,你可以获得:

  • Local JSON,可将字段组及其他受支持的 ACF 配置保存为 JSON 文件。ACF 可以从文件加载这些定义,而不必完全依赖存储在数据库中的配置,同时也能让配置更易于进行版本控制并在不同环境之间同步。
  • ACF PRO 中的重复器分页功能可让开发者将大型重复器字段拆分到 WordPress® 后台的多个页面中,从而无需让编辑人员一次渲染所有行。这能改善处理大型数据集时的编辑体验。

当 WordPress® 生成未缓存响应时,你的前端仍需要获取字段值。因此,高效的模板、在适用场景下使用持久对象缓存、全页缓存以及精心设计的内容模型,都是同一性能策略中相辅相成的组成部分。

使用 ACF 搭配合适的缓存技术栈,打造更易管理的 WordPress® 内容层。

常见问题

WooCommerce 是否需要单独使用缓存插件?

通常不需要。WooCommerce® 与网站其余部分使用同一套缓存技术栈,因此重点是为购物车、结账页和账户页设置正确的缓存排除规则,而不是安装专用插件。无论由哪款工具负责全页缓存——你的主机、NitroPack、LiteSpeed Cache 或 FlyingPress——都应配置为绕过这些动态页面。

文章《按托管类型划分的最佳 WordPress 缓存插件》首发于 ACF。

来源:Advanced Custom Fields 官方博客 · https://www.advancedcustomfields.com/blog/best-wordpress-caching-plugin/

部分链接为推广/关联链接。