WordPress上的CDN加速可以大大提升网站速度体验。
网站速度的先决条件之一是内容交付网络(CDN)。CDN减轻了网络服务器的负担,加快了向所有网站访问者提供内容的速度。因此,从您的用户体验到搜索引擎的潜力,一切都得到了改善!开始学习这个话题的一个好方法是激活WordPress CDN。
在这篇文章中,我们将解释在WordPress网站上添加CDN的最简单的方法。但在此之前,我们概述了CDN的基本定义,为什么要使用CDN,以及一些额外的好处。我们还将分享一些速度测试,以便您可以更好地判断您希望在您的网站上看到多少性能改进。
什么是WordPress CDN?
CDN的工作原理
CDN的优势
CDN速度测试:有无CDN
需要CDN吗?
流行的CDN提供商
如何在WordPress中安装CDN
什么是WordPress CDN?
CDN是内容交付网络的缩写。这些服务器网络(也称为pop)分布在世界各地。它们被设计用来托管和交付WordPress站点的静态(有时是动态)内容,比如图像、CSS、JavaScript和视频流。
CDN的工作原理
首先,你不希望CDN和你的WordPress托管公司混淆。这些是完全不同的服务。CDN不是你的主机服务提供商的替代品,而是提高你网站速度的另一种方式。虽然有可能你的网站托管速度很快,但是CDN可以让你的网站更快。
CDN到底是怎么运作的?例如,当您托管一个网站时,您必须选择一个物理数据中心位置,如中美洲、欧洲、南美洲或亚洲。假设你选择中美洲。
这意味着你的网站实际上位于爱荷华州萨布拉夫斯的“主机服务器”上。当欧洲人访问你的网站时,比那些从德克萨斯州达拉斯来的人要花更长的时间。为什么?因为数据必须传输更长的距离。
这叫延迟。延迟是指通过网络传输数据所涉及的时间和/或延迟。距离越远,延迟越大。
这就是CDN发挥作用的地方。它通过从离站点更近的服务器加载站点内容来帮助减少延迟。这些CDN服务器有时被称为pop(存在点)。
CDN可以减少延迟,从而更快地将内容交付给最终用户。
WordPress用户有时不愿意研究内容交付网络,因为它们听起来太复杂了。但是CDN的功能比较单一。下面是它们的工作原理,可以通过三个简单的步骤实现:
第一步
你可以注册一个免费的CDN托管服务提供商,或者选择一个独立的CDN提供商并订阅他们的服务。第三方CDN提供商通常会根据数据使用情况提供免费的高级计划。
第二步
你在你的网站上激活CDN。可以安装一个第三方CDN的免费插件,比如CDN Enabler或者WP Rocket来集成。
这些插件会自动将您的资产链接到CDN。你不用做任何事情就可以把你的内容放到CDN上;关键是要放手!部署CDN比以前容易多了。
第三步
当人们访问你的网站时,它会从世界各地的不同服务器加载你的WordPress网站的内容。欧洲访问者从欧洲服务器上接收你的网站内容,而美国访问者从离他们更近的美国服务器上获得同样的内容。
CDN如何实现这个目标?
CDN通常使用两种技术将用户路由到正确的位置:IP任播+地理位置路由。它们可以自动检测用户请求的来源,并将它们路由到最近的服务器。
然而,为你的WordPress主机选择一个战略性的服务器位置仍然是至关重要的。即使CDN有助于分发您的媒体和内容,当您的网站被加载时,您仍然需要向托管服务提供商提出请求——除非您在代理服务器上使用整页缓存,这一点我们将在后面介绍。
CDN的优势
在你的WordPress网站上使用CDN有很多好处。
1.性能改进
性能提升是使用CDN的最大原因之一。事实一再证明,更快的网站加载速度与更高的转化率、更低的跳出率和更长的平均访问时长相关联——更不用说更好的用户体验了。
你上一次因为网站加载时间太长而在浏览器中点击返回是什么时候?这是网站所有者最不希望发生的事情。但是不要相信我们的话。以下是行业领导者关于网站性能重要性的一些统计数据:
页面响应延迟1秒,转化率会降低7%。(来源:Kissmetrics)
英国广播公司发现,在网站加载后,每秒钟都有10%的用户离开他们的网站。(来源:创意博客)
加载时间每延迟一秒,转化率就会下降20%之多。(来源:ThinkWithGoogle)
在减少了近40%的页面加载时间后,Pinterest的注册人数增加了15%。(来源:Pinterest Engineering on Medium)
这里有一些CDN可以帮助提高WordPress网站性能的方法。
减少TTFB
我们上面已经提到,WordPress CDN可以通过缩短数据传输所需的物理距离来帮助减少延迟。但是也可以帮你缩短第一个字节(TTFB)的时间。
这测量浏览器在从服务器接收第一个数据字节之前等待的时间。获取这些数据的时间越长,显示页面的时间就越长。
CDN可以帮助减少TTFB
一个常见的误解是,TTFB是在DNS查找时间之后计算的。然而,原始网络中TTFB的计算总是包括网络延迟。这涉及一个3步的过程,因此延迟和延误可能发生在中间的任何地方,从而增加你的总TTFB。
高TTFB可能是由多种原因造成的,例如主机服务器上的错误代码或错误配置的缓存。但是地理距离是个问题。
我们进行了两项测试,以显示有无Cloudflare的TTFB之间的差异。我们将每个测试运行5次,然后取平均值。
1:不带CDN的TTFB
首先,我们在禁用CDN的情况下运行Pingdom测试。结果如下:
总加载时间为1.45秒
平均TTFB约为136毫秒。
在CDN前添加TTFB
2: TTFB和CDN
然后我们启用了CDN并再次运行测试:
总加载时间减少到788毫秒。
平均TTFB增加到37毫秒。
CDN能带来多大的改变!
另一件需要注意的重要事情是,我们已经选择了斯德哥尔摩进行测试。为什么?因为我们想向您展示通过缩短物理距离可以实现的真正改进。斯德哥尔摩有CDN POP,所以我们的内容是从斯德哥尔摩提供的。
添加CDN后的TTFB
通过缓存加快交付速度
类似于你在WordPress主机或插件中使用缓存的方式,CDN也使用缓存。这是他们快速传递文档的一种方式。
重要提示:一旦CDN获得您的媒体副本,访问者通常需要请求一次或两次才能将其缓存在CDN上。在CDN请求上放置一个名为“X-Cache”的HTTP头。这个文件通常在第一个或第二个请求中显示为MISS,这意味着它还没有被缓存。
CDN未缓存(未命中)
在后续请求中,它显示为HIT,现在缓存在您的CDN上。它会根据各种因素保留缓存,如ETag头、过期头或手动清除CDN缓存。
CDN缓存(命中)
借助Cloudflare等CDN,您可以利用所谓的整页反向代理缓存,将缓存提升到一个新的水平。这包括在主URL而不是辅助域上缓存所有内容。
使用GZIP压缩可以节省大量成本。
WordPress CDN也使用GZIP,一种用于文件压缩和解压缩的文件格式和软件应用程序。服务器端(或CDN server /POP)启用了GZIP压缩,进一步减小了HTML、样式表和JavaScript文件的大小。
它不适用于图像,因为它们是以不同方式压缩的。有些人已经看到由于压缩而减少了70%。这是你能做的最直接的优化之一。别担心,所有知名的cdn默认都启用了这个功能。
HTTP/2
HTTP/2也是所有cdn用来加速资产交付的主要功能之一。性能的提高是由于多种原因,如协议可以支持更好的复用、并行、霍夫曼编码的HPACK压缩、ALPN扩展和服务器推送。
2.降低带宽成本
CDN的另一个优点是,它可以帮助卸载主机服务器(源服务器)的CPU和资源。这有助于:
防止高峰流量使您的主机不堪重负。
降低整体带宽成本。
消除流量波动带来的带宽成本波动。
你最不希望的就是某些东西像病毒一样传播,你不得不接受房东的高额账单或超额费用。
CDN帮助降低成本的另一种方式是提供一种简单的方式来实现连锁盗窃保护。这是指限制HTTP引用,防止其他人将您的资产嵌入其他网站。
你们中的一些人可能听说过《赫芬顿邮报》的惨败。《赫芬顿邮报》的一位作者从燕麦片的网站上复制并粘贴了这张图片,这张图片积累了AWS的1000美元的账单,并被发送给了燕麦片的网站所有者。燕麦片的所有者最终替换了这些图像,以便《赫芬顿邮报》文章的读者可以看到它们。
安全链
这就是为什么连锁盗窃保护必须始终启用。否则,你可能会以一个令人发指的法案结束。
3.高可用性和可扩展性
CDN提供高可用性和可扩展性。因为可以跨不同地理位置的多个pop访问复制的内容,所以如果一台服务器出现故障,Web流量将被动态地路由到另一台服务器。不需要担心可扩展性,因为CDN提供商在构建它时已经考虑到了这一点。如果你使用较小的共享主机,CDN可以防止你的网站崩溃,因为它可以处理大部分负载。
4.SEO优势
谷歌早在2010年就将网站速度作为排名因素,所以更快的网站可以带来更高的排名已经不是秘密。虽然无法知道速度对速度的影响有多大,但你可以放心地假设它是更关键的因素之一,因为它会影响用户体验。
布莱恩·迪恩(Brian Dean)分析了排名前100万的域名,以查看网站速度和谷歌排名之间的关系,发现了正相关。虽然这些测试几乎无法证明,但你可以放心,拥有一个更快的网站只会对你在谷歌有所帮助。简而言之,谷歌奖励快速网站。
网站速度——谷歌排名
除了网站页面的速度,CDN还有助于提高抓取媒体的速度,比如图片,这与谷歌图片搜索中的索引有关。
5.额外保险
许多cdn通过允许您实现Web应用防火墙(WAF)和一些所谓的源屏蔽来提供额外的安全性。这些可以帮助:
缓解各种形式和规模的DDoS攻击,包括针对UDP和ICMP协议的攻击。
阻止SYN/ACK、DNS放大和第7层攻击
把你的网站放在代理后面,它会隐藏你原来的IP地址,尽管它不是防弹的。
查看我们关于如何阻止DDoS攻击的案例研究。我们的客户拥有一个运行Easy Digital Downloads的小型电子商务网站,该网站在7天内对单个页面的请求超过了500万次。
该网站通常每天只产生30-40 MB的带宽和数百名访问者。但是网站突然达到了15-19GB的日数据传输!这是一个4650%的增长。谷歌分析显示,没有额外的流量。这可不好。
DDoS攻击
客户在他们的站点上实现了Sucuri的Web应用防火墙,所有的带宽和请求都立即在站点上掉线(如下图所示),此后没有出现任何问题。所以,如果你遇到这样的问题,这是一个很好的投资和节省时间的方法。
CDN还提供了额外的安全特性,例如安全令牌,它允许您生成一个带有过期时间的安全链接。过期后,用户将无法再访问该内容。
CDN速度测试:有无CDN
让我们做一些测试来向你展示结果,而不是仅仅告诉你WordPress CDN的好处。
我们在4个不同的测试地点运行了5个测试,分别启用了CDN和没有启用CDN。
该网站使用免费的Cloudflare。
服务器的物理位置在美国爱荷华州。
重要事项:当您测试CDN速度时,请运行几次以缓存媒体。正如我们之前描述的CDN缓存,缓存后X-Cache HTTP头会显示“HIT”。如果没有缓存,将显示“未命中”。如果你没有正确地做到这一点,那么在你没有先设置缓存的情况下,CDN可能无法帮助你提升网站速度。
无CDN(美国德克萨斯州达拉斯)
首先,我们在达拉斯使用一台没有CDN的服务器运行了5次Pingdom测试。然后我们取平均值。
CDN测试没有使用达拉斯服务器(来源:Pingdom)
无CDN(澳大利亚墨尔本)
然后,我们在澳大利亚墨尔本用一台没有CDN的服务器运行了5次Pingdom测试。也取平均值。
无澳洲服务器的CDN测试(来源:Pingdom)
无CDN(美国加利福尼亚州圣何塞)
然后,我们在加州圣何塞进行了五次没有CDN的Pingdom测试,并取平均值。
没有来自圣何塞服务器的CDN测试(来源:Pingdom)
无CDN(瑞典斯德哥尔摩)
我们在瑞典斯德哥尔摩进行了五次没有CDN的Pingdom测试,取平均值。
瑞典的CDN测试没有使用服务器(来源:Pingdom)
使用CDN(美国德克萨斯州达拉斯)
为了进行比较,我们使用位于德克萨斯州达拉斯的服务器上的活动CDN运行了五次Pingdom测试。然后取平均值。
使用Dallas服务器测试CDN(来源:Pingdom)
使用CDN(澳大利亚墨尔本)
然后我们用澳大利亚墨尔本服务器的CDN运行Pingdom测试5次,然后取平均值。
用CDN测试澳大利亚(来源:Pingdom)
使用CDN(美国加利福尼亚州圣何塞)
我们还用加州圣何塞的服务器测试CDN 5次,取平均值。
使用圣何塞服务器进行CDN测试(来源:Pingdom)
使用CDN(瑞典斯德哥尔摩)
我们对带有活动CDN的Stockholm服务器运行了五次Pingdom测试。然后取平均值。
使用瑞典服务器的CDN测试(来源:Pingdom)
结果
让我们看看结果,看看CDN对总加载时间的影响有多大。
CDN速度测试对比
美国得克萨斯州达拉斯:使用CDN减少总加载时间8.11%。
美国加利福尼亚州圣何塞:CDN的总加载时间减少了33.02%
墨尔本:使用CDN总加载时间下降54.19%。
瑞典斯德哥尔摩:使用CDN的总加载时间减少了54.7%。
CDN使得达拉斯和圣何塞网站的页面加载速度稍快。但是,如果你看看澳大利亚的测试,你会发现加载时间有巨大的差异。这是因为测试服务器的地理位置。
测试服务器位于爱荷华州,所以在没有来自达拉斯和圣何塞的CDN的情况下加载数据时不会走那么远。但是对于澳大利亚来说,距离是缩短装货时间的关键。
当我们启用CDN时,会加载来自澳大利亚悉尼的CDN POP的内容和媒体,这样会大大加快下载时间。瑞典斯德哥尔摩也是如此。
现在,您是否希望在某些情况下将加载时间减少50%以上?答案应该是肯定的!
需要CDN吗?
我们经常会遇到这样的问题。根据我们的经验,这应该不是问题,因为CDN在几乎所有情况下都是有益的,不管你网站的大小和流量如何。
看看我们上面列出的所有好处。价格通常不再是一个因素,因为大多数CDN提供商都非常便宜或使用免费的Cloudflare。更不用说,CDN有助于提升SEO、网站加载、用户体验等等!
如果你只向特定地理位置的访问者提供内容,你可能需要做一些进一步的测试。
例如,假设你在加拿大安大略省经营一家有网站的小店。也许你不太关心其他地方的顾客。你需要研究CDN提供商的POP的位置。
如果您的web服务器主机位于安大略省,但您注册的CDN提供商只提供美国最新的POP,这可能会降低您网站的速度。在这种非常罕见的情况下,您可能会受益于不使用CDN。
流行的CDN提供商
有许多优秀的CDN提供商,我们鼓励您探索其他顶级CDN:
快速CDN
堆栈路径
亚马逊云锋
Imperva CDN
苏库里
Ezoic
如何在WordPress中安装CDN
每个CDN提供商都有自己的集成方法,但幸运的是,他们都支持WordPress,并且很容易集成。如果您遇到问题,请查看他们的文档或询问他们的支持团队。
云耀斑
如果你正在使用Cloudflare,我们会提供一个关于如何在你的WordPress网站上安装Cloudflare的深度教程。
第三方CDN
如果您正在考虑自己部署CDN,我们建议为您的媒体和资产使用子域,而不是提供商的随机URL。
例如:cdn.yourdomain.com。
这将确保你的网站更好的品牌,减少索引问题的麻烦。
在提供商处设置好CDN后,你可以使用免费的WordPress插件快速链接你的资产,并自动将它们复制到你的CDN提供商处。看看下面我们推荐的WordPress CDN插件列表。
顶级CDN插件和扩展
这些CDN插件不会在你的WordPress网站上自动激活CDN,而是将第三方CDN提供商(如Cloudflare、Fastly或Sucuri)连接到你的WordPress网站,从而允许CDN访问网站资产并将这些内容交付给访问者。
总的来说,最好的WordPress CDN插件让你轻松连接,提供一键解决方案,而不是复杂的集成。
以下是最好的WordPress CDN插件:
Cloudflare:如果您使用Cloudflare作为您的CDN提供商,这是一个正确的选择,尤其是因为它提供了一键安装、Web应用防火墙设置和自动平台优化工具,可以通过250多个快速可靠的数据显著加快站点速度中心。
Bunny.net:作为CDN提供商和WordPress CDN插件,Bunny.net提供快速集成来替换链接并将其添加到你的CDN中。通过自动HTTPS配置、自定义CDN主机名和从CDN服务中排除特定目录的能力,您可以快速提高性能。
LiteSpeed缓存:首先,这是一个缓存插件。但它也附带了免费的QUIC.cloud CDN缓存,或者您可以链接到任何CDN提供商。您可以使用各种功能以及缩小,图像优化和延迟加载来提高您的网站的性能。
W3总缓存:很多缓存插件也兼做CDN WordPress插件,W3总缓存也不例外。与一些最受欢迎的CDN提供商的集成可以立即提高您的网站的性能,而无需任何复杂的设置。这将向CDN发送媒体项目和主题文件等元素,同时在CDN中使用这些文件之前对其进行缓存和压缩。
CDN Enabler:这个插件重写了你所有的URL,以便从你的外部CDN提供资源。您可以链接到KeyCDN帐户,并利用缓存清除、性能增强等功能。
使用CDN来索引图像
你要确保当你转到CDN的时候,谷歌仍然会索引你的图片。
对于Yoast SEO插件的用户,您需要将以下代码添加到您的functions.php文件的底部。用自己的域替换域和CDN域。
function wpseo_cdn_filter( $uri ) {return str_replace( ‘http://yourdomain.com’, ‘http://cdn.yourdomain.com’, $uri );}add_filter( ‘wpseo_xml_sitemap_img_src’, ‘wpseo_cdn_filter’ );
如果你不这样做,它可能会导致你的图像被索引(如下所示)。你可以在谷歌搜索控制台中随时自己查看。
图片没有索引。
但是,谷歌搜索控制台有缺陷,有时它无法报告出现在谷歌上的索引图像。检查你的图片是否被索引的一个好方法是去谷歌图片搜索,输入如下:“site:https://yourdomain.com”。
谷歌图片搜索检查索引
重要:不要输入你的CDN网址。即使图片是从CDN提供的,它们也应该在你的根域上被索引。
如果你的图片出现在谷歌图片搜索中,它们会被很好地索引。
总结
现在你可以看到你可以从WordPress CDN获得的所有好处。它将确保您的媒体加载速度更快,减少您的TTFB,并大大降低您的带宽成本和服务器负载。
不仅如此,由于页面加载时间更快,你还可以看到更好的排名。最重要的是,你的访问者将获得更好的用户体验。