如何使用静态服务器缓存加速托管

什么H双T P?如果网站加载速度变慢让您动摇了拳头,那么可能是时候缓存出来了.

说到快速加载 WordPress 网站,缓存至关重要.优化良好的页面缓存可以显着提高访问者的页面加载速度,并减少服务器的负载.

在缓存方面,您有很多选择.您可以使用 来自 WordPress.org 的缓存插件(有很多,因此我们编制了一份"同类最佳"短名单),或安装在网络服务器上的缓存模块.

当然,您选择的缓存方法会在质量和对网站性能的影响方面产生很大的不同结果.那么最好的选择是什么?

继续阅读,或使用以下链接跳转:

在本文中,我们将更仔细地研究静态服务器缓存是什么,解释我们为什么推荐 FastCGI(简要介绍静态服务器缓存 FastCGI),以及如何实施它可以优化您的站点速度和用户体验.

让我们开始吧.

关于那个缓存

在 WordPress 中渲染或获取页面或帖子需要从数据库来回发送查询.很多这些帖子和页面不会每天更新.

与服务器本身解释站点代码、查询数据库、将 HTML 文档返回给客户并最终加载页面不同,静态缓存保存前两个步骤的单个结果并将该文档提供给其他任何人提出请求.

CSS、JavaScript 和图像等静态资产存储在浏览器缓存中,因此浏览器可以从其本地缓存中检索它们.这比从页面的服务器再次下载资源要快.

在 WordPress 中缓存有多种好处,其中最重要的是:速度和性能提升、减少托管服务器负载,以及更有利的搜索引擎排名.正如之前的优化文章所述,这也会受到其他指标的影响,因为影响速度和性能的因素有很多.

有不同的缓存模块,例如 Varnish 和 FastCGI,以及不同类型的 Web 服务器,例如 Nginx、Apache 和 LiteSpeed.这些模块和服务器协同工作以提供卓越的缓存.

Caching modules and services
缓存领域的一些模块和服务器.

Varnish 是一种 Web 应用程序加速器,也称为缓存 HTTP 反向代理.它的主要特性之一是它的配置语言 VCL.VCL 提供了极大的灵活性,使您能够编写有关处理传入请求的策略,例如您想要提供什么内容、您想要从哪里获取内容以及应该如何更改请求或响应.​​

Nginx(发音为 Engine-X)最初是一个简单的网络服务器,旨在实现最大的稳定性和性能,并已发展成为一个多性能的强者,具有处理带有缓存、负载平衡、WebSockets、索引文件和放大器的反向代理的能力;自动索引、带缓存的 FastCGI 支持等等.作为增长最快的开源 Web 服务器,有超过 4.5 亿个站点依赖于他们的技术,Nginx 非常稳定.

我们相信由 Nginx 提供的 FastCGI 是最佳选择.请继续阅读原因.

为什么是 FastCGI 规则

FastCGI——其前身 CGI(通用网关接口)的增强版本——是一种二进制协议,用于将交互式程序与 Web 服务器连接起来.它的主要功能是减少与 Web 服务器和 CGI​​ 程序接口相关的开销,允许服务器在单位时间内处理更多的网页请求.

FastCGI 不是为每个请求创建一个新进程,而是使用持久进程来处理一系列请求.使用 Nginx FastCGI,当用户访问与之前相同的 WordPress 页面时,您的网站将不会再次执行相同的 PHP 和数据库请求,因为该页面已经由 FastCGI 缓存和提供服务.因此,用户在初次访问后将拥有更快的服务器响应时间.

您还将减少 PHP-FPM 和 MariaDB (MySQL) 负载,以及降低 CPU 使用率.最后,您的服务器将能够以相同的规格处理更多流量,让您能够更好地满足更苛刻的需求.

有关这些元素如何协同工作以实现卓越缓存的视觉效果,请参阅下面的信息图.(稍后我们将讨论对象缓存.)

Browser request path infographic
使用 FastCGI 和 Memcached 对象缓存服务浏览器请求.

当使用 FastCGI 时,所有 WordPress 页面都可以获得巨大的好处.

缓存政策

设置缓存时需要考虑两种内容类型:静态和动态.

静态内容是存储在服务器中的任何文件,并且每次交付给用户时都是相同的.动态内容会根据访问时间、位置和设备等特定于用户的因素而变化.

