推进 Interaction to Next Paint

INP 已不再处于实验阶段。了解 Chrome 计划在 2024 年将其成为 Core Web Vitals 指标。

Annie Sullivan
Annie Sullivan

Chrome 的 Web Vitals 计划的使命是帮助开发者专注于对优质用户体验至关重要的指标:核心网页指标。我们一直重视的用户体验的一个重要方面是响应能力,即网页对用户互动的快速反应能力。

First Input Delay (FID) 是 Core Web Vitals 指标,用于衡量响应情况,但正如我们过去所写,FID 存在已知的局限性。这促使我们探索和寻求反馈,以期探索能够更有效地解决这些限制的实验性指标。2022 年,我们宣布将 Interaction to Next Paint (INP) 作为这项新指标,在我们的工具中广泛提供,并开始与社区合作测试其效果。

经过一年的测试和社区收集反馈后,我们已准备好进行培训,并宣布 INP 不再处于实验阶段。此外,自 2024 年 3 月起,我们还致力于将 INP 作为新的核心网页指标响应来推广,以取代 FID。

在这篇博文中,我们将更详细地介绍做出此决定背后的动机、具体变化以及如何着手实施。如需详细了解此次变更对 Google 搜索有何影响,请参阅他们的博文

更有效的响应性指标

2020 年,我们在 Core Web Vitals 中推出 FID 时,FID 向前迈出了一大步。它为开发者提供了一种新的方式,让他们可以根据真实用户的体验来衡量响应速度,而这一直是 Web Vitals 计划的重要组成部分。与仅大致估算网页互动情况的指标(例如总阻塞时间 (TBT)可交互时间 (TTI))不同,FID 直接衡量用户体验。最重要的是,由于真实用户与网页的互动方式,网页的 TBT 或 TTI 速度很慢,但仍被视为自适应网页。

虽然 FID 确实改善了我们衡量响应能力的方式,但并非无限制。这个名称本身就存在两个这样的限制:“首次输入”和“delay”FID 仅报告用户首次与网页互动时的响应速度。尽管第一印象很重要,但首次互动并不一定代表网页整个生命周期的所有互动。此外,FID 仅衡量首次互动的输入延迟部分,即浏览器在开始处理互动之前必须等待的时间(由于主线程繁忙)。

请输入 INP。INP 不仅会衡量首次互动,还会将所有互动都纳入考量,并报告网页在整个生命周期内的互动速度最慢的互动。此外,INP 并非仅衡量延迟部分,而是衡量从互动开始到通过事件处理脚本到浏览器能够绘制下一帧的完整时长。因此,是 Interaction to Next Paint。这些实现细节使得 INP 可以比 FID 更全面地衡量用户感知的响应情况。

不断演变的 INP

从今天起,INP 不再处于实验阶段,而是被视为待处理的 Core Web Vitals 指标。这是一个新标识,表示 INP 已证明其已准备好取代 FID,但我们尚未做出变更。为了让生态系统有时间进行调整,INP 将于 2024 年 3 月正式成为稳定的 Core Web Vitals 指标。

此图显示了 INP 各阶段的时间表。从 Chrome 于 2022 年 5 月宣布对 INP 提供实验性支持,到 2023 年 5 月,Chrome 宣布 INP 现已成为一项非实验性的待处理 Core Web Vitals 指标;最终到 2024 年 3 月,INP 将成为稳定的 Core Web Vitals 指标,取代 FID。
显示 INP 阶段时间轴的图片。

在我们的各种工具中,您将开始看到没有 experimental 前缀或图标的 INP。如果您以编程方式使用来自以下任何 API 的 INP 数据,则需要更新代码以切换到非实验性 INP 字段。

工具 已弃用的字段 新字段
CrUX API experimental_interaction_to_next_paint interaction_to_next_paint
CrUX History API experimental_interaction_to_next_paint interaction_to_next_paint
CrUX BigQuery experimental.interaction_to_next_paint interaction_to_next_paint
PageSpeed Insights API experimental_interaction_to_next_paint interaction_to_next_paint
Lighthouse 报告* experimental-interaction-to-next-paint interaction-to-next-paint
API 与其新旧 INP 字段名称的映射。
* 在版本 11 中,Lighthouse 将停止使用实验性 INP 字段。

为了简化过渡并避免中断任何下游应用,这些 API 将继续在实验性 INP 字段中提供 90 天。我们将于 2023 年 8 月 8 日停止为实验性 INP 字段提供 API 支持。

与此同时,在 2024 年 3 月之前,FID 仍为 Core Web Vitals。届时,INP 将加入 Largest Contentful Paint (LCP)Cumulative Layout Shift (CLS) 作为三项稳定的核心网页指标。在未来的更新中,我们将分享更多相关信息,说明此项变更的确切时间,以及 FID 在被取代为 Core Web Vitals 之后的计划。

INP 使用入门

良好的 INP 值不超过 200 毫秒,不佳的值大于 500 毫秒,介于两者之间的所有值都需要改进。

不要等到 INP 在 2024 年成为 Core Web Vitals 指标后才开始改进。就在移动设备上的 FID 表现而言,您的网站很可能位于 93% 的网站中;然而,您可能会惊讶地发现,只有 65% 的网站在移动设备上的 INP 不错。INP 可以更准确地反映响应速度,因此这些数据有助于我们更清晰地发现我们还有改进空间。

若要了解您的网站是否存在 INP 问题、如何解决这些问题以及要解决的 INP 问题,您最好先查看 INP 优化指南。无论您是第一次了解响应速度,还是一位性能专家,我们增添了许多新指南,让每个人都尽可能轻松地了解如何衡量和优化 INP。

学习 INP 可能需要一些时间,这没关系。为帮助您专注于投资回报率最高的优化,我们在今年早些时候发布了一篇博文,提炼出有关改进核心网页指标的最有效建议。具体而言,我们介绍了三种同样适用于优化 FID 和 INP 的须知技巧:避免或拆分耗时较长的任务、避免不必要的 JavaScript 以及避免大量渲染更新。如需详细了解这些方法以及其他许多 INP 优化方法,请参阅我们的文档

未来之路

新的响应标准已设立完毕,我们很高兴看到整个社区为改善用户体验而不懈努力。早期的反馈案例研究取得了良好的效果,但我们知道,对许多人来说,前路漫长而又不熟悉。我们会努力提供经过改进的诊断工具工具文档,以期尽可能帮助开发者顺利完成升级。

我们将于 2024 年 3 月发布 INP 确切升级日期,敬请关注最新动态。尽管该指标不再处于实验阶段,我们随时欢迎通过 web-vitals-feedback@googlegroups.com 提供反馈,帮助我们从整体上改进 INP 和 Web Vitals 计划。