回到主页

更快的网站:超越PageSpeed洞察力

Google的PageSpeed Insights是一款易于使用的工具,用于测试网页是否可能比其需要的速度慢。它给出了一个分数来量化页面性能。由于此分数具体,因此PageSpeed Insights分数通常用作衡量网站效果的指标。与PageRank的年代相似,人们希望仅仅因为它存在而优化这个数字。事实上,Moz有一篇关于这个主题的热门文章:如何使用Google Page Speed Test Tool实现100/100。

对于常见CMS上的小型站点(想想Wordpress),这可以实现。如果那就是你,PageSpeed Insights是一个很好的起点。对于大多数网站来说,完美的分数是不现实的。那么我们从哪里开始呢?

这就是这篇文章的内容。我想提出三点:

  1. 延迟会比带宽损害加载时间
  2. PageSpeed Insights得分不应按面值计算
  3. 改进从测量,目标设定和优先级开始

我正在写一些关于SEO从业者的文章。我将跳过一些更技术性的内容。你应该以足够的视角离开,开始提出正确的问题。因此,您可以提出更好的建议。

免责声明: HTTP2改进了本文中讨论的一些问题。具体而言,对同一服务器的多个请求问题较少。它不是灵丹妙药。

延迟会比带宽损害加载时间

首先看看PageSpeed Insights的规则可能会让您认为这是为用户提供更少的字节数。缩小,优化,压缩。大小只是故事的一半。您的请求只需要一段时间才能到达服务器。然后服务器需要时间来回复你!

提出请求后会发生什么?

如果用户在浏览器地址栏中键入URL并按Enter键,则会发出请求。在提出请求时会发生很多事情。最后一部分是转移请求的内容。这只是受带宽和内容大小影响的最后一位。

满足请求需要(或多或少)这些步骤:

  1. 找到服务器
  2. 连接到服务器
  3. 等待回复
  4. 收到回复

每个步骤都需要时间,而不仅仅是最后一步。前三个与文件大小无关; 它们实际上是不变的成本。无论有效负载是微小的,缩小的CSS文件还是巨大的未压缩图像,每次请求都会产生这些成本。

为什么需要时间才能得到答复?

我们无法避免的因素是网络信号的传播速度不能超过光速。这是理论上的最大值; 实际上,传输数据所需的时间会更长。例如,巴黎和纽约之间的往返需要大约40 毫秒。如果数据实际跨越大西洋需要两倍的时间,那么从服务器获得响应所需的最短时间是80ms。

这就是CDN常用的原因。CDN使服务器在物理上更靠近用户,这是减少到达服务器所需时间的唯一方法。

这有多重要?

查看此图表(来自Chrome的DevTools):

红框中的所有值都是我正在考虑的“延迟”。它们总共大约220ms。实际的内容传输耗时0.7毫秒。没有压缩或减少文件大小可以帮助这个; 减少请求所花费的时间的唯一方法是减少延迟。

我们不需要提出很多加载页面的请求吗?

加载呈现页面所需的所有内容需要多个请求。如果该URL对应于网页,则浏览器通常会发现它需要加载更多资源来呈现页面。这些可以是CSS,JavaScript或字体文件。它必须递归地执行上面列出的相同步骤才能加载这些文件。

幸运的是,一旦找到服务器(上图中的“DNS Lookup”),浏览器将无需再次查找。它仍然需要连接,我们将不得不等待响应。

持怀疑态度的PageSpeed Insights测试

所有PageSpeed Insights评估都涵盖了可能影响网站速度的内容。对于大型网站,其中一些不太容易实现。根据您的网站设计方式,有些可能比其他网站更具影响力。这并不是说你有理由不做这些事 - 他们都是最好的练习,而且他们都有帮助。但它们并不代表整个网站的速度图。

考虑到这一点,这是对每个PageSpeed Insights规则的“持怀疑态度”。

测试侧重于减少带宽使用
测试侧重于减少延迟

不要将这些视为网站性能的最后一句话!独立于这些测试,这里有一些需要考虑的事情。有些内容完全没有被PageSpeed Insights覆盖,有些只是半途而废:

  • 缓存控制的内容。
  • 减少从第三方域加载的内容量。
  • 将服务器响应时间减少到超过通过PageSpeed Insights测试所需的最低时间。
  • 将服务器移近最终用户。基本上,使用CDN。
  • 减少阻止请求。确保您使用HTTP2将有助于此。
如何开始改进 测量

此帖子中的屏幕截图是使用Chrome DevTools创建的。它内置于浏览器中,允许您准确检查页面加载时会发生什么。

不要信任Pagespeed Insights工具,而是继续在Chrome中加载您的页面。看看它的表现。看看哪些请求实际上似乎需要更多时间。答案通常很明显:例如,加载广告的时间过长。

目标设定

如果完美的PageSpeed Insights分数不是您的目标,您需要知道您的目标是什么。这很重要,因为它允许您将当前性能与该目标进行比较。您可以看到减少带宽需求是否真正符合您的目标,或者您是否还需要做一些事情来减少延迟(使用CDN,处理更少的请求,首先加载高优先级内容)。

优先处理

优先考虑页面速度“修复”很重要 - 这不是唯一的优先级类型。还有一个问题是实际需要加载什么。PageSpeed Insights会尝试确定您是否优先考虑首要内容。这是一个很好的目标。这也不是一个完美的评估; 将内容分成“关键”和“非关键”路径可能更容易,无论表面上是什么。

例如:如果您的网站依赖广告收入,您可以加载网页上的所有内容,然后才开始加载广告。弄清楚如何减少服务是您和您的团队最好的挑战。毕竟,PageSpeed Insights是一种万能的解决方案。

结论

到目前为止的故事是,PageSpeed Insights可能很有用,但有更智能的方法来评估和提高网站速度。完美的分数并不能保证快速的网站。

所有文章
×

还剩一步!

确认邮件已发至你的邮箱。 请点击邮件中的确认链接,完成订阅。

好的