社交媒体页面是动态内容的一个很好的例子.对于任何给定用户来说,Twitter 提要看起来完全不同,用户可以与内容进行交互以对其进行更改(例如,通过点赞、转发推文或评论).

电子商务网站通常也很注重动态内容.例如,使用 WooCommerce,可以完全缓存某些页面,如主页、商店和单个产品页面.但是,应排除购物车、结帐和我的帐户页面.您不希望完全页面缓存这些动态页面,因为不会看到最新的更改.

动态网页不会存储为静态 HTML 文件.在服务器端生成,这些通常来自原始服务器,而不是来自缓存.由于动态内容无法提供给多个用户(因为每个用户都是独一无二的),因此很难缓存.然而,随着技术的进步,缓存动态内容成为可能.

加速动态网页的一种方法是使用动态压缩.通过这种方式,内容仍然来自源服务器而不是缓存,但生成的 HTML 文件明显更小,以便它们可以更快地到达客户端设备.

就像页面缓存适用于 HTML 页面输出一样,对象缓存适用于您的数据库查询.对象缓存是缓存动态内容的绝佳解决方案.

与我们讨论的其他缓存组件一样,该领域有几个持久对象缓存竞争者,最著名的是 Memcached、Redis 和 APCu.

就设置缓存策略而言,没有一刀切.然而,决定一个或多或少理想的静态缓存策略是基于您的网站所包含的内容类型.

对于不断添加用户评论的网站批准(通常按分钟),或者频繁的新内容是常态,您应该构建缓存策略以更频繁地清除,例如每天甚至每小时.

对于定期更新但不那么频繁的内容,30 天的缓存策略就足够了.

对于徽标、图像、页面字体、JS 和核心 CSS 样式表等静态元素,您可以将最长使用期限延长至一年.

即使 Google 说也没有最好的缓存策略,但它们确实提供了一些技巧来帮助您设计缓存策略,超出静态资产的范围.它们是:

  • 使用一致的网址
  • 确保服务器提供验证令牌 (ETag)
  • 确定中介(如 CDN)可以缓存哪些资源
  • 确定每个资源的最佳生命周期
  • 确定适合您网站的最佳缓存层次结构
  • 尽量减少流失(对于经常更新的资源的特定部分 [例如 JS 函数或 CSS 样式集],将该代码作为单独的文件交付)

流行的网站速度性能测试者,GTmetrix,如果满足以下条件,则认为资源可缓存:

  • 它是字体、图像、媒体文件、脚本或样式表
  • 它有 200、203 或 206 HTTP 状态代码
  • 它没有明确的无缓存政策

如果您使用 Cloudflare 等 CDN,则可以通过您的帐户设置缓存策略.此外,如果您使用我们的 Hummingbird 插件,您可以通过内置的 Cloudflare 集成访问这些设置.

作为 WPMU DEV 托管成员,您可以通过 The Hub 访问主要静态缓存设置,以启用极其高效的静态缓存策略.

DEV static server cache
从集线器打开静态服务器缓存.

最终,您设计缓存策略的方式应基于您提供的内容类型、您的网络流量以及对新数据存在的任何特定于应用程序的需求.

您可以直接在 WordPress 中使用许多工具,这些工具可以快速轻松地实施静态缓存策略.我们接下来会看看这些.

插件可能性

在 WordPress.org 上快速搜索缓存插件将返回超过一千个结果.这是很多选择.我们精心挑选了一些我们认为是可靠的选择.

蜂鸟

Hummingbird banner

Hummingbird 是独一无二的世界级缓存套件,活跃于超过 100 万个网站.

借助 Hummingbird 的 WordPress 速度优化,您的页面加载速度会更快,您的搜索排名和 PageSpeed 得分会更高,您的访问者也会更开心.事实上,加速您的网站从未如此简单.

这里只是 HB 出色功能的一部分:完整页面、浏览器、RSS 和Gravatar 缓存;绩效报告;缩小和组合 Javascript、CSS 和 Google 字体文件; GZIP 压缩,用于超快的 HTML、JS 和样式表传输; configs(设置并保存您的首选性能设置,并立即上传到任何其他网站)——等等.

Hummingbird 会扫描您的网站并提供一键式修复以瞬间加速 WordPress.而且它是完全免费的.(也考虑 Smush;虽然不是静态缓存解决方案,但它会压缩和延迟加载您的显着提高速度的图像,也是免费的.)

WP Rocket

WP Rocket banner

