BLOG · 2026-09-10 Blog · 9 min

Core Web Vitals 2026

LCP <2.5s、INP <200ms、CLS <0.1 的 12 步清单,附 WebTagr 0.9s 实测。

Core Web Vitals 只有三个数,但每个数背后都是一堆细节。LCP 看加载、CLS 看稳定、INP 看交互,按这个顺序修,12 步全部变绿。

每一步都有“怎么测 + 怎么改”,照着打勾就行。

核心结论
  • LCP < 2.5s:首屏最大元素说了算
  • CLS < 0.1:宽高预留消灭跳动
  • INP < 200ms:长任务拆分 + 事件委托
  • 测量:实验室看方向,真机看结论

LCP 四步

  • ·首图 preload,其他图片懒加载
  • ·关键 CSS 内联,非关键延迟
  • ·字体 swap + 预加载,不挡首次渲染
  • ·HTML 边缘缓存,TTFB 先降下来

CLS 四步

  • ·所有图片/视频写死宽高比
  • ·广告位和嵌入框预留高度
  • ·字体用 CSS 占位,避免 FOUT 跳动
  • ·动态插入内容先占位再填充

INP 四步

  • ·长任务拆成 50ms 内的小块
  • ·列表用事件委托,别逐个绑
  • ·输入框防抖,滚动监听节流
  • ·第三方脚本全部延迟或按需加载

测量代码

用 PerformanceObserver 把三指标打到控制台,上线后接真实用户监控:

new PerformanceObserver((list) => {
  for (const e of list.getEntries()) {
    console.log(e.name, Math.round(e.startTime));
  }
}).observe({ type: "largest-contentful-paint", buffered: true });
上线前检查清单
  • 01LCP 元素是否 preload
  • 02图片视频是否有宽高
  • 03长任务是否拆分
  • 04第三方是否延迟
  • 05真机复测是否全绿

常见问题

分数每天波动正常吗?

正常。看 28 天聚合,别盯单次分数。

INP 一直是灰色?

说明样本不足,等真实交互数据积累。

WebTagr 自己的成绩?

LCP 0.9s,同一套清单跑出来的,可对照抄。