Curso HTML 12.6 Buenas prácticas de rendimiento con imágenes y multimedia
En este bloque profundizaremos en técnicas y estrategias para optimizar el uso de imágenes y elementos multimedia (audio y vídeo) en una web. El objetivo es reducir el tamaño de las páginas, mejorar el tiempo de carga y la experiencia de usuario, sin sacrificar calidad.
1. Optimización de imágenes
1.1 Formatos adecuados
Seleccionar el formato óptimo según el tipo de imagen:
| Formato | Uso recomendado | Ventajas | Desventajas |
|---|---|---|---|
| JPEG | Fotografías, imágenes de gran colorido | Compresión con pérdida, ampliamente soportado | Artefactos con fuerte compresión |
| PNG | Imágenes con transparencia, gráficos simples | Sin pérdida, transparencia nativa | Mayor peso en fotografías |
| WebP | Fotografías y gráficos web modernos | Mejor compresión que JPEG/PNG, soporta transparencia | No soportado en navegadores muy antiguos |
| SVG | Logotipos, iconos, ilustraciones vectoriales | Escalable, editable, tamaño muy reducido | No apto para fotografías complejas |
1.2 Imágenes responsivas con <picture> y srcset
Usar <picture> y atributos srcset y sizes para servir la versión adecuada según resolución y ancho del dispositivo:
1.3 Lazy loading
Retrasar la carga de imágenes no visibles usando loading='lazy':
1.4 Especificar dimensiones
Siempre incluir width y height para reservar espacio y evitar el reflow:
1.5 Compresión y CDN
- Usar herramientas de compresión sin pérdida (TinyPNG, ImageOptim) o con pérdida controlada.
- Servir imágenes desde una CDN geográficamente distribuida para reducir latencia.
- Habilitar cabeceras de
cache-controladecuadas.
2. Optimización de vídeo y audio
2.1 Formatos y códecs
Elegir formatos compatibles y eficientes:
- Vídeo: MP4 (H.264), WebM (VP9/AV1), Ogg Theora.
- Audio: MP3, AAC, Ogg Vorbis.
2.2 Atributos clave en <video>
Parámetros recomendados:
preload='metadata'(solo metadatos).controlspara mostrar controles nativos.posterpara mostrar una imagen de vista previa.widthyheightpara reserva de espacio.loading='lazy'(en navegadores compatibles).
2.3 Streaming adaptativo
Para piezas de larga duración o público global, usar protocolos HLS/DASH:
2.4 Subtítulos y accesibilidad
Incluir pistas de subtítulos con <track>:
2.5 Optimización de audio
Para audio simple o música de fondo:
- Comprimir a ~128–192 kbps para voz y ~320 kbps para música de alta calidad.
- Usar cabeceras de caché y CDN.
3. Buenas prácticas adicionales
- Preload y prefetch de recursos críticos con
<link rel='preload'>orel='preconnect'. - Evitar imágenes o vídeos gigantes y luego redimensionarlos en CSS.
- Implementar un sistema de sprites SVG o icon fonts para iconos repetidos.
- Monitorizar tiempos de carga con herramientas como Lighthouse, WebPageTest o GTmetrix.
- Usar Service Workers para cachear recursos estáticos e imágenes.
Conclusión
Con estos enfoques reducimos peso de la página, achicamos tiempos de carga y mejoramos la experiencia, sobre todo en redes móviles o dispositivos de baja potencia. La combinación de formatos adecuados, técnicas de lazy loading, dimensiones claras y streaming adaptativo para vídeo/audio marca la diferencia en el rendimiento real de una web.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.