作为年度“生日周”庆祝活动的一部分,Cloudflare最近宣布为WordPress网站发布“自动平台优化”(APO)。
对于性能爱好者来说,Cloudflare的APO代表了最大化WordPress性能的巨大进步。
在基准测试中,我们发现在测试站点上启用APO可以将页面加载时间减少70-300%,具体取决于测试位置。
在本文中,我们将深入探讨Cloudflare APO的工作原理以及如何使用它来提高WordPress网站的性能!
什么是自动平台优化(APO)?
自动平台优化是Cloudflare提供的一套新的一键式平台定制优化服务。
WordPress是第一个获得“ APO待遇”的平台,WordPress是全球最受欢迎的CMS,拥有超过60%的市场份额。将来,我们希望为其他CMS和平台看到类似的APO服务。
从高层次上讲,Cloudflare的WordPress APO通过两种主要方式提高了网站性能。
- WordPress网站页面的静态HTML副本缓存在世界各地的Cloudflare边缘服务器中。
- 第三方字体由Cloudflare缓存并提供服务。
让我们来看一下APO在技术层面上的工作方式和原因。
边缘的静态HTML
Cloudflare的APO与其他传统页面缓存和CDN解决方案之间的主要区别因素是其能够在Cloudflare的边缘直接缓存静态HTML的能力。为了画出更清晰的图片,让我们看一下从“无优化”到APO的四种不同的WordPress设置。
WordPress设置#1 –无页面缓存或CDN
默认情况下,WordPress不附带页面缓存或CDN支持。使用此配置,即使请求之间的页面内容没有更改,所有请求都必须由PHP动态生成。
此外,没有内容交付网络(CDN)集成意味着所有静态资产(如CSS,JS,图像和字体)都由源服务器提供。
此配置可能会使WordPress网站非常慢,尤其是对于远离原始服务器的访问者而言。
WordPress设置2 –没有CDN的页面缓存
实施页面缓存是提高WordPress性能的最佳策略之一。在Kinsta,我们的托管堆栈包括一个由Nginx的FastCGI缓存模块提供支持的高度调整的页面缓存层。
页面缓存极大地减少了原始服务器上的CPU负载,因为可以通过缓存为请求提供服务,而无需动态HTML生成。
这使您的CPU腾出时间来专注于其他重要的动态任务,并使WordPress网站更加稳定。尽管此配置可以使您的站点每秒处理更多请求,但不能解决“距离问题”。
如果没有适当的CDN,向遥远的访客提供静态资产仍然是一个问题。
WordPress设置#3 –使用CDN进行页面缓存
到目前为止,页面缓存以及CDN用来服务静态资产是托管WordPress网站的最有效方式。
在此模型中,原始服务器仍负责为页面提供实际的HTML。但是,诸如CSS文件,图像和字体之类的静态资产已被卸载到世界各地的各种CDN存在点(PoP)。此模型的思想是,静态资产(尤其是大图像)构成了请求页面大小的大部分。因此,通过将资产卸载到更靠近访客的服务器上,可以减少加载时间并提高性能。
CDN的全局流量路由。
尽管此配置与前两个配置相比有显着改进,但它的确使您想知道如果WordPress性能不再由于必须从原始服务器提供HTML而成为瓶颈,会发生什么情况。
出乎意料的是,直到引入Cloudflare的WordPress APO(至少对于非技术用户而言),这样的设置才可行。
WordPress设置#4 –适用于WordPress的Cloudflare APO
Cloudflare APO是WordPress性能领域中最新的产品。与以前的WordPress设置受到原始服务器性能的限制不同,从访问者的角度来看,启用了APO的网站实际上变得“无源”。
使用Cloudflare APO进行全局流量路由。
为此,Cloudflare利用其全球分布的CDN以及Workers / Workers KV来创建WordPress网站的静态HTML表示形式。我们将在本文后面的内容中进一步介绍Cloudflare APO的工作方式。
现在,只知道启用了APO的兼容WordPress网站不再受源于延迟的影响。换句话说,来自美国,德国和日本的访问者的请求将通过附近的数据中心而不是您的原始服务器进行服务。
@Kinsta团队必须测试@Cloudflare的新APO服务…,它将页面加载时间减少了70-300%。?有关所有详细信息,请单击下面。⬇️单击以发布
2020年Web性能状态
在过去的几年中,专业网站开发行业发生了重大变化。越来越多的开发人员正从WordPress整体转移到更灵活,性能更高的静态站点生成器(如Hugo)和JavaScript框架(如Gatsby)。
我们明智地使用术语“性能”,因为网络性能通常可以解释为一个主观指标。
例如,页面的加载时间可能会根据测试位置和一天中的时间而波动。
因此,盲目地说Gatsby静态站点比WordPress站点更快,直到建立了该参数的某些上下文之前,它才有任何作用。
在当今高度连接的世界中,Web性能测试最重要的环境之一是在世界不同地区的加载时间。
在性能方面,静态网站在这方面优于WordPress。默认情况下,可以将静态站点直接上载到全球分布的CDN,这使它们可以在全球范围内快速运行而无需任何其他工作。
由于WordPress站点需要某种形式的原始服务器来生成HTML,因此它无法直接利用Netlify,Vercel和Cloudflare自己的Workers站点等平台进行无障碍的全球交付。从业务角度来看,这意味着您可能会失去潜在客户和远离原始服务器的客户,因为Google在生成搜索结果时会考虑页面速度。
这就是Cloudflare的WordPress APO发挥作用的地方。
使用WordPress,我们的流量增长了1,187%。
我们将向您展示如何。
加入20,000多个其他人,他们每周都会收到有关WordPress内部技巧的新闻!
现在订阅
成功!感谢您的订阅
您将在一周内收到下一期的Kinsta新闻通讯。
订阅Kinsta新闻通讯
订阅
我同意条款和条件以及隐私政策
启用Cloudflare APO可将WordPress性能提高300%。
Cloudflare针对WordPress的自动平台优化完全重新考虑了2020年WordPress性能的含义。正如我们之前提到的,在我们的测试站点上启用APO可以将加载时间从70-300%减少到70%(取决于测试位置)。这是可能的,因为APO有效地消除了原始服务器的性能瓶颈。
Cloudflare的自动平台优化如何工作
使用Cloudflare APO,您的WordPress网站的HTML会缓存在Cloudflare遍布全球的边缘服务器中。这是由Workers KV实现的,Workers KV是具有超快速全局传播(少于60秒)的分布式键值数据库服务。
通过Cloudflare API将数据写入Workers KV时,它会在几秒钟内自动复制到全球150多个Cloudflare数据中心。
这使Workers KV成为加快WordPress网站速度的主要候选人,因为帖子和页面可以通过键值机制轻松表示-URL是“键”,HTML页面内容是“值”。
在Cloudflare Workers KV中存储为键值对象的网页。
为您的WordPress网站启用APO后,对该网站的大多数请求将不再访问您的原始服务器。
相反,该请求将通过本地Cloudflare CDN缓存(如果存在缓存的页面)或Workers KV(如果缓存的页面在Cloudflare的CDN上不存在)提供服务。
如果CDN缓存或Workers KV数据库中不存在页面,则Cloudflare将向您的原始服务器发出单个请求并缓存新页面的HTML。
这里的神奇之处在于,Cloudflare Workers KV充当源服务器的某种分布式镜像。回想一下,存储在Workers KV中的数据是在Cloudflare的整个服务器网络中自动复制的。
这意味着即使您的运行WordPress的原始服务器位于美国的某个地方,来自日本的访客的请求也无需点击原始服务器即可启动本地CDN缓存区域。
相反,将为来自日本的访客提供附近Cloudflare数据中心的Workers KV数据库或CDN缓存中的缓存HTML。
这种新的交付模型与以前尝试用于WordPress的HTML页面缓存的方式大为不同。
以前,最流行的“全页缓存”方法涉及创建Cloudflare页面规则以“缓存所有内容”。尽管此方法可以显着提高性能,但它并不是一种非常有效的缓存方法,因为它依赖于“拉”模型,而不是Workers KV的“推”模型,该模型自动将HTML全局推送。
使用基于规则的上一页设置,访问者到达了美国的Cloudflare缓存区域将不会为其他位置的访问者缓存资产-这意味着从全球内容交付的角度来看,站点无法有效利用Cloudflare的网络。
自动平台优化还通过缓存第三方字体使事情更进一步。在许多情况下,字体最终可能占用页面请求大小的很大一部分。
与通常通过根域提供服务的CSS,JS和图像不同,字体通常是通过第三方服务(例如Google字体)提供的。这意味着基于代理的缓存服务(例如Cloudflare)无法缓存字体并提供字体。
由于APO由Cloudflare Worker(位于原始服务器和访问者之间的可编程JavaScript服务工作者)提供支持,因此有可能注入其他逻辑来完成基本缓存以外的任务。
在这种情况下,APO利用Cloudflare Worker来缓存第三方字体,并使用内联CSS修改页面的HTML以指向Cloudflare的CDN上的缓存字体。这样就无需额外的外部请求来获取字体,并减少了连接数量和服务于页面的加载时间。
最后,由于APO通过WordPress插件与您的网站集成,因此每当您更新网站上的页面时,都会自动清除Cloudflare缓存。这样可以确保访问者始终能够看到您网站的最新版本,而无需任何手动干预。
通过高性能托管和Cloudflare APO最大化WordPress性能
但是,Cloudflare APO并非灵丹妙药。选择基于性能的托管WordPress主机(如Kinsta)仍然非常重要,原因有两个。
- Cloudflare APO仅为未登录的用户缓存前端页面。类似于Kinsta的服务器级页面缓存配置,APO不会为具有特定Cookie的页面以及已登录用户缓存页面。这意味着原始服务器的性能仍然是关键。
- 出色的WordPress体验不仅限于快速的前端性能。由于WordPress本质上是动态CMS,因此在操作WordPress网站时需要考虑许多因素。像Kinsta这样的托管主机提供WordPress量身定制的24/7支持,站点备份,安全保证等。
以下是四个用例,展示了即使使用Cloudflare APO仍要选择高性能WordPress主机的原因。
1. WooCommerce,便捷的数字下载和电子商务
当检测到某些与电子商务相关的cookie时,Cloudflare APO选择性地绕过缓存。例如,当访客将商品添加到WooCommerce网站上的购物车时,WordPress会自动设置<code> woocommerce_items_in_cart </ code> cookie。当检测到此cookie时,APO会绕过缓存以避免缓存并提供客户特定的数据。因此,即使启用了自动平台优化,WooCommerce和其他基于WordPress的电子商务平台仍将严重依赖原始服务器的性能。
2. WordPress仪表板性能
由于Cloudflare APO不会为登录用户缓存HTML,因此在WordPress仪表板中进行导航将始终完全取决于原始服务器的性能。如果您未使用性能优化的主机,则在WordPress网站上执行诸如写入和发布内容,管理图像和其他媒体资产以及运行维护例程之类的任务可能会变得非常缓慢。这会对您的业务成果产生直接的负面影响。
3. WordPress会员站点和论坛
如果您使用的是Ultimate Membership Pro之类的插件来管理WordPress会员站点,或者使用bbPress来为WordPress论坛提供动力,则Cloudflare APO将无法优化您的大部分流量。由于会员站点和论坛通常要求用户登录,因此Cloudflare APO将自动为这些用户绕过HTML缓存。因此,使用高性能主机仍然是维护WordPress会员网站和讨论论坛的快速用户体验的最佳方法。
4. WordPress Cron工作
WordPress cron(WP-Cron)可帮助您安排和自动化WordPress网站上的后端任务。您的网站可能使用cron作业在特定时间发布帖子。像这样的简单任务不需要太多的CPU资源,但是其他任务可能会占用更多的资源。例如,使用插件每12小时将WordPress网站自动备份到ZIP存档之类的任务会占用大量CPU资源。
由于Cloudflare APO仅有助于优化前端内容,因此您仍然需要将站点托管在诸如Kinsta之类的高性能主机上,以最大程度地提高后端任务和登录用户体验的性能。
如何为WordPress使用Cloudflare自动平台优化
既然我们已经讨论了为什么针对WordPress的Cloudflare自动平台优化会改变游戏规则,让我们讨论如何将服务添加到WordPress网站。
Cloudflare APO适用于免费和付费计划。对于免费用户,APO每月需要额外收取$ 5的费用。如果您使用Cloudflare的Pro,Business或Enterprise计划,则可以启用APO,而无需支付额外费用。
这是开始使用Cloudflare APO所需要做的:
- 在Cloudflare仪表板中创建API令牌。
- 安装官方的Cloudflare WordPress插件。
- 启用自动平台优化。
1.创建一个Cloudflare API令牌
在启用APO之前,您需要生成一个API令牌并首先安装Cloudflare WordPress插件。要生成API令牌,请单击Cloudflare仪表板右上方的配置文件图标,单击“我的配置文件”,选择“ API令牌”选项卡,然后单击“创建令牌”。
创建一个Cloudflare API令牌。
在“ API令牌模板”下,单击WordPress选项旁边的“使用模板”。
选择WordPress API令牌模板。
“ WordPress”模板将生成具有必要权限的API令牌,以允许自动平台优化正常运行。默认设置是开始使用APO所需的全部设置,但是如果您需要将API令牌锁定到特定的用户或区域,请随时调整“帐户资源”和“区域资源”设置。
完成标记参数的配置后,向下滚动并单击“继续到摘要”。
配置Cloudflare API令牌参数。
最后,单击创建令牌以完成该过程。
需要一个可以为您带来竞争优势的托管解决方案?Kinsta为您提供了令人难以置信的速度,最先进的安全性和自动缩放功能。查看我们的计划
确认Cloudflare API令牌的创建。
确保将API令牌复制到安全位置。稍后在安装Cloudflare WordPress插件时将需要它。将API令牌记录在安全的地方(如密码管理器)后,请随时关闭页面。
在安全的地方记录您的Cloudflare API令牌。
2.安装Cloudflare WordPress插件
可以直接从WordPress插件存储库安装Cloudflare WordPress插件。要找到它,请在WordPress仪表板中搜索“ Cloudflare”。请确保安装官方的Cloudflare插件,而不是“ WP Cloudflare超级页面缓存”,这是第一个搜索结果。
安装官方的Cloudflare WordPress插件。
接下来,转到WordPress仪表板边栏中的设置> Cloudflare,然后单击“在此处登录”。
登录到您的Cloudflare帐户。
输入与您的Cloudflare帐户关联的电子邮件地址,以及您先前生成的API令牌。单击“保存API凭据”以完成登录过程。
输入您的电子邮件地址和Cloudflare API令牌。
既然已经完成了Cloudflare WordPress插件的设置,让我们转到Cloudflare仪表板以启用自动平台优化。
3.在Cloudflare中启用自动平台优化
Cloudflare Pro,Business和Enterprise计划随附了针对WordPress的自动平台优化功能,无需额外付费。如果您使用免费的Cloudflare计划,则APO附加费为每月$ 5。要启用APO,请在Cloudflare信息中心中转到“速度”>“优化”。
要启用APO,请导航至“速度”>“优化”。
向下滚动到“优化交付”部分,然后启用“ WordPress自动平台优化”。如果您有免费计划,Cloudflare将在此期间提示您帐单详细信息。启用APO后,您应该会看到一条消息“在[您的域]上成功检测到WordPress插件”。如果您没有看到此消息,我们建议您重新安装Cloudflare插件或寻求Cloudflare支持以寻求进一步的帮助。
在Cloudflare仪表板中为WordPress启用自动平台优化。
在WordPress信息中心中,转到侧栏中的设置> Cloudflare。单击“为WordPress应用建议的Cloudflare设置”旁边的“应用”按钮-这将优化您的WordPress的Cloudflare设置。最后,确保在插件设置中也启用了“自动平台优化”。
Cloudflare WordPress插件设置。
如何确认适用于WordPress的Cloudflare APO是否有效
此时,Cloudflare自动平台优化应该在您的站点上处于活动状态!您可以通过以下方法确认APO是否正常运行。首先,请确保为您的WordPress网站域启用了Cloudflare的DNS标签中的橙色云。如果未启用橙色云,则Cloudflare将不会代理您域的流量-这意味着APO也无法正常工作。
确认已启用Cloudflare橙色云。
接下来,您可以使用网络浏览器的内置检查器检查HTTP标头,以查询对网站的请求。在下面的示例中,我们将使用Google Chrome。首先,以隐身模式启动新的浏览器窗口。
在Google Chrome浏览器中启动一个新的隐身窗口。
接下来,转到您的WordPress网站,右键单击页面,然后选择“检查”以打开浏览器检查器。您还可以通过进入Chrome菜单栏中的查看>开发人员>开发人员工具来访问检查器。单击对您的域的请求(在下面的示例中为brianwp.com)。在子菜单中,单击“标题”以显示HTTP响应标题。
使用浏览器检查器检查HTTP标头。
启用APO后,您应该会看到一些与APO相关的标题。
- cf-cache-status指示是否从Cloudflare的CDN提供页面。刷新页面几次后,您应该看到“ HIT”状态。如果几次刷新后cf-cache-status标头显示“ DYNAMIC”,则可能是由于配置错误或与Cookie相关的不兼容而绕过了APO。
- cf-edge-cache根据源服务器的缓存说明指示页面的缓存兼容性。此标头有两个可能的值-“ no-cache”和“ cache,platform = wordpress”。使用Cloudflare WordPress插件正确配置APO后,此标头将为不应缓存的页面返回“ no-cache”,为可缓存页面返回“ cache,platform = wordpress”。
- age表示页面已在Cloudflare的CDN中缓存的秒数。
如果在检查WordPress网站时看到上面的三个标题,则表示APO已全部设置。现在,继续进行速度测试,看看您的网站快多少!
没有Cloudflare插件的自动平台优化
Cloudflare建议将自动平台优化与官方Cloudflare WordPress插件一起使用。这也是我们建议的方法,因为它可以确保您从APO中获得最大的性能优势。如果您的网站与Cloudflare WordPress插件不兼容,我们建议与开发人员合作以使您的网站兼容。
如果您确实无法安装Cloudflare插件,可以在没有该插件的情况下使用APO。如果选择此路线,您仍然可以利用一些性能优化,但是要注意一些重要的限制。
带有WordPress插件的Cloudflare APO
安装了Cloudflare WordPress插件后,自动平台优化将提供以下HTML边缘缓存功能。
- 具有30天TTL的HTML边缘缓存。
- 发布或更新帖子后30秒钟内,缓存失效。
- 绕过已登录用户的HTML缓存。
- 绕过某些Cookie(例如WooCommerce)的HTML缓存。
- 如果可以从Cloudflare的CDN提供页面,则跳过对原始服务器的请求。这样可以减少源服务器上的负载。
没有WordPress插件的Cloudflare APO
如果未安装Cloudflare WordPress插件,则可以看到APO HTML边缘缓存的以下功能。
- 具有30天TTL的HTML边缘缓存。
- 30分钟(而不是30秒)内使缓存失效。
- 绕过某些Cookie(例如WooCommerce)的HTML缓存。
- 为了提供正确的缓存无效逻辑,仍然需要对原始服务器的请求。
如您所见,将自动平台优化与官方的Cloudflare WordPress插件一起使用有多个优点。
大新闻-@Cloudflare的WordPress APO在这里,它代表了最大化WordPress性能的巨大进步。?你可以学习如何使用它来给自己的网站升压!点击鸣叫
摘要
毫无疑问,针对WordPress的Cloudflare自动平台优化是最近历史上提高WordPress性能的最重要的服务。它超越了通常的Web服务器优化,服务器端页面缓存和CSS / JS缩小策略,并提供了全新的功能。
自成立以来,WordPress一直受到以下事实的限制:没有一种简化且简单的方法将CDN上的HTML页面缓存。通过利用其由150多个数据中心,Workers和Workers KV组成的网络,Cloudflare扩大了WordPress站点和使用尖端框架设计的静态站点之间的性能竞争环境。
这是一项不小的壮举,我们期待着将来看到Cloudflare如何将其自动平台优化功能扩展到其他CMS平台。
您是否正在使用Cloudflare APO加速WordPress网站?在下面的评论中让我们知道!
如果您喜欢这篇文章,那么您会喜欢Kinsta的WordPress托管平台。加速您的网站并获得我们经验丰富的WordPress团队的24/7支持。我们基于Google Cloud的基础架构专注于自动扩展,性能和安全性。让我们向您展示Kinsta的与众不同!查看我们的计划