Imágenes WebP y AVIF en PrestaShop 9: formatos, calidad y regeneración
PrestaShop 9 genera imágenes en formatos modernos sin módulos extra. Te contamos cómo configurarlo y la trampa que puede dejar tu tienda en blanco.
Las imágenes son, con diferencia, lo que más pesa en una tienda online. PrestaShop 9 permite generar las miniaturas de producto en WebP y AVIF además de JPG, y servirlas con la etiqueta <picture> para que cada navegador elija el mejor formato que entiende.
Qué ganas
- WebP: suele pesar un 25–35 % menos que un JPG de calidad similar. Lo entienden todos los navegadores actuales.
- AVIF: todavía más ligero, sobre todo en fotografías, pero más lento de generar.
Configuración
En Diseño > Configuración de imágenes eliges los formatos a generar y la calidad. Internamente se guarda en la configuración PS_IMAGE_FORMAT, por ejemplo webp,avif,jpg.
La trampa: el servidor tiene que saber escribir el formato
PHP genera las imágenes con la librería GD (o Imagick). Si configuras AVIF y la GD de tu servidor no trae soporte AVIF, la función imageavif() no existe. PrestaShop 9 genera sobre la marcha las miniaturas que faltan, y al intentarlo el error interrumpe la página: la tienda sale en blanco, con código 200 y sin nada en los registros.
Compruébalo antes de activar un formato:
php -r 'var_dump(function_exists("imagewebp"), function_exists("imageavif"));'
Regenerar miniaturas
En Diseño > Configuración de imágenes > Regenerar miniaturas. En catálogos grandes puede tardar mucho y cortarse por tiempo de ejecución; en ese caso, regenéralas por tipos (primero productos) o con un script por línea de comandos que salte las que ya existen.
Calidad
- JPG: 85–90.
- WebP: 80–85.
- AVIF: 60–75 (su escala no es comparable con la de JPG).
Y además
- Sube imágenes originales de un tamaño razonable (2000 px de lado es suficiente para casi cualquier zoom).
- Define los tamaños de imagen que tu tema usa de verdad: cada tamaño extra multiplica el espacio en disco y el tiempo de regeneración.
- Activa la carga diferida (
loading="lazy") en listados, pero no en la imagen principal de la ficha: esa debe cargar cuanto antes.