Core Web Vitals en 2025: qué mide Google realmente
Explicación técnica y práctica de LCP, INP y CLS. Qué umbrales usa Google, cómo se miden en campo vs laboratorio, y qué técnicas funcionan para mejorarlos.
Los Core Web Vitals son el conjunto de métricas con las que Google evalúa la experiencia técnica de un sitio web. Desde marzo de 2024, INP (Interaction to Next Paint) sustituyó a FID como tercera métrica oficial. Si tu web no pasa los tres umbrales verdes, estás compitiendo en SEO con una mano atada.
Las tres métricas que importan
LCP — Largest Contentful Paint
Qué mide: cuánto tarda en pintarse el elemento principal visible en la primera pantalla (normalmente la imagen hero o el H1).
Umbral verde: ≤ 2,5 segundos en el percentil 75 de usuarios reales.
Causas habituales de LCP malo:
- Imagen hero sin
preloady sinfetchpriority="high". - Imagen hero en formato JPEG pesado sin versión AVIF/WebP.
- Fuentes web bloqueantes sin
font-display: swap. - CSS crítico no inlineado.
- Hosting en servidor lejano sin CDN.
INP — Interaction to Next Paint
Qué mide: de toda la sesión del usuario, el retardo máximo entre una interacción (click, tap, teclado) y la siguiente pintura visible.
Umbral verde: ≤ 200 ms en el percentil 75.
Causas habituales:
- JavaScript pesado en el hilo principal (sliders, chat widgets, analytics).
- Event handlers sin
requestIdleCallbacknischeduler.yield. - Hidratación tardía en frameworks de SPA.
- Layouts que disparan reflow al interactuar.
CLS — Cumulative Layout Shift
Qué mide: cuánto se mueve el contenido tras cargarse. Una suma ponderada de “qué tan grande es el salto” por “qué tan grande es el movimiento”.
Umbral verde: ≤ 0,1 puntos.
Causas habituales:
- Imágenes sin
widthyheighten el HTML. - Fuentes web sin
size-adjustque cambian métricas al cargar. - Anuncios o banners que se insertan tarde.
- Modales que empujan contenido en lugar de superponerse.
Cómo los mide Google: campo vs laboratorio
Aquí es donde hay mucha confusión. Existen dos fuentes de datos:
Datos de campo (CrUX): usuarios reales de Chrome envían métricas anónimas. Es lo que realmente usa Google Search para ranking. Se agrega al percentil 75 de los últimos 28 días. Si tu sitio tiene poco tráfico, no apareces.
Datos de laboratorio (Lighthouse, PageSpeed Insights): simulación controlada. Útil para iterar, pero no es lo que Google usa para ranking.
Moraleja: una web puede ser 100/100 en Lighthouse y seguir fallando en CrUX porque el 25% peor de tus usuarios reales están en 3G con un móvil antiguo.
Qué técnicas funcionan de verdad
Para LCP
- Sirve todo detrás de CDN con HTTP/3 y Brotli.
- Preload de la fuente principal y de la imagen hero.
- Convierte todas las imágenes a AVIF con fallback WebP.
- Inline del CSS crítico (Astro lo hace solo).
- Minimiza el Time to First Byte usando SSG.
Para INP
- Elimina scripts de terceros que no aportan (chat widgets pesados, analytics redundantes).
- Si usas un framework de SPA, considera migrar a un modelo de “islas” (Astro, Qwik).
- Rompe cualquier task de más de 50 ms en chunks con
scheduler.yield()osetTimeout(0). - Defer cualquier cosa no crítica con
requestIdleCallback.
Para CLS
- Siempre
widthyheighten imágenes. - Usa
aspect-ratioen CSS para contenedores dinámicos. - Reserva espacio para anuncios.
- Declara
font-display: swap+size-adjustpara fuentes.
Cómo monitorizar
El error más común: confiar solo en auditorías esporádicas.
Herramientas gratuitas recomendadas:
- Search Console → Experiencia — datos de campo oficiales de Google.
- PageSpeed Insights — combina laboratorio + campo para una URL.
- Chrome DevTools → Performance Insights — para depurar en tu propia sesión.
- web-vitals library — si quieres enviar métricas reales a tu propio sistema (respeta RGPD).
Cierre
Los Core Web Vitals no son un examen de una vez, son un sistema de monitorización continua. Una web que pasa los umbrales hoy y no se monitoriza, en seis meses puede estar en rojo sin que nadie se entere. Si quieres una auditoría técnica completa con roadmap concreto, escríbenos: entregamos un informe accionable con prioridades y estimación de impacto.