Blog

Optimizar imágenes para Core Web Vitals

Google mide la velocidad de tu web y la usa para rankearte. Las imágenes son, casi siempre, el problema.

Publicado el · 4 min de lectura · TSDFACT

Google mide tu velocidad y la usa para rankearte

Los Core Web Vitals son las métricas con las que Google evalúa la experiencia real de tus visitantes. No son un capricho técnico: forman parte de las señales de posicionamiento y, sobre todo, se correlacionan con que la gente se quede o se vaya.

De las tres métricas, dos dependen casi por completo de las imágenes.

Cómo las imágenes afectan al LCP y al CLS
MétricaQué mideObjetivoCulpable habitual
LCPCuándo aparece el elemento más grande de la pantalla inicialMenos de 2.5 sUna imagen pesada o cargada tarde
CLSCuánto se mueve el contenido mientras cargaMenos de 0.1Imágenes sin dimensiones declaradas
INPCuánto tarda la página en responder a un clicMenos de 200 msJavaScript, no imágenes

LCP: la imagen candidata

En la mayoría de páginas, el elemento más grande de la primera pantalla es una imagen: el banner de portada, la foto del producto, la cabecera del artículo. Esa es tu imagen candidata a LCP, y todo el trabajo consiste en que aparezca cuanto antes.

Tres reglas que resuelven casi todos los casos:

1. Nunca pongas loading="lazy" en la imagen candidata. Es el error más común y el más contraproducente: la carga diferida existe para las imágenes que están más abajo. Aplicarla a la primera imagen retrasa deliberadamente tu propia métrica.

2. Dale prioridad explícita.

<!-- La primera imagen visible: prioridad alta, sin lazy -->
<img src="portada.webp" alt="..." width="1200" height="630"
     loading="eager" decoding="async" fetchpriority="high">

<!-- Todas las demás: diferidas -->
<img src="otra.webp" alt="..." width="800" height="600"
     loading="lazy" decoding="async">
            

3. Que pese poco. Ninguna optimización de carga compensa un archivo de 3 MB. Si aún no has decidido el formato, empieza por WebP, AVIF o JPG: qué formato usar.

CLS: el salto que enfurece al usuario

Estás leyendo, carga una imagen que no tenía espacio reservado, y todo el texto salta hacia abajo. Eso es CLS, y se arregla con dos atributos:

<!-- MAL: el navegador no sabe cuánto espacio reservar -->
<img src="foto.webp" alt="...">

<!-- BIEN: reserva el espacio antes de descargar -->
<img src="foto.webp" alt="..." width="1200" height="800">

/* Y en el CSS, para que siga siendo responsive: */
img { max-width: 100%; height: auto; }
            

Con width y height declarados, el navegador calcula la proporción y reserva el hueco desde el primer instante. Los atributos no fijan el tamaño final —el CSS manda—, solo comunican la relación de aspecto.

No sirvas la misma imagen a todos los dispositivos

Enviar una imagen de 2000 px de ancho a un móvil de 390 px es desperdiciar unos cuantos cientos de kilobytes en cada visita. srcset deja que el navegador elija:

<img src="producto-800.webp"
     srcset="producto-400.webp   400w,
             producto-800.webp   800w,
             producto-1600.webp 1600w"
     sizes="(max-width: 768px) 100vw, 800px"
     alt="Descripción real del producto"
     width="800" height="600" loading="lazy" decoding="async">
            

sizes le dice al navegador qué ancho ocupará la imagen en el diseño; con eso y la densidad de pantalla, escoge el archivo más adecuado antes de descargar nada.

Auditoría rápida en diez minutos

  1. Abre tu página en una ventana de incógnito y pulsa F12.
  2. Ve a la pestaña Red, filtra por Img y ordena por tamaño de mayor a menor.
  3. Anota las cinco imágenes más pesadas. Ahí está tu problema.
  4. En la pestaña Rendimiento, busca cuál es el elemento LCP.
  5. Revisa en el código si esa imagen tiene loading="lazy". Si lo tiene, quítalo.
  6. Comprueba que todas tus etiquetas <img> tengan width y height.
  7. Vuelve a medir con PageSpeed Insights y compara.

Un orden de prioridades honesto

AcciónEsfuerzoImpacto
Quitar lazy de la imagen LCPUn minutoAlto
Añadir width y height a todasUna horaAlto en CLS
Convertir a WebP las 10 imágenes más pesadasUna tardeMuy alto
Implementar srcsetUn díaAlto en móvil
Añadir AVIF con respaldoUn díaMedio
Rediseñar la portada enteraSemanasImpredecible

Las tres primeras filas resuelven, en nuestra experiencia, la mayor parte de los problemas de Core Web Vitals de un sitio corporativo típico.

Conclusión

Optimizar imágenes para Core Web Vitals no es un proyecto: son cuatro decisiones bien tomadas. Formato moderno, una sola imagen con prioridad alta, dimensiones siempre declaradas y variantes por dispositivo. Con eso, la mayoría de webs pasa de rojo a verde sin tocar el diseño.

Si necesitas generar las variantes por lotes, ChasquImage convierte y redimensiona en el navegador y permite fijar un peso objetivo por archivo.