拥有超过 150 万用户的 WP Rocket 是 WordPress 最受欢迎的缓存插件.这是一项高级服务,您只能直接从他们的网站安装.

非技术用户很容易理解,而知识渊博的开发人员可以根据自己的喜好对其进行自定义.它与许多托管服务提供商、电子商务平台、主题和其他插件兼容.

WP Rocket 会自动开始缓存您的页面,无需调整代码或设置混乱.1 个网站/1 年的起价为 49 美元.

WP 超级缓存

WP Super Cache Banner

WP Super Cache 来自 WordPress.com 和 WooCommerce 背后的团队......Automattic.这个插件是免费的,并且有超过 200 万的活跃安装.

WP Super Cache 以 3 种方式提供缓存文件,按速度排名.专家(最快),通过使用 Apache mod-rewrite 绕过 PHP 来提供静态 html 文件.简单(中级速度,推荐插件使用方式),使用PHP &不需要配置.htaccess 文件,允许您保持页面的某些部分动态.WP-Caching模式(最慢),主要为已知用户缓存页面,是最灵活的方式.

WP Super Cache 带有推荐设置,其中之一是:如果您不习惯编辑 PHP 文件,请使用简单模式.

W3 总缓存

W3 Total Cache banner

W3 Total Cache (W3TC) 拥有超过 100 万用户,平均评分为 5 星中的 4.4.这是一个免费插件.

W3TC 通过提高网站性能、减少加载时间、利用 CDN 集成等功能和最新的最佳做法来改善您网站的 SEO 和用户体验.

W3 Total Cache 弥补了任何网站的许多性能降低方面.它不需要主题修改、修改 .htaccess(mod_rewrite 规则)或编程妥协即可开始.选项很多,设置也很简单.

W3TC 的一些功能包括:使用媒体库、主题文件和 WordPress 本身进行透明的 CDN 管理;移动支持; SSL 支持; AMP 支持;缩小&压缩内存中的页面/帖子;并通过精细控制缩小 CSS、JavaScript 和 HTML.

WP 最快缓存

WP Fastest Cache banner

WP Fastest Cache 是另一个超过百万用户的缓存插件.

设置很简单;无需修改 .htaccess 文件(自动完成).它有一组更简单的功能,包括 SSL 支持、CDN 支持、Cloudflare 支持、预加载缓存、特定页面的缓存超时,以及为移动设备启用/禁用缓存选项的能力.WP Fastest Cache 也与 WooCommerce 兼容.

WP Fastest Cache 是免费的,但提供付费版本,该版本增加了附加功能,例如:Widget Cache、Minify HTML Plus、Minify CSS Plus、Minify JS、Defer Javascript、优化图像、转换 WebP、 Google 字体异步和延迟加载.

LiteSpeed 缓存

LiteSpeed Cache banner

LiteSpeed Cache for WordPress (LSCWP) 是一款一体化站点加速插件,活跃安装量超过 200 万.

拥有专属的服务器级缓存和一系列优化功能,例如:免费的QUIC.cloud CDN缓存;无损/有损图像优化;缩小 CSS、JavaScript 和 HTML; CSS 的异步加载;延迟/延迟 JS 加载;和 WebP 图片格式支持.

LSCWP 确实需要与网络服务器(LiteSpeed、Apache、NGINX 等)一起使用.它支持 WordPress Multisite,并与大多数流行插件兼容,包括 WooCommerce、bbPress 和 Yoast SEO.

LiteSpeed Cache 是免费的,但通过 QUIC.cloud 提供的一些高级在线服务(CDN 服务、图像优化、关键 CSS、低质量图像占位符等)需要在某些使用级别付费.

好的,既然我们已经介绍了一些可行的缓存插件选项,让我们看看您可以使用 WPMU DEV 托管平台中的缓存设置做什么.

(配置)全部完成

最好的 WordPress 托管服务提供商——销量领先且好评如潮——都内置了缓存.没有它,他们在当今精通技术的网络开发者市场中就没有足够的竞争力.

如果您正在寻找集成在托管 WordPress 托管环境中的工具,WPMU DEV HostingWPEngineFlywheelKinsta 都内置了缓存.坦率地说,托管公司使用的系统比 WordPress 插件更快、更有效.

通过 WPMU DEV 托管,我们使用我们自己的大型缓存工具,静态服务器缓存.这是使用 FastCGI 在服务器级别的页面缓存.静态服务器缓存比任何 PHP 插件都快得多,大大加快了您的网站速度,并允许并发访问者平均增加 10 倍.

