为了解开这个诊断,让我们从HTTP请求的背景研究开始。HTTP是超文本传输协议(HyperText Transfer Protocol)的首字母缩略词,是网络浏览器用来与网络服务器通信的互联网协议。HTTP请求是向服务器发出的标准网络请求,用于获取所需的任何资源。在网站上,这些资源包括HTML文档、CSS样式表、JavaScript文件、字体等。
要了解更多关于HTTP的知识,请访问10Web Site Speed Glossary。HTTP请求的本质解释了为什么诊断说“少做”而不是“不做”HTTP请求:它们对任何网站的功能都是必不可少的。一个网页由不同的基本部分组成:HTML文档,为页面设计样式的CSS样式表,添加交互功能的JavaScript文件,图像,字体等。这些网页元素存储在服务器上。在每次加载页面时,如果它们没有在本地缓存,浏览器将代表您的计算机请求在使用它们构建网页之前获取这些资源。实际上,会发出单独的HTTP请求来获取这些资源(图像、样式表和脚本)。例如,如果有多个外部CSS文件,将启动一个单独的HTTP请求从服务器检索它们。上面描述的操作也发生在WordPress网站上,可能会有比平常更多的HTTP请求。这是由于网站运行所依赖的插件和字体:每个插件运行所需的样式表和脚本将在页面加载时在不同的HTTP请求中检索,从而增加了页面的HTTP请求池。字体也是如此。此外,使用自定义字体而不进行适当的前端优化可能会导致页面加载缓慢。综上所述,过多的HTTP请求会如何影响SEO和网站的用户体验呢?过多的HTTP请求如何影响UX和SEO ?首先,了解网站速度是在互联网上运行的任何商业企业成功的决定性因素是有益的。想象一下,如果你不得不等待五秒钟或更长时间来加载这个网站的主页,你回来找东西的机会有多大?这就是过多的HTTP请求对用户体验的影响。更少的HTTP请求尤其重要,因为默认情况下大多数HTTP请求都是渲染阻塞的,除了async/延迟的JavaScript文件和图像。在绘制DOM之前,页面等待所有HTTP请求完成,这会对网站的Core Web vital评估产生负面影响。尽管有了增强的浏览器功能,大多数这些请求都是并行进行的,但无论如何,延迟增加了任何网站的交互时间(TTI)。然而,过多的HTTP请求对用户体验和SEO的影响并不是相互排斥的。事实上,在2018年,Pingdom报告说,如果页面加载时间从2秒增加到5秒,网站的跳出率可以从9%增加到38%。虽然高跳出率并不会直接影响网站在谷歌上的搜索排名,但这意味着排名因素没有得到优化。一个例子是页面加载时间(这是一个排名因素)。
的形象来源
网站速度作为本文的一个方面,也是很重要的考虑,大多数的网站访问者是通过他们的移动电话。网页在移动设备上的加载时间要比在台式机上长80%。这些统计数据支持这样一个事实,即减少HTTP请求的影响不仅仅是一个令人难忘的用户体验,它还提高了网站的质量,从而提高了SEO的可信度。此外,网站上的流量加上对托管服务器的请求数量也会减慢网站的速度。这也会损害用户体验和SEO。总的来说,优秀的用户体验离不开快速的页面加载时间,无论你的网站上运行的是什么。同样的道理,一个速度慢的网站也无法在谷歌的搜索排名中脱颖而出。如何识别你的机会,使WordPress上的HTTP请求更少?这有点棘手,因为HTTP请求是必不可少的。因此,重要的是要注意正在传输的内容的大小,而不仅仅是HTTP请求的数量会影响页面加载时间。简单地说,更多的文件意味着更多的HTTP请求,更大的文件代表更长的HTTP请求。这就是为什么将所有JavaScript合并到一个文件中并不是解决页面加载时间问题的灵丹妙药。然而,它在某种程度上是有帮助的,因为我们节省了建立连接、DNS解析和其他一些阶段。此外,关于JavaScript文件组合,如果一个JavaScript文件(脚本a)依赖于另一个JavaScript文件(脚本B),脚本a将等待脚本B请求完成后再执行。但是,如果结合起来,那么就没有额外的等待。在确定HTTP请求优化机会时,有几个问题可以证明是有用的。但是,重新确定HTTP请求是用来获取资源的,这一点很重要。这些资源的数量和大小提高了“发出更少的HTTP请求”的诊断。这意味着优化网站上的HTTP请求与你可能知道的其他网站速度因素间接相关。考虑到这些要点,诚实地回答以下问题可以确定潜在的优化前景,以最大限度地减少网站上HTTP请求的数量或时间。我是否需要在页面加载时获取所有资源?(优化数量)我可以将一些样式或脚本组合成一个吗?(优化数字)我需要所有的JavaScript在初始页面加载或我可以推迟一些?(优化所花费的时间)我是否需要在初始页面上加载所有图像,或者我可以延迟加载它们?(优化数量和时间)我使用了多少个插件,启用了多少个?当前页面不需要的插件是否会添加额外的HTTP请求?我可以为我的一些核心插件提供轻量级的替代品吗?接下来的操作步骤将讨论如何发出更少的HTTP请求来解决所有这些问题。但在此之前,重要的是要注意,一个网页发出的HTTP请求数量乘以访问该页面的用户数量会增加服务器上的负载。如何修复“减少HTTP请求”在前面的章节中,已经确定了一个网站执行的HTTP请求的数量和每个请求花费的时间会损害网站的整体性能和质量。如何优化你的网站以减少HTTP请求?让我们回顾一下第一个也是最明显的解决方案。如果你想在没有W3 Total Cache这样的插件的情况下发出更少的HTTP请求,下面的技巧将为你省去配置插件进行优化的障碍。
一些插件只需要在选定的页面。Contact Form 7就是一个很好的例子。但是因为你已经安装了它,它的脚本和样式可能会在每个页面上被请求。因此,您的站点可能会因为不必要的样式和脚本而变慢。插件中脚本的条件加载确保了站点范围内不需要的脚本只在需要时才被请求。要做到这一点,确保你在网站上安装的插件只在必要的网页上附加脚本和样式。例如,如果有一个表单插件,它只在包含表单的网页中加载脚本。
10Web助推器有助于避免加载不必要的样式在网页中,通过分析<!doctype html >< >头 > < /头身体< >正文内容…身体< / >< / html >使用这种方法,即使需要其他HTTP请求来呈现页面的其他部分,在页面加载时间方面也会有显著的性能提高。再一次,更大更多的文件导致HTTP请求的响应时间更长。一个有助于减少HTTP请求的WordPress插件应该能够减少传输资源的大小,并确保在任何给定时间只有必要的文件通过HTTP被请求。没有那么多插件适合这个用例,但我们有一个插件。10Web Booster