DijiText
Todos los artículos
Tecnología11 min de lectura

Optimizar la velocidad web: cómo mejorar los Core Web Vitals

Acelera tu web mejorando LCP, INP y CLS: optimización de imágenes, menos JavaScript y consejos prácticos de Next.js.

Optimizar la velocidad web: cómo mejorar los Core Web Vitals

Por muy atractiva que sea, una web lenta espanta a las visitas. Según Google, el 53 % de los usuarios abandona una web que tarda más de 3 segundos en cargar, y la velocidad es un factor de posicionamiento directo. Esta guía explica con claridad los Core Web Vitals y las técnicas que de verdad funcionan.

¿Qué son los Core Web Vitals?

Tres métricas clave de experiencia de usuario que Google presentó en 2020 e incorporó al posicionamiento en 2021, basadas en datos reales de usuarios.

1. LCP — Largest Contentful Paint

Tiempo hasta que aparece el elemento visible más grande (a menudo una imagen principal o un titular).

  • Bueno: 2,5 segundos o menos
  • Mejorable: 2,5–4 segundos
  • Malo: más de 4 segundos

Factores principales: imágenes pesadas, servidor lento y JavaScript/CSS bloqueantes.

2. INP — Interaction to Next Paint

Rapidez de respuesta a las interacciones (clic, toque, teclado). Sustituyó a FID en 2024.

  • Bueno: 200 ms o menos
  • Mejorable: 200–500 ms
  • Malo: más de 500 ms

Tareas largas de JavaScript, scripts de terceros pesados y manejadores de eventos ineficientes lo empeoran.

3. CLS — Cumulative Layout Shift

Mide cuánto “saltan” los elementos durante la carga.

  • Bueno: 0,1 o menos
  • Mejorable: 0,1–0,25
  • Malo: más de 0,25

Imágenes sin dimensiones, contenido inyectado y anuncios tardíos son las causas principales.

Dónde medir

Google PageSpeed Insights — datos de laboratorio y reales (CrUX), gratis.

Google Search Console → informe Core Web Vitals — experiencia real por grupos de URL.

WebPageTest — gráficos en cascada, vídeos comparativos, pruebas en varios pasos.

Chrome DevTools → Lighthouse — mediciones inmediatas en local.

Mejorar el LCP

Formatos de imagen modernos

Pasar de JPEG/PNG a WebP o AVIF suele reducir el peso un 30–50 %.

``html <picture> <source srcset="hero.avif" type="image/avif" /> <source srcset="hero.webp" type="image/webp" /> <img src="hero.jpg" alt="..." width="1280" height="720" /> </picture> ``

Con Next.js, el componente <Image> lo hace automáticamente.

Precargar la imagen principal

``html <link rel="preload" as="image" href="/hero.webp" fetchpriority="high" /> ``

Reducir el tiempo de respuesta del servidor (TTFB)

  • Generación estática (SSG) o ISR en vez de renderizar en cada petición
  • CDN para servir el contenido desde cerca
  • VPS o cloud si faltan recursos

CSS crítico en línea

Incluir en el HTML los estilos de la parte visible acorta el renderizado; Critical o Critters lo automatizan.

Mejorar el INP: menos JavaScript

Dividir las tareas largas

Más de 50 ms bloquean la interacción. Divide el trabajo con setTimeout(..., 0) o scheduler.yield():

``javascript async function processLargeList(items) { for (let i = 0; i < items.length; i++) { process(items[i]); // Un respiro al hilo principal cada 50 elementos if (i % 50 === 0) await new Promise(r => setTimeout(r, 0)); } } ``

Eliminar scripts de terceros innecesarios

Chats, redes publicitarias, analítica y botones sociales pesan sobre el INP. Revisa Google Tag Manager con regularidad.

División de código en React/Next.js

``javascript const HeavyComponent = dynamic(() => import('./HeavyComponent'), { ssr: false, loading: () => <div>Cargando…</div>, }); ``

Llevar el CLS a cero

Dimensiones en todas las imágenes

``html <img src="product.jpg" alt="Imagen del producto" width="800" height="600" /> ``

``css .hero-image { aspect-ratio: 16 / 9; width: 100%; } ``

Evitar FOUT/FOIT con las fuentes

Usa font-display: optional o swap y precarga las fuentes:

``html <link rel="preload" href="/fonts/Brand.woff2" as="font" type="font/woff2" crossorigin /> ``

Marcadores de posición para contenido dinámico

``css .content-area { min-height: 120px; / reserva espacio hasta que cargue / } ``

Optimizaciones automáticas con Next.js

Con una web en Next.js estas funciones vienen de serie:

| Función | Qué aporta | |---|---| | Componente <Image> | WebP/AVIF automático, lazy loading, dimensiones | | <Script strategy="lazyOnload"> | Retrasa los scripts no críticos | | Generación estática (SSG) | Minimiza el TTFB | | Optimización de fuentes | Autoalojamiento, estrategia swap | | División automática de código | Cada página carga solo su JS |

Lo comentamos también en el artículo sobre el coste de una web corporativa.

Por dónde empezar

1. Optimizar imágenes — por sí solo suele mejorar el LCP un 30–40 %.

2. Eliminar JavaScript sin usar — herramienta Coverage de Chrome DevTools.

3. Reducir recursos bloqueantes — async/defer o CSS crítico en línea.

4. Revisar el servidor — con hosting compartido y TTFB superior a 800 ms, plantéate cambiar.

5. Auditar scripts de terceros — sección “Código de terceros” de PageSpeed Insights.

Conclusión: la velocidad es una necesidad

Los Core Web Vitals ya son una base obligatoria para el posicionamiento, la satisfacción y la conversión: trátalos como un ciclo continuo de medición y mejora.

¿Quieres conocer el estado de tus Core Web Vitals o una optimización profesional? Contáctanos — ofrecemos un análisis previo gratuito.

Artículos relacionados

Listos para tu próximo proyecto.

Cuéntanos tu idea: tras una primera reunión gratuita, te enviamos una hoja de ruta y un presupuesto en 24 horas.