Core Web Vitals: Mide y mejora el rendimiento web
Has construido un sitio web rápido, pero los usuarios aún se quejan de lentitud. O tal vez tus rankings de SEO cayeron después de una actualización de Google. Es probable que Core Web Vitals (CWV) sea el culpable. Estas métricas miden la experiencia del usuario en el mundo real y afectan directamente los rankings de búsqueda y las tasas de conversión. En esta guía, aprenderás qué son las CWV, cómo medirlas con precisión y pasos prácticos para mejorar cada una.
¿Qué son Core Web Vitals?
Core Web Vitals son un conjunto de tres métricas que Google utiliza para cuantificar la experiencia del usuario:
- Largest Contentful Paint (LCP): Mide el rendimiento de carga. Marca el tiempo cuando el elemento de contenido más grande (imagen, bloque de texto o video) se vuelve visible. Un LCP bueno es de 2.5 segundos o menos.
- Interaction to Next Paint (INP): Mide la capacidad de respuesta. Registra la latencia de todas las interacciones (clics, toques, pulsaciones de teclas) e informa la peor (o casi la peor para páginas con muchas interacciones). Un INP bueno es de 200 milisegundos o menos.
- Content Layout Shift (CLS): Mide la estabilidad visual. Cuantifica los cambios de diseño inesperados durante la carga de la página. Un CLS bueno es de 0.1 o menos.
Estos umbrales se basan en el percentil 75 de las cargas de página, segmentados por móvil y escritorio. Por lo tanto, debes asegurarte de que el 75% de tus usuarios experimenten valores buenos.
Cómo medir Core Web Vitals
Puedes medir CWV de dos maneras: en el laboratorio (pruebas sintéticas) y en el campo (monitoreo de usuarios reales). Ambos son valiosos, pero los datos de campo son los que Google utiliza para el ranking.
Datos de campo: Monitoreo de usuarios reales (RUM)
Los datos de campo provienen de usuarios reales. La mejor fuente es el Chrome User Experience Report (CrUX), que alimenta el informe de Core Web Vitals en Google Search Console. También puedes usar la biblioteca web-vitals para recopilar tus propios datos RUM y enviarlos a un endpoint de análisis.
Para ver los datos de CrUX de tu sitio, usa PageSpeed Insights o la API de CrUX. Estos muestran la distribución de LCP, INP y CLS para tu origen.
Datos de laboratorio: Pruebas sintéticas
Las herramientas de laboratorio simulan una carga de página en un entorno controlado. Son excelentes para depuración e integración CI/CD. Opciones populares:
- Lighthouse: Integrado en Chrome DevTools. Ejecútalo en la pestaña Auditorías o mediante CLI.
- WebPageTest: Pruebas avanzadas con tiras de película y gráficos de cascada.
- PageSpeed Insights: Combina datos de laboratorio y de campo.
Recuerda: los datos de laboratorio no incluyen la variabilidad del mundo real, así que úsalos para diagnósticos, no como predictor de ranking.
Mejorar Largest Contentful Paint (LCP)
LCP suele ser la métrica más impactante de corregir. El elemento más grande a menudo es una imagen principal, un encabezado o un póster de video. Para mejorar LCP:
- Optimiza imágenes: Comprime imágenes, usa formatos modernos como WebP o AVIF y sirve tamaños responsivos con
srcset. Herramientas como el Compresor de Imágenes pueden ayudar a reducir el tamaño del archivo sin perder calidad. - Precarga el recurso LCP: Agrega
<link rel="preload">para la imagen principal o la fuente para comenzar a cargar antes. - Elimina recursos que bloquean el renderizado: Incluye CSS crítico en línea, difiere CSS no crítico y carga JavaScript de forma asíncrona.
- Usa una CDN: Sirve activos desde una red de entrega de contenido para reducir la latencia.
- Cachea agresivamente: Establece tiempos de caché largos para activos estáticos con encabezados
Cache-Control.
Ejemplo de precarga de una imagen LCP:
<link rel="preload" as="image" href="/hero.webp" imagesrcset="/hero-480.webp 480w, /hero-800.webp 800w" imagesizes="(max-width: 600px) 480px, 800px">
Mejorar Interaction to Next Paint (INP)
INP mide qué tan rápido responde la página a la entrada del usuario. Un INP alto a menudo proviene de tareas largas de JavaScript que bloquean el hilo principal. Para mejorar INP:
- Divide tareas largas: Usa
setTimeout,requestIdleCallbacko la APISchedulerpara ceder al hilo principal. - Optimiza los manejadores de eventos: Aplica debounce o throttle a los manejadores costosos y evita el layout thrashing.
- Reduce el tamaño de JavaScript: Divide el código, aplica tree-shaking y difiere scripts no críticos.
- Usa web workers: Descarga cálculos pesados a un hilo de trabajo.
- Minimiza scripts de terceros: Los scripts de terceros a menudo causan tareas largas. Cárgalos de forma asíncrona y audita su impacto.
Puedes medir INP en el campo con la biblioteca web-vitals:
import {onINP} from 'web-vitals';
onINP((metric) => {
console.log('INP:', metric.value);
// Enviar a tu endpoint de análisis
});
Mejorar Content Layout Shift (CLS)
CLS ocurre cuando los elementos se mueven inesperadamente durante la carga. Causas comunes: imágenes sin dimensiones, anuncios, embeds y fuentes web que causan FOIT/FOUT. Para mejorar CLS:
- Siempre establece atributos de ancho y alto en imágenes y videos. Esto reserva espacio.
- Reserva espacio para contenido dinámico (anuncios, embeds) con CSS
min-heighto cajas de relación de aspecto. - Usa
font-display: swapy precarga fuentes para evitar texto invisible y cambios de diseño. - Evita insertar contenido encima del contenido existente a menos que sea en respuesta a la interacción del usuario.
Ejemplo de reservar espacio con CSS aspect-ratio:
.video-container {
aspect-ratio: 16 / 9;
width: 100%;
}
.video-container iframe {
width: 100%;
height: 100%;
}
Herramientas y flujo de trabajo para monitoreo continuo
Mejorar CWV no es una tarea única. Configura monitoreo continuo:
- Lighthouse CI: Ejecuta Lighthouse en tu pipeline CI/CD y falla las compilaciones si las puntuaciones bajan.
- Monitoreo de usuarios reales: Usa la biblioteca web-vitals para enviar métricas a tu plataforma de análisis (por ejemplo, Google Analytics 4, endpoint personalizado).
- Search Console: Monitorea el informe de Core Web Vitals para detectar regresiones.
- Alertas: Configura alertas para cuando los datos de campo crucen los umbrales.
Para una verificación rápida, usa la herramienta HTML a Imagen para capturar instantáneas visuales de tu página en diferentes etapas, ayudándote a detectar cambios de diseño manualmente.
Preguntas frecuentes
¿Cuáles son los umbrales actuales de Core Web Vitals?
Bueno: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1. Necesita mejorar: LCP ≤ 4s, INP ≤ 500ms, CLS ≤ 0.25. Deficiente: por encima de esos valores.
¿Con qué frecuencia se actualizan los datos de CrUX?
Los datos de CrUX se actualizan diariamente, pero la ventana móvil de 28 días significa que los cambios tardan en reflejarse. Para una retroalimentación más rápida, usa tu propio RUM.
¿Puedo mejorar Core Web Vitals sin cambiar mi diseño?
Sí. Muchas mejoras son técnicas: compresión de imágenes, precarga, diferir scripts y reservar espacio. A menudo no tienen impacto visual.
¿Listo para optimizar tus imágenes para un mejor LCP? Prueba nuestro Compresor de Imágenes gratuito para reducir el tamaño de los archivos manteniendo la calidad.