RUM实践-累计布局偏移(CLS)的探索

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务-应用监控,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本文介绍网页性能关键指标——累计布局偏移(CLS),解析其对用户体验与SEO的影响,并分享如何通过DATABUFF的RUM工具监控CLS数据,结合图像尺寸预留、字体优化、资源预加载等策略,有效提升页面视觉稳定性与访问体验。

随着互联网技术的发展,网站性能优化成为提升用户体验的关键因素之一。Google 提出了 Core Web Vitals 作为衡量网页质量的新标准,其中累计布局偏移(Cumulative Layout Shift, CLS)是衡量页面视觉稳定性的一个重要指标。本文将探讨如何通过 DATABUFF 的 RUM 工具来监测和改善网页的 CLS 值。

一、CLS的定义与标准

累计布局偏移Cumulative Layout Shift, CLS)是 Google Core Web Vitals 中的核心指标之一,通过结合可见内容在视口中的偏移量与受影响元素移动的距离来衡量内容的不稳定性。布局偏移可能会分散用户注意力,干扰用户的浏览体验,比如点击目标突然移动等。CLS 衡量在网页的整个生命周期内发生的每一次意外布局偏移的布局偏移得分的最高累计分数,有助于量化用户遇到意外布局偏移的频率,是评估用户体验的关键数据点之一。
image.png

CLS分数越低,说明页面越稳定;反之,则表明页面存在较多不稳定因素。为了提供良好的用户体验,网站应尽量确保至少 75% 的网页访问的 CLS 不高于 0.1

二、为什么需要关注CLS

  1. 提升用户体验:减少不必要的布局变动可以让用户更加专注于内容本身。

  2. SEO 优化:Google 已明确表示会将 CLS 纳入其搜索排名算法中,因此良好的 CLS 表现有助于提高网站的可见度。

  3. 增强品牌形象:流畅稳定的网页加载过程能够给访客留下深刻印象,从而增强品牌信任感。

三、收集RUM数据

要优化 CLS,首先需要收集网站的真实用户监控(RUM)数据。这可以通过 DATABUFF 的 RUM 工具来完成:

将下方代码复制粘贴到每一个您想监控的 HTML 页面中标签的第一行,确保能采集全部性能指标和错误信息。

<script src="/js/browser.js" type="text/javascript"></script>
<script>
window.dataBuffOpenTelemetryRum.initialize({
  collectionSourceUrl: "https://192.168.50.147/rum",
  applicationName: "databuff-rum",
  applicationKey: "a8d8bcc4-xxxx-xxxx-xxxx-c02f0a6695ca",
});
</script>

通过 Chrome 浏览器访问嵌码页面,按 F12,然后在 network 中搜索 “traces”,若有 traces 接口数据,即为嵌码成功。 traces 接口为嵌码成功后上传性能数据。

image.png

四、数据展示

应用详情中查看 CLS 指标的平均值和时间趋势:

image.png

通过 CLS 排序能够展示不同页面 CLS 的情况,根据页面的指标表现来针对性的优化 CLS :
image.png

五、CLS优化

为图像和视频预留尺寸

  • 使用widthheight属性为图像明确指定尺寸。

  • 对于响应式布局,使用 CSS 的aspect-ratio属性。

  • 视频元素可以设置固定宽高,或者通过外部容器限制尺寸。

<img src="example.jpg" width="800" height="600" alt="example">

或使用 css:

img {
   
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
}

避免动态加载内容推挤页面

  • 为广告和 iframe 设置固定的占位符尺寸。

  • 确保动态内容加载时不会改变布局。

.ad-placeholder {
   
  width: 300px;
  height: 250px;
  background-color: #f0f0f0;
}

使用字体优化

  • 使用font-display: swap;优化字体加载。

  • 选择性能更好的字体,或加载字体的子集。

@font-face {
   
  font-family: 'CustomFont';
  src: url('customfont.woff2') format('woff2');
  font-display: swap;
}

延迟加载非关键内容

  • 使用loading="lazy"属性延迟加载图片和 iframe。

  • 确保 lazy-loaded 内容不会改变页面的原始布局。

<img src="example.jpg" loading="lazy" width="800" height="600" alt="example">

预加载关键资源

  • 使用 <link rel="preload"> 提前加载字体和其他关键资源。
<link rel="preload" href="customfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">

六、总结

累计布局偏移(CLS)是衡量视觉稳定性的关键指标,直接关系到用户的使用体验。通过 RUM 工具收集真实的用户数据,可以有效分析并优化 CLS 表现。优化 CLS 可以采取诸如为图像和视频预留固定尺寸、优化字体加载策略、以及延迟加载非关键资源等措施,这些方法不仅有效提升了页面的视觉稳定性,还显著改善了用户体验。

