修复每个核心网页指标

三个指标,三个不同的任务。能改进每个指标的具体修复方案,不涉及理论。

Performance & Core Web Vitals supporting 1 min read reviewed 25 jul 2026

← Guides All guides in this topic

on this page
  1. LCP:让主要内容快速加载
  2. INP:保持主线程空闲
  3. CLS:阻止页面跳动
  4. 导致不断失败的错误
  5. 如何通过全部三项
  6. 一周的救援计划

LCP:让主要内容快速加载

最大内容绘制通常是一张英雄图像、一个大标题或海报帧。找到那个元素。其他一切都是次要的,直到它足够快。

影响 LCP 的杠杆:压缩和调整资源大小、使用现代格式、设置尺寸、在发现较晚时预加载确切的 URL、将其放在 CDN 上,以及降低 TTFB 以便字节可以开始传输。避免对 LCP 图像进行延迟加载。避免延迟实际 LCP 节点的轮播。

服务器角度:如果 HTML 本身很慢,任何图像技巧都救不了你。先修复缓存和源站。

关键要点:命名 LCP 元素,然后让该文件及其发现路径的速度枯燥乏味地快。

INP:保持主线程空闲

交互到下一次绘制关心的是页面在点击后的响应速度有多快。主线程上的大量 JavaScript 通常是罪魁祸首:大型水合、昂贵的处理程序、永远运行的第三方脚本。

杠杆:删除或延迟第三方、拆分处理程序、避免在营销页面上使用大型同步组件、倾向于使用小岛屿的服务器渲染 HTML,以及在真实的中端 Android 设备上测试,而不仅仅是桌面节流预设。

关键要点:INP 改进是因为你从主线程中删除了工作,而不是因为你微观优化了 CSS 过渡。

CLS:阻止页面跳动

累积布局偏移是视觉不稳定。没有尺寸的图像、延迟交换和调整文本大小的字体、在布局中打开一个洞的广告和嵌入,以及在内容上方注入的横幅。

杠杆:在媒体上使用宽度和高度或 CSS aspect-ratio、为广告预留槽位、不会导致布局爆炸的字体显示策略,以及不在现有内容上方进行延迟加载 UI。优先转换现有空间而不是在顶部插入新块。

关键要点:如果某个元素稍后出现,要提前为它预留空间。

导致不断失败的错误

MetricCommon missBetter move
LCPLazy-loading the heroEager + preload the real LCP URL
LCPOptimising a non-LCP imageIdentify the LCP node first
INPBlaming CSS animationsCut JS and third parties
INPTesting only on desktopUse a mid-tier phone
CLSIgnoring font metricsSubset fonts, reserve space
CLSCookie banners without spaceReserve or overlay carefully

关键要点:大多数重复失败是流程错误,而不是缺少微优化。

如何通过全部三项

在失效网站上的操作顺序:先解决 LCP,再解决 INP,最后解决 CLS。每个步骤之间重新测量字段数据。使用 CWV 检查清单作为发布门槛,当你仍然无法判断是服务器还是前端问题时,使用慢速网站指南。

在移动端达到第 75 百分位数通过三项就足够了。一旦字段数据健康,不要为了实验室中的满分 100 而阻止发布。

关键要点:先解决 LCP。一旦主内容路径是诚实的,INP 和 CLS 就更容易了。

一周的救援计划

第 1 天:拉取字段数据,在排名前三的模板上标记 LCP 元素,列出所有第三方脚本及其所有者。第 2 到 3 天:仅发布 LCP 媒体和发现修复。第 4 天:删除或延迟表现最差的第三方,在手机上重新检查 INP。第 5 天:为你在字段体验中能看到的 CLS 违规者预留空间。第 6 到 7 天:重新测量,记录剩余问题,决定遗留工作是否会阻止发布。

这一周胜过一个月的混合重构,因为每一天都只关注一个指标和一个反馈循环。如果 LCP 在第 3 天后仍然是红色,不要启动设计系统清理。坚持在 LCP 元素上直到它改善。

关键要点:每天关注一个指标并重新测量,胜过混乱的性能待办事项列表。

WHEN YOU ARE READY TO TALK