Core Web Vitals:测量并提升Web性能
你已经构建了一个快速的网站,但用户仍然抱怨加载慢。或者你的SEO排名在Google更新后下降了。罪魁祸首可能是Core Web Vitals——Google衡量用户体验的指标。在本指南中,你将了解它们是什么、如何用真实用户数据测量它们,以及改进它们的实用步骤。
什么是Core Web Vitals?
Core Web Vitals是三个量化用户体验关键方面的指标:
- 最大内容绘制 (LCP):最大的可见元素(例如主图或标题)渲染所需的时间。良好:≤2.5秒。
- 首次输入延迟 (FID):从用户首次交互(例如点击链接)到浏览器响应的时间。良好:≤100毫秒。
- 累积布局偏移 (CLS):衡量视觉稳定性——元素意外移动的程度。良好:≤0.1。
这些指标是Google页面体验信号的一部分,直接影响SEO。但更重要的是,它们反映了真实用户的挫败感。
如何测量Core Web Vitals
你需要实验室数据和现场数据。实验室数据(例如Lighthouse)有助于调试,而现场数据(真实用户监控)显示实际性能。
1. 使用Chrome用户体验报告 (CrUX)
CrUX为数百万网站提供聚合的真实用户数据。你可以在PageSpeed Insights或CrUX Dashboard中查看。它显示了你的源站的LCP、FID和CLS分布。
2. 设置真实用户监控 (RUM)
Google Analytics 4、Vercel Analytics或开源库(web-vitals)等工具可以让你从实际访问者收集Core Web Vitals。以下是如何将指标发送到分析端点:
import {onLCP, onFID, onCLS} from 'web-vitals';
function sendToAnalytics(metric) {
const body = JSON.stringify(metric);
navigator.sendBeacon('/analytics', body);
}
onLCP(sendToAnalytics);
onFID(sendToAnalytics);
onCLS(sendToAnalytics);
此代码片段使用web-vitals库捕获指标,并通过sendBeacon发送,不影响页面加载。
3. 使用Lighthouse进行实验室测试
Lighthouse(在Chrome DevTools或PageSpeed Insights中)模拟页面加载并报告Core Web Vitals以及改进机会。在关键页面上运行它并跟踪随时间的变化。
改进LCP
LCP通常是最具影响力的指标。要改进它:
- 优化图片:压缩图片,使用现代格式(WebP、AVIF),并通过
srcset提供响应式尺寸。 - 预加载关键资源:对LCP图片或字体使用
<link rel="preload">。 - 减少服务器响应时间:使用CDN、缓存并优化后端查询。
- 消除阻塞渲染的资源:延迟非关键CSS/JS,内联关键CSS。
例如,预加载你的主图:
<link rel="preload" as="image" href="/hero.webp" imagesrcset="/hero-480.webp 480w, /hero-800.webp 800w" imagesizes="(max-width: 600px) 480px, 800px">
改进FID
FID衡量输入响应能力。要改进它:
- 分解长任务:使用
setTimeout或requestIdleCallback让出主线程。 - 最小化主线程工作:减少JavaScript执行时间,避免大型包。
- 使用Web Worker进行繁重计算。
- 优化事件处理程序:对快速事件进行防抖或节流。
同时考虑过渡到Interaction to Next Paint (INP),它将在2024年取代FID。INP衡量所有交互,因此同样的优化适用。
改进CLS
CLS关乎视觉稳定性。常见原因和修复:
- 没有尺寸的图片:始终设置
width和height属性或使用CSSaspect-ratio。 - 广告、嵌入和iframe:用占位符预留空间或设置固定尺寸。
- 动态内容注入:避免在现有内容上方插入内容,除非是响应用户交互。
- Web字体:使用
font-display: swap并预加载字体以避免不可见文本和布局偏移。
示例:为图片预留空间:
<img src="#" width="800" height="600" alt="...">
Core Web Vitals比较
| 指标 | 衡量内容 | 良好阈值 | 常见修复 |
|---|---|---|---|
| LCP | 加载性能 | ≤2.5秒 | 优化图片、预加载、CDN |
| FID | 交互性 | ≤100毫秒 | 减少JS、分解长任务 |
| CLS | 视觉稳定性 | ≤0.1 | 设置尺寸、预留空间 |
持续监控工具
改进Core Web Vitals不是一次性任务。设置仪表板以跟踪现场数据。使用:
- Google Search Console:Core Web Vitals报告显示需要关注的URL组。
- PageSpeed Insights:结合实验室和现场数据。
- Web Vitals扩展:浏览时实时显示指标。
- RUM工具:如SpeedCurve、Calibre或开源替代品。
定期审计你的网站,尤其是在重大更改之后。
常见问题
什么是Core Web Vitals,为什么它们重要?
Core Web Vitals是Google用来衡量用户体验的三个指标(LCP、FID、CLS)。它们重要是因为它们影响SEO排名并反映真实用户满意度。
我应该多久测量一次Core Web Vitals?
通过真实用户监控持续测量,并在任何重大代码或内容更改后测量。实验室测试应在开发期间和发布前运行。
没有开发人员我能改进Core Web Vitals吗?
一些修复如压缩图片或设置图片尺寸可以由内容编辑完成。但更深入的优化通常需要开发人员参与。
准备好优化图片以获得更好的LCP了吗?试试我们的免费图片压缩器,在不损失质量的情况下减小文件大小。