WebP to nowoczesny format obrazów, który zapewnia znacznie mniejsze rozmiary plików niż tradycyjne JPG i PNG przy porównywalnej jakości. Magento 2 domyślnie nie konwertuje obrazów do WebP, ale można łatwo wdrożyć obsługę WebP ręcznie lub za pomocą modułów. Poniżej znajdziesz kompletną instrukcję.
Najpierw przekonwertuj istniejące obrazy do formatu WebP. Możesz użyć narzędzi lokalnych lub online:
cwebp
Przykład użycia cwebp
w terminalu:
cwebp obraz.jpg -q 80 -o obraz.webp
Wgraj obrazy WebP do katalogu /pub/media
lub innego folderu dostępnego publicznie w Magento. Upewnij się, że mają te same nazwy, co oryginalne obrazy JPG/PNG, ale z rozszerzeniem .webp
.
Aby zapewnić kompatybilność ze starszymi przeglądarkami, użyj znacznika <picture>
z fallbackiem:
<picture> <source srcset="/media/baner.webp" type="image/webp"> <img src="/media/baner.jpg" alt="Opis baneru"> </picture>
Przeglądarka, która obsługuje WebP, załaduje wersję WebP. Inne wczytają JPG.
Serwer musi poprawnie obsługiwać WebP. W zależności od używanego serwera, zastosuj odpowiednie reguły.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{REQUEST_FILENAME} (.+)\.(jpe?g|png)$ RewriteCond %{DOCUMENT_ROOT}/$1.webp -f RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1] </IfModule> AddType image/webp .webp
location ~* ^/media/.+\.(jpg|jpeg|png)$ { add_header Vary Accept; try_files $uri$webp_suffix $uri =404; } map $http_accept $webp_suffix { default ""; "~*webp" ".webp"; } location ~* \.webp$ { add_header Content-Type image/webp; }
Po zmianie konfiguracji zrestartuj serwer, np. sudo systemctl restart nginx
lub apache2
.
Istnieją moduły, które automatyzują konwersję i serwowanie WebP:
Moduły te generują WebP dla obrazów produktów, kategorii i CMS oraz mogą automatycznie nadpisywać adresy URL.
.webp
Wdrożenie WebP w Magento 2 może znacząco przyspieszyć ładowanie sklepu. Wymaga to konwersji obrazów, aktualizacji treści CMS lub szablonów oraz ewentualnej konfiguracji serwera WWW. Aby zautomatyzować proces, warto rozważyć instalację dedykowanego modułu Magento.