[广告_1]
HTTP是什么??如果网站加载速度减慢让您直摇头,那么可能该是时候考虑缓存了。
在快速加载 WordPress 网站时,缓存至关重要。优化良好的页面缓存可以显着提高访问者的页面加载速度,并减少服务器上的负载。
在缓存方面,您有很多选择。您可以使用WordPress.org的缓存插件(有很多,因此我们编制了“最佳”短列表),或安装在 Web 服务器顶部的缓存模块。
当然,您选择的缓存方法会在质量和对站点性能的影响方面产生很大的不同结果。那么最好的选择是什么?
继续阅读,或使用以下链接跳转:
在本文中,我们将更仔细地研究静态服务器缓存是什么,解释我们为什么推荐 FastCGI(查看静态服务器缓存 FastCGI),以及如何实施它可以优化您的站点速度和用户体验。
让我们开始吧。
关于那个缓存
在 WordPress 中渲染或获取页面或帖子需要从数据库来回发送查询。很多这些帖子和页面不会每天更新。
与服务器本身解释站点代码、查询数据库、将 HTML 文档返回给客户并最终加载页面不同,静态缓存保存前两个步骤的单个结果并将该文档提供给任何其他发出请求的人.
CSS、JavaScript 和图像等静态资产存储在浏览器缓存中,因此浏览器可以从其本地缓存中检索它们。这比从页面的服务器再次下载资源要快。
WordPress 中的缓存有多种好处,其中最重要的是:速度和性能提升、托管服务器负载减少以及更有利的搜索引擎排名。正如之前的优化文章中所述,这也会受到其他指标的影响,因为有许多因素会影响速度和性能。
有不同的缓存模块,例如 Varnish 和 FastCGI,以及不同类型的 Web 服务器,例如 Nginx、Apache 和 LiteSpeed。这些模块和服务器协同工作以提供卓越的缓存。
Varnish 是一种 Web 应用程序加速器,也称为缓存 HTTP 反向代理。它的主要特性之一是它的配置语言 VCL。VCL 提供了极大的灵活性,使您能够编写处理传入请求的策略,例如您想要提供什么内容、您想要从哪里获取内容以及应该如何更改请求或响应。
Nginx(发音为 Engine-X)最初是一个简单的 Web 服务器,旨在实现最大的稳定性和性能,并已发展成为一个多性能的强者,能够通过缓存、负载平衡、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 使用率。最后,您的服务器将能够以相同的规格处理更多流量,使您能够更好地满足更苛刻的需求。
有关这些元素如何协同工作以实现卓越缓存的视觉效果,请参阅下面的信息图。(稍后我们将讨论对象缓存。)
使用 FastCGI 时,所有 WordPress 页面都可以获得巨大的好处。
缓存策略
设置缓存时需要考虑两种内容类型:静态和动态。
静态内容是存储在服务器中的任何文件,每次交付给用户时都是相同的。动态内容会根据特定于用户的因素(例如访问时间、位置和设备)而变化。
社交媒体页面是动态内容的一个很好的例子。对于任何给定用户来说,Twitter 提要看起来完全不同,用户可以与内容交互以更改它(例如,通过喜欢、转发推文或评论)。
电子商务网站通常也很重视动态内容。例如,使用 WooCommerce,可以完全缓存某些页面,如主页、商店和单个产品页面。但是,应排除购物车、结帐和我的帐户页面。您不希望完全页面缓存这些动态页面,因为不会看到最新的更改。
动态网页不存储为静态 HTML 文件。生成的服务器端,这些通常来自原始服务器,而不是来自缓存。由于动态内容无法提供给多个用户(因为每个用户都是独一无二的),因此很难缓存。然而,随着技术的进步,缓存动态内容成为可能。
加速动态网页的一种方法是使用动态压缩。以这种方式,内容仍然来自源服务器而不是缓存,但生成的 HTML 文件明显更小,以便它们可以更快地到达客户端设备。
正如页面缓存适用于 HTML 页面输出一样,对象缓存适用于您的数据库查询。对象缓存是缓存动态内容的绝佳解决方案。
与我们讨论的其他缓存组件一样,该领域有几个持久对象缓存竞争者,最著名的是 Memcached、Redis 和 APCu。
就设置缓存策略而言,没有一刀切。然而,决定一个或多或少理想的静态缓存策略是基于您的站点所包含的内容类型。
对于用户评论不断被添加和批准(通常是按分钟),或者频繁的新内容是常态的网站,您应该构建缓存策略以更频繁地清除,例如每天甚至每小时。
对于定期更新但不那么频繁的内容,30 天的缓存策略就足够了。
对于徽标、图像、页面字体、JS 和核心 CSS 样式表等静态元素,您可以将最大年龄延长至一年。
甚至Google 也表示没有最好的缓存策略,但他们确实提供了一些技巧来帮助您设计缓存策略,超出静态资产的范围。这些是:
- 使用一致的 URL
- 确保服务器提供验证令牌 (ETag)
- 确定中介可以缓存哪些资源(如 CDN)
- 确定每个资源的最佳生命周期
- 确定您站点的最佳缓存层次结构
- 最小化流失(对于经常更新的资源的特定部分 [例如,JS 函数或 CSS 样式集],将该代码作为单独的文件交付)
如果满足以下条件,流行的站点速度性能测试器GTmetrix 会考虑资源可缓存:
- 它是字体、图像、媒体文件、脚本或样式表
- 它有 200、203 或 206 HTTP 状态代码
- 它没有明确的无缓存政策
如果您使用 Cloudflare 等 CDN,则可以通过您的帐户设置缓存策略。此外,如果您使用我们的 Hummingbird 插件,您可以通过Cloudflare的内置集成访问这些设置。
作为 WPMU DEV 托管成员,您可以通过 The Hub 访问主要静态缓存设置,以启用极其高效的静态缓存策略。
最终,你如何设计你的缓存策略应该根据你提供的内容的类型,您的网络流量,而且存在任何特定应用的需求,新的新数据。
您可以直接在 WordPress 中使用许多工具,这些工具可以快速轻松地实施静态缓存策略。我们接下来会看看那些。
插件可能性
在 WordPress.org 上快速搜索缓存插件将返回超过一千个结果。这是很多选择。我们精心挑选了一些我们认为是可靠的选择。
Hummingbird 是一种独一无二的世界级缓存套件,活跃于超过 100 万个网站。
借助 Hummingbird 的 WordPress 速度优化,您的页面加载速度会更快,您的搜索排名和 PageSpeed 得分会更高,您的访问者也会更开心。事实上,加速您的网站从未如此简单。
这里只是 HB 突出功能的一部分:完整页面、浏览器、RSS 和 Gravatar 缓存;绩效报告;缩小和组合 Javascript、CSS 和 Google 字体文件;GZIP 压缩,用于超快的 HTML、JS 和样式表传输;configs(设置并保存您的首选性能设置,并立即上传到任何其他站点)——等等。
Hummingbird 会扫描您的网站并提供一键式修复以瞬间加速 WordPress。而且它是完全免费的。(也可以考虑Smush;虽然它不是静态缓存解决方案,但它会压缩和延迟加载您的图像以显着提高速度,而且也是免费的。)
WP Rocket 拥有超过 150 万用户,是 WordPress 最受欢迎的缓存插件。这是一项优质服务,您只能直接从他们的网站安装。
非技术用户很容易理解,而知识渊博的开发人员可以根据自己的喜好对其进行自定义。它与许多托管服务提供商、电子商务平台、主题和其他插件兼容。
WP Rocket 会自动开始缓存您的页面,无需调整代码或设置混乱。1 个网站/1 年的起价为 49 美元。
WP Super Cache 来自 WordPress.com 和 WooCommerce 背后的团队…… Automattic。这个插件是免费的,并且有超过 200 万的活跃安装。
WP Super Cache 以 3 种方式提供缓存文件,按速度排名。Expert(最快),通过使用 Apache mod-rewrite 绕过 PHP 来提供静态 html 文件。简单(中等速度,推荐使用插件的方式),使用 PHP 并且不需要配置 .htaccess 文件,允许您保持页面的某些部分动态。WP-Caching模式(最慢),主要为已知用户缓存页面,是最灵活的方式。
WP Super Cache 带有推荐的设置,其中之一是: 如果您不习惯编辑 PHP 文件,请使用简单模式。
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 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、优化图像、Convert WebP、Google Fonts Async ,和延迟加载。
LiteSpeed Cache for WordPress (LSCWP) 是一款一体化站点加速插件,活跃安装量超过 200 万。
它具有专属的服务器级缓存和一系列优化功能,例如:免费的QUIC.cloud CDN缓存;无损/有损图像优化;缩小 CSS、JavaScript 和 HTML;CSS 的异步加载;延迟/延迟 JS 加载;和 WebP 图像格式支持。
LSCWP 确实需要与 Web 服务器(LiteSpeed、Apache、NGINX 等)一起使用。它支持 WordPress Multisite,并与大多数流行插件兼容,包括 WooCommerce、bbPress 和 Yoast SEO。
LiteSpeed Cache 是免费的,但通过 QUIC.cloud 提供的一些高级在线服务(CDN 服务、图像优化、关键 CSS、低质量图像占位符等)需要在某些使用级别付费。
好的,现在我们已经介绍了一些可行的缓存插件选项,让我们看看您可以使用 WPMU DEV 托管平台中的缓存设置做什么。
(配置)全部完成
最好的 WordPress 托管服务提供商——销量领先且好评如潮——都内置了缓存。没有它,他们在当今精通技术的 Web 开发人员市场中将没有足够的竞争力。
如果您正在寻找集成在托管 WordPress 托管环境中的工具,WPMU DEV Hosting、WPEngine、Flywheel和Kinsta都内置了缓存。坦率地说,托管公司使用的系统比 WordPress 插件更快、更有效。
通过 WPMU DEV 托管,我们使用我们自己的大型缓存工具Static Server Cache。这是使用 FastCGI 在服务器级别的页面缓存。比任何 PHP 插件都快得多,静态服务器缓存大大加快了您的网站速度,并允许平均 10 倍以上的并发访问者。
了解和管理 WPMU DEV 托管中的缓存设置是一种轻松、轻松的体验。来吧,你会明白我的意思。
从您的 WordPress 管理页面,转到WPMU DEV、插件,然后单击Hub图标。
接下来,从The Hub登录页面,在My Sites下单击您选择的站点。
从这里,单击任一托管标题。
接下来,您将单击Tools,然后向下滚动到Static Server Cache。单击关闭按钮,然后从“打开静态服务器缓存”弹出窗口中单击继续。(注意:默认情况下,将为我们创建的所有新服务器/托管帐户启用静态服务器缓存。)
通过 The Hub 轻而易举地打开静态服务器缓存。
您还可以从这里快速手动清除静态服务器缓存。只需单击清除按钮,然后从“您确定吗?”中单击继续。弹出窗口。
静态服务器缓存与我们的Hummingbird 性能插件完全集成,因此 Hummingbird 中触发清除页面缓存的任何操作或过程也将清除静态服务器缓存。
例如,如果您单击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 付费计划用户,您已经享受了此功能的全部功能。还不是会员?自己试试,免费 7 天,看看为什么我们有这么多五星级评价。
无论您选择哪种方法,我们都建议您使用缓存工具和策略,这样响应和加载时间永远不会妨碍访问者的体验或转换成功率。正如有人曾经说过的……缓存为王!
Leave a Reply