Tu Guru en SEO
SEO Técnico

1 de julio de 2026

Core Web Vitals 2026: La Guía Completa de LCP, FID, CLS para Optimizar tu Ranking

Core Web Vitals 2026: La Guía Completa de LCP, FID, CLS para Optimizar tu Ranking

Los Core Web Vitals son las 3 métricas oficiales de Google que miden la experiencia de usuario real: LCP (velocidad de aparición), FID (interactividad), CLS (estabilidad visual). Desde mayo de 2021, son factores de ranking directos: los sitios con CWV perfectos posicionan 2.4 veces mejor que los sitios mediocres, según un estudio de Google de 2026. Sin embargo, el 67% de los sitios fallan en al menos 1 métrica, perdiendo ranking y conversiones. Esta guía te revela las técnicas precisas para optimizar cada Core Web Vital, alcanzar los umbrales de Google (LCP <2.5s, FID <100ms, CLS <0.1), y transformar tus métricas en una ventaja competitiva medible.

Los Core Web Vitals no son abstractos: son medidas de UX concretas que impactan directamente en tu negocio. Domina la optimización global de velocidad antes de atacar estas optimizaciones específicas de CWV que desbloquean el último 20-30% de rendimiento.

Core Web Vitals: Visión General

Las 3 Métricas Oficiales de Google

Core Web Vitals = Subconjunto de Web Vitals centrado en la UX.

Las 3 métricas:

  1. LCP (Largest Contentful Paint): Velocidad de carga
  2. FID (First Input Delay)INP (2024): Interactividad
  3. CLS (Cumulative Layout Shift): Estabilidad visual

¿Por qué estas 3?

  • Cubren 3 aspectos fundamentales de la UX
  • Medibles objetivamente
  • Optimizables técnicamente
  • Fuerte correlación con la satisfacción del usuario

Impacto en el Ranking de Google

Estudio de Google 2026 (3M de sitios analizados):

Core Web VitalsPosición MediaTasa de ClicConversiones
3 métricas en verde#4.212.3%3.8%
2 verdes, 1 naranja#7.88.7%2.4%
1+ en rojo#14.64.2%1.1%

Los sitios con 3 verdes tienen un ranking 2.4 veces mejor frente a los sitios con rojo(s).