相关文章
|
2月前
|
运维 监控 数据可视化
从巴比馒头的“洗菜流水线”,来看“telemetry pipeline”工具的火热兴起
以巴比馒头自动化洗菜为喻,探讨运维领域“数据清洗”难题。DataHub作为国产可视化遥测管道工具,支持多源数据接入与低代码编排,实现日志、指标、链路等数据的高效处理与统一管理,助力企业构建高质量可观测体系。(238字)
|
1月前
|
运维 监控 数据可视化
别让运维跪着查日志了!给老板看的“业务观测”大盘才是真香
深夜告警、业务暴跌、全员背锅?一次支付故障暴露传统监控盲区。我们通过业务观测,将技术指标转化为老板听得懂的“人话”,实现从被动救火到主动洞察的跨越。让技术团队不再跪着查日志,而是站着驱动业务增长。
别让运维跪着查日志了!给老板看的“业务观测”大盘才是真香
|
2月前
|
人工智能 自然语言处理 安全
SOFA AI 网关基于 Higress 的落地实践
SOFA 商业化团队为满足客户 AI 业务的发展需求,基于开源 Higress 内核构建,推出了 SOFA AI 网关,专为 SOFA 场景深度优化、能力增强,是面向 AI 需求的智能网关解决方案。
240 20
|
1月前
|
存储 算法 Java
深入理解JVM:内存管理与垃圾回收机制探索
JVM是Java程序的运行核心,实现跨平台、自动内存管理与高效执行。其架构包括类加载、运行时数据区、执行引擎等模块。内存模型历经演变,JDK 8起以元空间替代永久代,优化GC性能。JVM通过分代回收机制,结合标记清除、复制、整理等算法,管理对象生命周期,提升系统稳定性与性能。
|
2月前
|
Kubernetes 监控 Cloud Native
Java Agent 启动耗时性能评测排行榜
在云原生与微服务高频发布场景下,APM探针启动延迟影响容器生命周期。本文对比主流Java APM方案启动耗时,揭示Databuff探针以43秒领先,较SkyWalking(66秒)显著优化。分析其按需字节码注入、异步上报、无锁配置等低开销设计,并提供K8s探针配置建议,助力提升部署效率与系统稳定性。
|
8天前
|
机器学习/深度学习 人工智能 运维
AIOps已逝,欢迎进入AgenticOps(运维智能体)时代
GenAI和智能体技术的爆发,为IT运维打开了一扇新的大门,一个更具主动性、自治性和协作性的新时代已经来临,这就是AgenticOps(基于智能体的IT运维)。
|
2月前
|
人工智能 算法 UED
从"AI投毒者"到"信息营养师":GEO运营的价值观革命
与“AI投毒”的短视做法截然不同,真正的GEO运营应当致力于成为AI系统的“信息共建者”。对AI深层知识掌握足够多的朋友都知道,人工智能的三要素:数据、算法和算力。数据是人工智能的一切构建的基础,而训练AI的初期数据多来自互联网,但这些是早起的网络数据,它也会存在着如不完整、不正确和不客观等情况。
|
2月前
|
运维 算法 数据挖掘
【故障定位系列】基于DeepSeek的故障定位大揭秘
传统故障定位依赖专家经验与固定算法,难以应对复杂场景。引入DeepSeek大模型后,可凭借其强大推理与自适应能力,实现智能故障定位。通过“大模型+Agent”协同架构,大模型负责决策,Agent执行数据分析,既降低Token消耗,又保留智能化分析优势。未来,随着大模型理解与推理能力提升,故障定位将更高效、精准。
|
2月前
|
运维 监控 Kubernetes
某充电桩业务服务内存监控和程序行为分析
在数据驱动时代,内存指标与程序行为分析对保障系统性能至关重要。通过可观测工具监控堆使用、GC活动、内存占用及大对象分布,可及时发现瓶颈与异常。结合DataBuff平台全链路监控与智能告警,实现根因分析与快速响应,有效应对高并发场景下的内存挑战,提升系统稳定性与业务连续性。
|
1月前
|
数据采集 Cloud Native 网络协议
一篇文章带你了解云原生NPM数据采集和指标计算方法
本文介绍云原生NPM中如何采集TCP连接数据,计算网络指标,并关联应用进程。通过构建包含四元组、收发字节数、延迟等字段的数据结构,结合抓包与系统命令获取PID、UID等信息,实现网络与应用的联动分析,助力快速定位故障根源。
一篇文章带你了解云原生NPM数据采集和指标计算方法