了解和管理 WPMU DEV 托管中的缓存设置是一种轻松、轻松的体验.来吧,你就会明白我的意思.

从您的 WordPress 管理页面,转到 WPMU DEV插件,然后点击 The Hub 图标.

Hub icon in WP dashboard
从 WPMU DEV 仪表板一键访问集线器.

接下来,从 The Hub 登录页面,在 我的网站 下点击您选择的网站.

Listed sites in WPMU DEV's Hub
中心列出了您所有的托管站点.

从这里,点击任一托管标题.

Hub hosting settings in WPMU DEV
进入托管工具页面的两个选项.

接下来,您将点击工具,然后向下滚动到静态服务器缓存.单击关闭按钮,然后从"打开静态服务器缓存"弹出窗口中单击继续.(注意:静态服务器缓存将默认为我们创建的所有新服务器/托管帐户启用.)

通过 The Hub 轻松开启静态服务器缓存.

您还可以从这里快速手动清除静态服务器缓存.只需点击清除按钮,然后从"您确定吗?"中点击继续.弹出窗口.

Clear static server cache
您将收到一条确认消息,指示缓存清除操作完成了.

静态服务器缓存与我们的Hummingbird 性能插件完全集成,因此 Hummingbird 中触发清除页面缓存的任何操作或进程也将清除静态服务器缓存.

例如,如果您点击 Hummingbird 插件中的清除缓存按钮并在设置中启用页面缓存,静态服务器缓存也将被清除.同样,如果您在 Hummingbird 中启用了间隔时间清除缓存文章/页面更新时清除完整缓存等选项,静态服务器缓存将遵循这些设置.

Cache setting in Hummingbird
静态服务器缓存尊重 Hummingbird 中启用的缓存设置.

默认情况下也支持 WooCommerce,因此不会缓存 Woo 中的任何动态进程.因此,如果您网站上的用户将商品添加到他们的购物车,静态服务器缓存不会缓存该商品.

以下是启用静态服务器缓存时缓存或不缓存的详细列表.(注意:任何项目的最大大小为 1 GB.)

缓存:

  • GET/HEAD 请求(即您的内容;例如帖子、页面等)

未缓存:

  • POST 请求(例如,表单或任何其他前端提交)
  • 查询字符串
  • wp-admin、xmlrpc、wp-*.php、feed、index.php、站点地图 URI
  • 如果找到这些 cookie:
    comment_author、wordpress_、wp-postpass、wordpress_no_cache、wordpress_logged_in、woocommerce_items_in_cart
  • 如果找到这些 WooCommerce URI:
    /store、/cart、/my-account、/checkout、/addons

如果您想检查我们的静态服务器缓存是否正在缓存任何页面,请查阅我们的详细文档以进行演练.

请注意,暂存站点未启用静态服务器缓存.

你的缓存母牛

缓存是一种可靠且有价值的解决方案,可以提高页面加载速度,从而提高用户体验.它足够强大,可以为特定的内容类型提供精细的细节,但也足以在您的网站内容发生变化时轻松更新.

虽然有多种形式的缓存可用,但静态缓存是一种将用户请求生成的页面转换为 HTML 文档的方法,以便为对同一页面的任何后续请求提供服务.

缓存图像和其他静态对象肯定会加快页面加载时间,但是缓存诸如完整 HTML 文档之类的项目才能真正增强网站的功能.

除了基本的页面缓存之外,请确保您的缓存解决方案结合并缩小了 JavaScript 和 CSS.然后添加对象缓存以利用提供动态内容的优势,而不会牺牲加载时间或 CPU 使用率.

如果您正在寻找功能齐全的缓存解决方案,那么 WPMU DEV 的托管计划可能是您的答案.将我们的 FastCGI(可通过简化的 Hub 界面访问)与我们的缓存女王蜂鸟配对,以进行速度回合的 1-2 淘汰赛.有了我们的30 天退款保证,您不会有任何损失!

如果您是 WPMU DEV 付费计划用户,则您已经享受了此功能的全部功能.还不是会员?通过我们的无风险免费试用,亲自尝试一下,看看为什么我们有如此多的五星级评价.

无论您选择哪种方法,都建议您采用缓存工具和策略,以便响应和加载时间永远不会妨碍访问者的体验或转换成功率.正如有人曾经说过的……缓存为王!

2

发表回复