WebP- und AVIF-Bilder in PrestaShop 9: Formate, Qualität und Neuerzeugung
PrestaShop 9 erzeugt Bilder in modernen Formaten ohne zusätzliche Module. Wir zeigen, wie Sie es konfigurieren, und die Falle, die Ihren Shop weiß lassen kann.
Bilder sind mit Abstand das, was in einem Onlineshop am meisten wiegt. PrestaShop 9 kann Produktminiaturen zusätzlich zu JPG in WebP und AVIF erzeugen und sie mit dem Tag <picture> ausliefern, damit jeder Browser das beste Format wählt, das er versteht.
Was Sie gewinnen
- WebP: meist 25–35 % leichter als ein JPG vergleichbarer Qualität. Alle aktuellen Browser verstehen es.
- AVIF: noch leichter, vor allem bei Fotos, aber langsamer in der Erzeugung.
Konfiguration
Unter Design > Bilder wählen Sie die zu erzeugenden Formate und die Qualität. Intern wird das in der Konfiguration PS_IMAGE_FORMAT gespeichert, zum Beispiel webp,avif,jpg.
Die Falle: Der Server muss das Format schreiben können
PHP erzeugt die Bilder mit der GD-Bibliothek (oder Imagick). Wenn Sie AVIF konfigurieren und die GD Ihres Servers keine AVIF-Unterstützung hat, existiert die Funktion imageavif() nicht. PrestaShop 9 erzeugt fehlende Miniaturen im laufenden Betrieb, und beim Versuch unterbricht der Fehler die Seite: Der Shop erscheint weiß, mit Statuscode 200 und ohne Eintrag in den Logs.
Prüfen Sie es, bevor Sie ein Format aktivieren:
php -r 'var_dump(function_exists("imagewebp"), function_exists("imageavif"));'
Miniaturen neu erzeugen
Unter Design > Bilder > Miniaturen neu erzeugen. Bei großen Katalogen kann das lange dauern und wegen der Ausführungszeit abbrechen; erzeugen Sie sie dann nach Typen (zuerst Produkte) oder mit einem Kommandozeilenskript, das vorhandene überspringt.
Qualität
- JPG: 85–90.
- WebP: 80–85.
- AVIF: 60–75 (seine Skala ist nicht mit der von JPG vergleichbar).
Außerdem
- Laden Sie Originalbilder in vernünftiger Größe hoch (2000 px Kantenlänge reichen für fast jeden Zoom).
- Definieren Sie nur die Bildgrößen, die Ihr Theme tatsächlich nutzt: Jede zusätzliche Größe vervielfacht Speicherplatz und Neuerzeugungszeit.
- Aktivieren Sie Lazy Loading (
loading="lazy") in Listen, aber nicht beim Hauptbild der Produktseite: Das muss so früh wie möglich laden.