Cumulative Layout Shift (CLS): Definición, Causas, Fixes

CLS es un Core Web Vital midiendo shifts visuales inesperados. Score ≤ 0.1 = bueno. Causado por dimensiones imagen faltantes, ads dinámicos, fonts tardías.

¿Qué es Cumulative Layout Shift (CLS)?

Cumulative Layout Shift (CLS) es un Core Web Vital que mide la cantidad total de shift visual inesperado que sucede durante el lifetime de una página. Cada vez que contenido salta porque una imagen carga tarde, un ad inyecta o una font swappea, eso es un layout shift — y es frustrante para usuarios.

CLS es uno de tres Core Web Vitals (con LCP e INP) que Google usa como señal ranking search.

Cómo se mide CLS

CLS = suma de scores layout shift. Cada shift score = impact fraction × distance fraction.

CLSRating
≤ 0.1Bueno
0.1 - 0.25Necesita mejora
> 0.25Pobre

Qué causa CLS

CausaPor quéFix
Imágenes sin width/heightNavegador no sabe espacioSetear attrs width + height
Ads, embeds, iframesInyectan contenido tamaño desconocidoReservar espacio
Web fonts cargando tardeFallback se swappea con web fontfont-display: optional
Contenido dinámico arribaContenido inyectado arriba pushea todo abajoAppend abajo
Animaciones que cambian layoutAnimar height/widthUsar transform
Cookie/GDPR bannersTop banner pushea contenido abajoPosition fixed

Fixes CLS comunes

1. Siempre especificar dimensiones imagen

<img src="hero.jpg" alt="Hero" width="1200" height="675">

2. Reservar espacio para ads/embeds

<div class="ad-slot" style="min-height: 250px;"></div>

3. Optimizar web fonts

@font-face {
  font-family: 'Inter';
  src: url('inter.woff2') format('woff2');
  font-display: optional;
  size-adjust: 95%;
}

4. Transform en vez de layout properties

.menu { transition: transform 0.3s; transform: translateY(0); }

Midiendo CLS

HerramientaTipo
Lighthouse / PageSpeed InsightsLab + field
Chrome DevToolsLab
Web Vitals Chrome extensionField
web-vitals.jsProgrammatic, RUM
Search Console CWV reportField
CrUX DashboardField, público

Mejores prácticas CLS

  • Width/height en imágenes y videos.
  • Reservar espacio para todo lo que carga tarde.
  • font-display: optional para fonts non-críticas.
  • Match fallback font metrics.
  • Animaciones transform.
  • Skeleton screens.
  • No inyectar arriba contenido existente.
  • Testear en devices lentos.

Pitfalls CLS comunes

  • Imagen responsive sin aspect ratio.
  • Web fonts que resizean texto.
  • Ads lazy-loaded sin espacio reservado.
  • Click handlers en elementos shifting.
  • Carousels auto-rotantes.
  • Imagen hero cargando tarde.

FAQ: Cumulative Layout Shift

¿Qué es buen score CLS?

≤ 0.1 es bueno.

¿Afecta CLS al SEO?

Sí — Core Web Vital, señal ranking.

¿Cómo fixear imágenes causando CLS?

Siempre setear atributos width y height.

¿Cuentan scrolling e interacciones usuario en CLS?

No. Shifts dentro 500ms de input usuario excluidos.

¿Cómo afecta font-display a CLS?

font-display: optional + size-adjust para mejor CLS.

¿Puedo tener CLS = 0?

Posible pero raro.

¿Qué es session window?

Ventana 5-segundos de shifts consecutivos.

Cacha regresiones CLS con LoadFocus

LoadFocus corre auditorías Lighthouse desde 25+ regiones y trackea CLS over time. Regístrate en loadfocus.com/signup.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×