SEO

下次绘制交互(INP)

下次绘制交互(INP)是 Core Web Vitals 中的一项指标,衡量页面在用户交互(点击、轻触或按键)之后做出视觉响应所需的时间。2024 年 3 月,Google 将 INP 提升为官方排名因素,取代了首次输入延迟(FID)。

下次绘制交互(INP)是 Core Web Vitals 中的一项指标,衡量页面在用户交互(点击、轻触或按键)之后做出视觉响应所需的时间。2024 年 3 月,Google 将 INP 提升为官方排名因素,取代了首次输入延迟(FID)。

为什么重要

FID 只捕捉首次交互的延迟,而 INP 会追踪页面整个生命周期内的每一次交互,并以最慢的那一次进行评分。这更贴近用户的真实感受。据 Google 称,截至 2026 年,约 36% 的桌面端网站和 45% 的移动端网站仍未达到"良好"阈值,这使得 INP 优化成为相对竞争页面的明显优势。

阈值

评级INP 值
良好≤ 200 毫秒
需要改进200 到 500 毫秒
较差> 500 毫秒

以来自 Chrome 用户体验报告(CrUX)的真实用户数据的第 75 百分位(p75)进行评分。

是什么拖慢了 INP

冗长的 JavaScript 任务:任何占用主线程超过 50 毫秒的任务都会阻塞下一次交互。

输入延迟:因主线程正忙于其他工作,事件处理程序在运行之前所等待的时间。

呈现延迟:从事件处理完成到浏览器绘制下一帧之间的时间,通常由复杂的 DOM 或布局变化所驱动。

如何优化

拆分冗长任务:使用 setTimeoutscheduler.yield()requestIdleCallback,将超过 50 毫秒的任务拆开。

保持事件处理程序轻量:不要在点击处理程序内部执行繁重工作,将其推迟到下一次 requestAnimationFrame 之后。

避免不必要的重新渲染:在 React 中,使用 memouseMemouseCallback 来避免冗余更新。

使用 CSS containcontain: content 等属性可以限制布局和绘制的范围,使帧渲染开销更低。

延迟第三方脚本:使用 async/defer 加载广告、分析和聊天小工具,使它们不会阻塞交互。

测量工具:使用 PageSpeed Insights、Web Vitals Chrome 扩展程序以及 Search Console 的 Core Web Vitals 报告,获取真实的 INP 数据。

Sources: