🗜️
← Volver a guías

Cómo optimizar imágenes para el rendimiento web

· Etiquetas: image-optimization, web-performance, core-web-vitals, lcp, page-speed, seo

Cómo optimizar imágenes para el rendimiento web

Las imágenes representan entre el 50 y el 60 por ciento del total de bytes descargados de una página web típica. Cada imagen no optimizada añade segundos a tu tiempo de carga, aumenta tu tasa de rebote y perjudica tu posición en los motores de búsqueda. Core Web Vitals de Google — específicamente Largest Contentful Paint (LCP) — mide directamente el rendimiento de carga de las imágenes, lo que convierte la optimización de imágenes en uno de los cambios de mayor impacto que puedes hacer en tu sitio web.

Esta guía cubre una estrategia completa de optimización de imágenes, desde los fundamentos de la compresión hasta técnicas avanzadas de entrega.

1. Comprime cada imagen antes de publicarla

Nunca subas una imagen en bruto directamente desde tu cámara, teléfono o herramienta de diseño. La compresión debe ser el primer paso en tu flujo de trabajo de publicación.

Principios clave:

  • Las fotografías toleran la compresión con pérdida agresiva. Empieza con calidad 80 para JPEG y WebP, y luego ajusta hacia abajo si los objetivos de tamaño de archivo lo exigen.
  • Las capturas de pantalla, los logotipos y los gráficos se benefician de la compresión sin pérdida. PNG y WebP sin pérdida preservan los bordes nítidos y el texto que la compresión con pérdida difuminaría.
  • AVIF ofrece las mejores relaciones de compresión pero requiere más tiempo de codificación. Úsalo para imágenes que se descargan con frecuencia y se actualizan rara vez.
  • Comprime en el formato original para evitar la pérdida por generación debida a conversiones de formato innecesarias.

Ahorros esperados:

Un flujo de trabajo típico que comprime imágenes antes de subirlas reduce el peso total de las imágenes entre un 40 y un 80 por ciento con una pérdida de calidad mínima perceptible.

2. Sirve las dimensiones correctas

Servir una foto de 4000 píxeles de ancho dentro de un contenedor de 300 píxeles de ancho es el error de rendimiento más común en la web. El navegador descarga los 4000 píxeles y luego los reduce, desperdiciando ancho de banda y memoria.

Crea múltiples variantes de tamaño:

  • De 320 a 480 píxeles de ancho para pantallas móviles
  • De 768 a 1024 píxeles de ancho para tabletas
  • De 1200 a 1920 píxeles de ancho para pantallas de escritorio
  • 2560 píxeles de ancho para pantallas retina de alta densidad (2x)

Haz coincidir la variante más grande con el ancho máximo en el que la imagen se mostrará en tu diseño, multiplicado por 2 para pantallas de alta densidad de píxeles (high-DPI).

3. Usa imágenes responsivas con Srcset

Los atributos srcset y sizes en HTML le indican al navegador qué tamaño de imagen descargar según el ancho de la ventana gráfica del usuario y la relación de píxeles del dispositivo.

<img
  src="photo-800.jpg"
  srcset="
    photo-400.jpg 400w,
    photo-800.jpg 800w,
    photo-1200.jpg 1200w,
    photo-1600.jpg 1600w
  "
  sizes="(max-width: 600px) 100vw, (max-width: 1200px) 50vw, 800px"
  alt="Descriptive text for accessibility and SEO"
/>

Este único patrón puede reducir el ancho de banda de las imágenes entre un 40 y un 60 por ciento en dispositivos móviles sin ninguna diferencia de calidad visible.

4. Optimiza para Largest Contentful Paint (LCP)

LCP mide el tiempo que tarda en renderizarse el elemento visible más grande — normalmente la imagen principal (hero). Google considera bueno un LCP de 2,5 segundos o menos.

Para optimizar el LCP de las imágenes:

  • Precarga la imagen principal para que el navegador la descubra pronto. Añade <link rel="preload" as="image" href="hero.webp"> en el encabezado de tu documento.
  • Comprime la imagen principal de forma agresiva: suele ser el primer y mayor recurso que descarga el navegador.
  • Sirve WebP o AVIF para la imagen principal con una alternativa (fallback) en JPEG.
  • Dimensiona la imagen principal correctamente. No sirvas una imagen de 4000 píxeles en un espacio principal de 1200 píxeles.
  • No cargues de forma diferida (lazy load) la imagen principal ni ninguna imagen visible sin desplazamiento. La carga diferida retrasa la descarga, lo que perjudica el LCP.

5. Activa la carga diferida (lazy loading) para imágenes bajo el pliegue

Las imágenes que no son visibles en la pantalla inicial no necesitan cargarse de inmediato. El atributo loading="lazy" le indica al navegador que difiera la carga de la imagen hasta que esté cerca de entrar en la ventana gráfica.

<img src="gallery-photo.jpg" loading="lazy" alt="Gallery image" />

La carga diferida reduce el peso inicial de la página entre un 30 y un 50 por ciento en páginas con muchas imágenes. Combinada con la compresión, el impacto es transformador.

6. Elimina los metadatos de las imágenes

Los datos EXIF — configuración de la cámara, coordenadas GPS, marcas de tiempo — añaden bytes innecesarios a cada imagen. Eliminar los metadatos normalmente ahorra entre un 5 y un 15 por ciento del tamaño del archivo sin ningún cambio visual. Haz de la eliminación de metadatos un paso estándar en tu flujo de trabajo de compresión.

7. Usa una red de entrega de contenido (CDN)

Un CDN distribuye tus imágenes entre servidores de todo el mundo, reduciendo la distancia física entre el usuario y la imagen. Esto mejora el Time to First Byte (tiempo hasta el primer byte) para las solicitudes de imágenes.

Algunos CDN también ofrecen transformación de imágenes sobre la marcha:

  • Negociación automática de formato (sirve WebP o AVIF cuando son compatibles)
  • Redimensionado dinámico según el dispositivo y la ventana gráfica
  • Ajustes de compresión en tiempo real

Si un CDN dedicado no es una opción, como mínimo usa HTTP/2 o HTTP/3 para permitir múltiples descargas de imágenes en una sola conexión.

8. Considera el rendimiento de decodificación de imágenes

Las imágenes grandes no solo tardan en descargarse, sino también en decodificarse. El navegador debe descomprimir los datos JPEG, PNG, WebP o AVIF antes de renderizarlos. JPEG y WebP se decodifican rápidamente en la mayoría de los dispositivos, mientras que la decodificación de AVIF es más costosa a nivel computacional: una consideración para los dispositivos móviles de gama baja.

Usa el atributo decoding="async" en imágenes no críticas para permitir que el navegador las decodifique sin bloquear otro contenido:

<img src="photo.jpg" decoding="async" loading="lazy" alt="Description" />

Construyendo tu flujo de trabajo de optimización

Un canal de optimización de imágenes de extremo a extremo se ve así:

  1. Comprime las imágenes en su formato original usando una herramienta con la calidad adecuada.
  2. Elimina los metadatos durante la compresión.
  3. Redimensiona a las dimensiones de visualización requeridas, creando múltiples variantes.
  4. Implementa srcset y sizes en tus plantillas HTML.
  5. Precarga la imagen principal y carga de forma diferida todo lo que está bajo el pliegue.
  6. Sirve desde un CDN para un rendimiento global.
  7. Mide el LCP y el peso total de las imágenes usando Lighthouse o PageSpeed Insights.
  8. Itera sobre los ajustes de calidad hasta cumplir con tu presupuesto de rendimiento.

Empieza a optimizar tus imágenes hoy mismo con nuestro compresor de imágenes en línea gratuito. Sube imágenes en formato PNG, JPEG, WebP o AVIF y descarga versiones comprimidas listas para producción: sin conversión de formato, sin compromisos de calidad.