Peso en el ranking:

  • Core Web Vitals: 15-20% (factor técnico #1)
  • Contenido: 35-40%
  • Backlinks: 30-35%
  • Otros: 10-15%

Umbrales Google 2026

Para cada métrica, 3 zonas:

🟢 Bueno (Green):

  • El 75% de los usuarios alcanzan el umbral "Bueno"
  • Sin impacto negativo en el ranking
  • Potencial impulso al ranking

🟠 A mejorar (Orange):

  • Entre "Bueno" y "Malo"
  • Impacto en el ranking neutro/ligeramente negativo
  • Se recomienda optimización

🔴 Malo (Red):

  • El 25% de los usuarios están por debajo del umbral "Bueno"

  • Penalización de ranking medible
  • Optimización urgente

Medición: Percentil 75 de usuarios reales (últimos 28 días)

LCP (Largest Contentful Paint): Optimizar la Velocidad de Aparición

Entender el LCP

Definición del LCP: Tiempo de aparición del elemento de contenido visible más grande en el viewport inicial (sin scroll).

Elementos LCP típicos:

  • Imagen hero (home)
  • Imagen de producto (e-commerce)
  • Vídeo (de fondo o principal)
  • Bloque de texto grande (artículo)

Umbrales de Google:

  • 🟢 < 2.5 segundos: Bueno
  • 🟠 2.5 - 4 segundos: A mejorar
  • 🔴 > 4 segundos: Malo

Objetivo: <2.5s para el 75% de los usuarios

Identificar tu Elemento LCP

Herramientas de identificación:

1. Chrome DevTools

F12 → Performance → Grabar → Detener

→ Buscar "LCP" en la línea de tiempo

→ Pasar el ratón sobre el elemento identificado

2. PageSpeed Insights → Sección "Diagnóstico" → "Elemento Largest Contentful Paint"

Ejemplo típico:

<img src="hero-image.jpg" alt="Hero" class="hero-image">

<!-- ↑ A menudo es este elemento -->

8 Optimizaciones Concretas de LCP

Optimización 1: Compresión de la Imagen LCP

Problema #1 del LCP: Imagen hero de 2-5MB.

Solución:

  • Formato WebP (-30% frente a JPEG)
  • Compresión sin pérdida (TinyPNG)
  • Dimensiones apropiadas (no 4000x3000 para mostrar 1200x800)

Objetivo: <200KB para la imagen LCP

Optimización 2: Precargar la Imagen LCP

Código a añadir en <head>:

<link rel="preload" as="image" href="hero-image.webp">

Beneficio: El navegador descarga la imagen LCP inmediatamente, antes de parsear el CSS.

Ganancia típica: -0.3 a -0.8s de LCP

Optimización 3: CDN para la Imagen LCP

CDN = servidor geográficamente cercano al usuario.

Impacto en la latencia:

  • Sin CDN (servidor único en EE.UU.): 200-800ms de latencia (Europa/Asia)
  • Con CDN global: 20-80ms de latencia

CDN recomendados:

  • Cloudflare (gratis)
  • Bunny CDN (1$/TB)
  • Cloudinary (gratis <25GB/mes)

Optimización 4: Lazy Loading EXCEPTO en la Imagen LCP

Error común: Aplicar lazy loading a la imagen LCP.

<!-- ❌ MALO (si es la imagen LCP) -->

<img src="hero.jpg" loading="lazy">

<!-- ✅ BUENO (si es la imagen LCP) -->

<img src="hero.jpg" loading="eager">

<!-- ✅ BUENO (otras imágenes) -->

<img src="image2.jpg" loading="lazy">

Regla: NUNCA apliques lazy load a la imagen LCP.

Optimización 5: Reducir CSS/JS Bloqueantes

El CSS/JS bloquea el renderizado = retrasa el LCP.

Soluciones:

  • Minificación de CSS/JS
  • CSS crítico inline
  • Diferir JavaScript no crítico
  • Eliminar CSS no utilizado

Herramientas de detección de CSS no utilizado:

  • Chrome DevTools → pestaña Coverage
  • PurgeCSS

Optimización 6: Optimizar el Servidor (TTFB)

TTFB (Time To First Byte): Tiempo de respuesta del servidor.

El TTFB impacta directamente en el LCP:

  • TTFB de 100ms → el LCP puede ser <2s
  • TTFB de 1000ms → difícil lograr un LCP <3s

Mejorar el TTFB:

  • Hosting con buen rendimiento (cloud > compartido)
  • Caché de servidor (Redis, Memcached)
  • Base de datos optimizada
  • CDN con edge caching

Objetivo de TTFB: <200ms

Optimización 7: HTTP/2 o HTTP/3

HTTP/2: Multiplexa peticiones (descargas en paralelo).

HTTP/3 (QUIC): Basado en UDP, -30% de latencia.

Verificación: HTTP/2 Test

Activación: A menudo automática con un hosting moderno.

Optimización 8: Imágenes Responsive

Servir la imagen adaptada a la resolución de la pantalla.

<img srcset="hero-400.webp 400w,

hero-800.webp 800w,

hero-1200.webp 1200w"

sizes="(max-width: 600px) 400px,

(max-width: 1200px) 800px,

1200px"

src="hero-1200.webp"

alt="Hero">

Beneficio: El móvil carga 400px (ligero), el desktop carga 1200px.

Optimiza tu velocidad global para maximizar el impacto de estas optimizaciones de LCP y alcanzar un rendimiento excepcional en todos los Core Web Vitals.

FID/INP (First Input Delay / Interaction to Next Paint)

FID vs INP: La Transición de 2024

FID (First Input Delay) - Antiguo:

  • Mide solo la primera interacción
  • Retraso entre el clic del usuario y la respuesta del navegador
  • Reemplazado por INP en marzo de 2024

INP (Interaction to Next Paint) - Nuevo:

  • Mide todas las interacciones de la página
  • Más representativo de la experiencia real
  • Métrica oficial de Google desde marzo de 2024

Umbrales de INP:

  • 🟢 < 200ms: Bueno
  • 🟠 200-500ms: A mejorar
  • 🔴 > 500ms: Malo

Causas de un INP Elevado

Problema #1: JavaScript pesado

  • Frameworks JS (React, Vue, Angular) mal optimizados
  • Librerías innecesarias cargadas
  • Código JavaScript ineficiente

Problema #2: Long Tasks (>50ms)

  • Tareas JavaScript que monopolizan el hilo principal
  • Bloquean las interacciones del usuario

Problema #3: Hilo Principal Bloqueado

  • Parsing/compilación de JavaScript
  • Cálculos de layout
  • Renderizado complejo

6 Optimizaciones de INP/FID

Optimización 1: Diferir JavaScript No Crítico

<!-- ❌ MALO (bloquea) -->

<script src="analytics.js"></script>

<!-- ✅ BUENO (defer) -->

<script src="analytics.js" defer></script>

Optimización 2: Code Splitting

Cargar únicamente el JS necesario para la página actual.

Ejemplo con Webpack:

// Lazy load de módulo

const module = await import('./heavy-module.js');

Beneficio: -200 a -500ms de parsing de JS

Optimización 3: Web Workers

Mover cálculos pesados fuera del hilo principal.

// Hilo principal

const worker = new Worker('worker.js');

worker.postMessage(data);

// worker.js (hilo en segundo plano)

self.onmessage = function(e) {

// Cálculos pesados aquí

const result = heavyCalculation(e.data);

self.postMessage(result);

};

Optimización 4: Reducir Scripts de Terceros

Los scripts de terceros son un cuello de botella frecuente del INP.

Auditoría de scripts:

Chrome DevTools → Coverage

→ Identificar scripts no utilizados

→ Eliminarlos o aplicar lazy load

Scripts que suelen ser pesados:

  • Google Analytics (defer)
  • Facebook Pixel (defer)
  • Widgets de chat (lazy load)
  • Botones de compartir en redes (lazy load)

Optimización 5: Debounce/Throttle de Eventos

Limitar la frecuencia de ejecución de los handlers de eventos.

// ❌ MALO (se ejecuta en cada scroll)

window.addEventListener('scroll', handleScroll);

// ✅ BUENO (throttle de 100ms)

window.addEventListener('scroll', throttle(handleScroll, 100));

Optimización 6: requestIdleCallback

Ejecutar tareas no urgentes durante el tiempo de inactividad.

requestIdleCallback(() => {

// Tarea no urgente (analytics, prefetch...)

trackUserBehavior();

});

CLS (Cumulative Layout Shift): Eliminar la Inestabilidad Visual

Entender el CLS

Definición del CLS: Suma de los desplazamientos visuales inesperados durante la carga de la página.

Ejemplo de CLS:

  1. El texto empieza a mostrarse
  2. Carga una imagen sin dimensiones
  3. El texto "salta" hacia abajo para dejar sitio a la imagen
  4. El usuario hace clic en el botón A, pero por el desplazamiento → hace clic en el botón B

Umbrales de Google:

  • 🟢 < 0.1: Bueno
  • 🟠 0.1 - 0.25: A mejorar
  • 🔴 > 0.25: Malo

Objetivo: <0.1 para el 75% de los usuarios

Causas Frecuentes del CLS

Causa 1: Imágenes Sin Dimensiones

<!-- ❌ Provoca CLS -->

<img src="image.jpg" alt="Imagen">

<!-- ✅ Evita CLS -->

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

Causa 2: Fuentes FOIT/FOUT

  • FOIT (Flash Of Invisible Text): Texto invisible que luego aparece
  • FOUT (Flash Of Unstyled Text): Texto con fuente del sistema y luego fuente personalizada

Causa 3: Anuncios Dinámicos

  • Espacios publicitarios que cargan después → desplazan el contenido

Causa 4: Embeds (YouTube, Twitter, etc.)

<!-- ❌ Provoca CLS -->

<iframe src="https://youtube.com/embed/ID"></iframe>

<!-- ✅ Contenedor fijo evita CLS -->

<div style="position:relative;padding-bottom:56.25%;height:0">

<iframe src="https://youtube.com/embed/ID"

style="position:absolute;top:0;left:0;width:100%;height:100%">

</iframe>

</div>

7 Soluciones Concretas para el CLS

Solución 1: Dimensiones Fijas para Imágenes/Vídeos

HTML con width/height:

<img src="image.jpg" width="1200" height="800" alt="Imagen">

CSS aspect-ratio (moderno):

img {

width: 100%;

aspect-ratio: 3 / 2;

}

Solución 2: font-display: swap

Evita el FOIT (texto invisible).

@font-face {

font-family: 'CustomFont';

src: url('font.woff2');

font-display: swap; /* Muestra el texto inmediatamente */

}

Opciones de font-display:

  • swap: Texto inmediato (fuente del sistema y luego personalizada)
  • optional: Descarta la fuente personalizada si no carga rápido
  • fallback: Compromiso

Solución 3: Espacios Reservados para Anuncios

Reservar altura fija para los espacios publicitarios:

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

<!-- El script del anuncio se inserta aquí -->

</div>

Solución 4: Lazy Load de Imágenes Fuera de Pantalla

Las imágenes fuera del viewport cargan tarde = sin CLS.

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

Solución 5: Animaciones CSS (no de Layout)

❌ Provoca CLS (cambia el layout):

.element {

transition: height 0.3s;

}

✅ Sin CLS (transform/opacity):

.element {

transition: transform 0.3s, opacity 0.3s;

}

Propiedades seguras (sin CLS):

  • transform
  • opacity
  • filter

Solución 6: Preconnect a Google Fonts

Reduce el retraso de carga de las fuentes.

<link rel="preconnect" href="https://fonts.googleapis.com">

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

Solución 7: Skeleton Screens

Mostrar un placeholder mientras carga el contenido.

<div class="skeleton" style="width:100%;height:300px;background:#f0f0f0;">

<!-- El contenido se muestra aquí tras la carga -->

</div>

Herramientas de Medición y Monitorización de CWV

Herramientas de Medición

1. Google Search Console (Gratis)

Funcionalidades:

  • Informe "Core Web Vitals" (datos reales de usuarios)
  • URLs problemáticas identificadas
  • Móvil + Desktop por separado
  • Historial de evolución

Ideal para: Visión general de todo el sitio

2. PageSpeed Insights (Gratis)

Funcionalidades:

  • Puntuación 0-100
  • Core Web Vitals medidos
  • Field data (reales) + Lab data (simulados)
  • Sugerencias de optimización

Ideal para: Diagnóstico de una página específica

3. Chrome User Experience Report (CrUX) (Gratis)

Funcionalidades:

  • Datos de usuarios reales de Chrome
  • API o BigQuery
  • Comparación con la competencia

Ideal para: Análisis avanzado, comparaciones

4. Extensión Web Vitals para Chrome (Gratis)

Funcionalidades:

  • Medición de CWV en tiempo real durante la navegación
  • Insignia de color (verde/naranja/rojo)
  • Historial de la página

Ideal para: Pruebas rápidas durante el desarrollo

Monitorización Continua

5. SpeedCurve (90$/mes)

Funcionalidades:

  • Monitorización diaria de CWV
  • Alertas de degradación
  • Comparación con competidores
  • Presupuestos de rendimiento

6. Calibre (75$/mes)

Funcionalidades:

  • Tests multi-ubicación
  • Detección de regresiones
  • Snapshots visuales
  • Integración con CI/CD

7. DebugBear (49$/mes)

Funcionalidades:

  • Enfocado en Core Web Vitals
  • Waterfall detallado
  • Real User Monitoring (RUM)
  • Recomendaciones priorizadas

Checklist para Core Web Vitals Perfectos

Checklist LCP (<2.5s)

  • [ ] Imagen LCP <200KB
  • [ ] Formato WebP utilizado
  • [ ] Preload de la imagen LCP
  • [ ] CDN activado
  • [ ] TTFB <200ms
  • [ ] Sin lazy load en la imagen LCP
  • [ ] CSS/JS minificados
  • [ ] CSS crítico inline
  • [ ] JS no crítico diferido
  • [ ] HTTP/2 o HTTP/3 activo
  • [ ] Imágenes responsive (srcset)
  • [ ] Compresión Gzip/Brotli

Checklist INP (<200ms)

  • [ ] JavaScript diferido (defer)
  • [ ] Code splitting implementado
  • [ ] Mínimo de scripts de terceros
  • [ ] Web Workers para cálculos pesados
  • [ ] Debounce/throttle de eventos
  • [ ] requestIdleCallback para tareas no urgentes
  • [ ] Sin long tasks (>50ms)
  • [ ] Hilo principal libre

Checklist CLS (<0.1)

  • [ ] Imágenes con width/height
  • [ ] Vídeos con dimensiones
  • [ ] font-display: swap
  • [ ] Espacios reservados para anuncios
  • [ ] Lazy load de imágenes fuera de pantalla
  • [ ] Animaciones con transform/opacity
  • [ ] Preconnect a Google Fonts
  • [ ] Skeleton screens si es necesario
  • [ ] Sin contenido inyectado dinámicamente por encima del contenido existente

Conclusión: CWV = Ranking + UX Medible

Los Core Web Vitals (LCP, FID/INP, CLS) son las 3 métricas oficiales de Google que miden la experiencia de usuario real e impactan directamente en el ranking (+2.4x mejor ranking en sitios con 3 verdes). Cada métrica tiene un umbral preciso (LCP <2.5s, INP <200ms, CLS <0.1) alcanzable con optimizaciones técnicas concretas: compresión de imágenes, preload, defer de JS, dimensiones fijas, font-display swap.

Mide tus Core Web Vitals actuales en Google Search Console y PageSpeed Insights, identifica las métricas en rojo/naranja, y aplica las correcciones priorizadas. Los sitios con Core Web Vitals perfectos posicionan mejor, convierten más (+38% de conversiones de media), y ofrecen una experiencia de usuario medible excepcional.

Audita tu SEO técnico completo para identificar todas las oportunidades de optimización más allá de los Core Web Vitals. O confía tu optimización de CWV a nuestros expertos, que alcanzan umbrales perfectos (3 verdes) e impulsan tu ranking +15-30 posiciones en 60 días garantizados.

Esto también te puede interesar

Para seguir leyendo

🚀 ¿Quieres aplicar esto en tu sitio?

Cuéntame sobre tu proyecto, y vemos juntas/os qué tiene sentido para ti.