在使用 PageSpeed Insights 测试测试不同网站时,我遇到了相同的现象,我自己无法解释:
有多个 URL 通过了 Core Web Vitals 评估,但全部为红色指标且性能等级较低,如屏幕截图所示:
是的,我知道,Core Web Vitals 评估是通过汇总过去 28 天内 Chrome 用户的加载时间来计算的。但这对我来说仍然无法解释:加载指标在 Core Web Vitasl 评估和性能诊断之间怎么会有如此巨大的差异?
并且:这不是单一案例或单一 URL。我经常看到这种行为,经常认为这可能是意外。
有人可以向我解释一下这些差异吗?
PS:这种差异是有一定意义的,这可以很好地解释它,但我对此非常怀疑。其含义是:
onLoad
事件。存在许多可能的差异,其中大部分都在 Goggle Chrome 团队的指南中进行了介绍,例如在 Core Web Vitals 工作流程与 Google 工具文档以及我们的每个优化指南(LCP、CLS)中)。完全披露,我帮助写了这些。
首先,正如里克在评论中提到的,确保你正在进行同类比较。通常,真实用户数据不可用于特定的 URL,因此顶部部分可能针对整个源,而不仅仅是该 URL。
接下来,Lighthouse 在特定条件下进行模拟负载。它还仅对折叠内容以上进行冷加载,而不进行交互。
具体查看此示例(并假设它是 URL 级数据,或者至少代表该 URL):
对于真实用户来说,LCP 和 FCP 可能比 Lighthouse 更快(或更慢),具体取决于:
对于 CLS 差异,此处通常表示加载后 CLS,如我们的指南中所讨论的那样。 CLS 是在页面的整个生命周期中进行测量的,虽然 CLS 确实在页面加载期间通常很糟糕(这是 Lighthouse 测量的全部内容),但有些情况可能会在以后发生。例如,如果您滚动,延迟加载的图像或广告就会在没有保留空间的情况下弹出。我也经常看到粘性标题实施不当的滚动问题。如果与页面交互发生在 500 毫秒的交互宽限期之后,也可能导致 CLS。 总而言之,Lighthouse 可能代表也可能不代表真实用户如何体验您的网站。
这是否意味着 Lighthouse 没有用了?绝对不! Lighthouse 对于识别潜在的性能问题非常有用。对于加载问题(FCP 和 LCP),这些问题可能比现实情况更糟糕,因为它对页面进行简单的冷加载。但优化最坏的情况将使您的网站受益!
对于 CLS(对于 INP 也类似),这更多的是对简单页面加载功能的限制。因此,在匹配的地方,您可以使用它的建议来改善现实生活中的指标。如果没有,您至少已经排除了负载问题作为可能的原因,并且可以看看还有哪些地方可能会很慢。