Automatyczne Tagi Lazy SEO dla obrazów: konfiguracja i pomoc
Szybki start
- Zainstaluj ZIP w Moduły > "Module Manager", a następnie kliknij "Configure".
- W Ustawienia lazy loading pozostaw Włącz lazy loading na Tak.
- Sprawdź Klasa CSS wykluczenia i Dodaj decoding="async", a następnie zapisz.
- Dodaj klasę wykluczającą do obrazów treści, których nie chcesz obejmować automatycznym dodawaniem lazy loading.
- Otwórz stronę z obrazem treści poniżej widocznego obszaru i sprawdź jego atrybuty loading i decoding.
- Sprawdź obrazy produktów i list; w razie potrzeby dostosuj szablony motywu, aby wyświetlały przygotowane wartości loading i decoding.
Wymaga PrestaShop 1.6.1 lub nowszego i PHP 7.1 lub nowszego.
Instrukcja konfiguracji
Instalacja i otwieranie ustawień
Prześlij ZIP w Moduły > "Module Manager" > "Upload a module". Zainstaluj moduł i kliknij "Configure". Otworzy to kontroler konfiguracji z formularzem Ustawienia lazy loading.
Wymaga PrestaShop 1.6.1 lub nowszego i PHP 7.1 lub nowszego.
Konfiguracja lazy loading
| Ustawienie | Domyślnie | Działanie i kiedy zmienić |
|---|---|---|
| Włącz lazy loading | Tak | Przygotowuje obsługiwane obrazy treści i produktów do lazy loading. Ustaw Nie, aby tymczasowo zatrzymać. |
| Klasa CSS wykluczenia | no-autolazy |
Pomijaj dodawanie lazy loading dla pasujących obrazów w obsługiwanej treści HTML. Podaj nazwę klasy bez kropki. Zmień, jeśli treści używają innej klasy. |
| Dodaj decoding="async" | Tak | Dodawaj dekodowanie asynchroniczne, gdy obraz się kwalifikuje i w HTML treści nie ma atrybutu decoding. Dane presentera produktu otrzymują decoding=async, gdy opcja jest włączona. |
Kliknij Zapisz.
Przygotowanie obrazów w edytowalnej treści
Obrazy w polach HTML przechodzących przez filterHtmlContent otrzymują atrybuty bezpośrednio w prezentowanej treści. Może to obejmować opisy i treści CMS, jeśli rdzeń kieruje te pola przez ten hook.
Dla obrazu, który musi zachować sposób ładowania, użyj skonfigurowanej klasy:
<img src="/img/cms/banner.jpg" alt="Store banner" class="no-autolazy">
Zapobiega to dodawaniu nowych atrybutów loading i decoding w normalnej ścieżce wykluczenia. Nie dodaje loading="eager". Aby jawnie zażądać natychmiastowego ładowania, użyj:
<img src="/img/cms/banner.jpg" alt="Store banner" loading="eager">
Moduł zachowuje istniejące wartości loading. Przy włączonym dekodowaniu asynchronicznym może nadal dodać decoding="async" do obrazu, który ma już loading, nawet jeśli ma też klasę wykluczającą lub URI danych. Obsługa istniejącego loading następuje przed tymi kontrolami.
Zwykły kwalifikujący się obraz treści może przyjąć postać:
<img decoding="async" loading="lazy" src="/img/cms/detail.jpg" alt="Product detail">
Obrazy z klasą wykluczającą lub src zaczynającym się od data: są pomijane, jeśli nie mają istniejącego atrybutu loading. Istniejące wartości decoding w HTML treści zostają zachowane.
Podłączanie szablonów obrazów produktów
Hooki produktów dodają dane do wpisów tablic w cover, default_image i images. Ustawiają loading na lazy, a przy włączonej opcji decoding na async. Te przypisania mogą zastąpić istniejące wartości w prezentowanych tablicach. Klasa wykluczająca treści nie steruje tą ścieżką.
Motyw musi wyświetlać wartości w rzeczywistych znacznikach obrazów. Dostępne wartości obejmują:
{$product.cover.loading}
{$product.cover.decoding}
{$product.default_image.loading}
{$product.default_image.decoding}
Na przykład dodaj te atrybuty do odpowiedniego znacznika okładki we własnym szablonie:
loading="{$product.cover.loading|default:'lazy'|escape:'html':'UTF-8'}"
{if isset($product.cover.decoding)}decoding="{$product.cover.decoding|escape:'html':'UTF-8'}"{/if}
Zastosuj tę samą zasadę do każdego obrazu galerii lub listy, używając jego własnych prezentowanych danych. Unikaj podwójnych atrybutów loading, jeśli szablon już je zawiera. Dla obrazu ładowanego natychmiast świadomie ustaw końcowy atrybut szablonu. Moduł nie identyfikuje automatycznie pierwszego widocznego obrazu produktu.
Weryfikacja ładowania
Dodaj obraz testowy poniżej widocznego obszaru w obsługiwanym polu treści HTML. Zapisz, otwórz stronę sklepu i sprawdź znacznik obrazu. Potwierdź loading="lazy" oraz, jeśli włączone, decoding="async".
Przetestuj obraz z class="no-autolazy", a następnie z loading="eager". Przykład z klasą nie powinien otrzymać nowych atrybutów przez normalną ścieżkę wykluczenia. Przykład eager powinien zachować wartość loading i może otrzymać dekodowanie asynchroniczne.
Otwórz produkt i listę. Sprawdź końcowy HTML, zamiast zakładać, że dodane pola presentera pojawią się automatycznie. Użyj narzędzi sieciowych przeglądarki podczas przewijania, aby sprawdzić ładowanie. Przeglądarka decyduje, kiedy pobrać obraz oznaczony do natywnego lazy loading.
Moduł zmienia atrybuty i prezentowane dane, nie pliki obrazów ani zapisane opisy. Nie analizuje końcowej odpowiedzi strony. Obrazy wstawione później przez JavaScript są obsługiwane tylko wtedy, gdy ich oryginalna treść przeszła przez odpowiednie hooki PHP.
Rozwiązywanie problemów z brakującymi atrybutami
Potwierdź, że Włącz lazy loading ma wartość Tak. Jeśli obrazy edytowalnej treści nie zmieniają się, sprawdź, czy pole przechodzi przez filterHtmlContent. Sprawdź klasę wykluczającą, istniejący atrybut loading i warunki URI danych.
Jeśli obrazy produktów nie zmieniają się, sprawdź znaczniki obrazów w motywie. Szablon musi używać prezentowanych wartości loading i decoding. Same hooki PHP nie dodają atrybutów do dowolnego HTML motywu.
Po zmianie ustawień odśwież pamięć podręczną stron. Użyj "Integrity" do kontroli konfiguracji i infrastruktury. Sprawdź ustawienia po aktualizacji starszej instalacji.
Wyłączenie lub odinstalowanie
Ustaw Włącz lazy loading na Nie, aby zatrzymać przetwarzanie i zachować ustawienia. Odinstaluj przez "Module Manager", aby usunąć menu modułu i wpisy wspólnej konfiguracji.
Atrybuty dodane ręcznie do szablonów motywu lub zapisanej treści pozostają do czasu ich edycji. Usuń osobno własne dodatki do szablonów, jeśli nie są już potrzebne.
Pytania
Brak pytań o ten moduł
Zapytaj o instalację, zgodność lub konfigurację. Odpowiedzi pojawią się tutaj.
Znane problemy
4
Pierwsze widoczne zdjęcie above the fold jest ładowane leniwie, powodując CLS
Moduł stosuje lazy loading do wszystkich zdjęć, w tym pierwszego zdjęcia produktu widocznego w viewporcie przy załadowaniu strony, co powoduje widoczne przesunięcie układu.
Informacja o rozwiązaniu
Pierwsze zdjęcie mieszczące się w wysokości viewportu jest teraz wyłączone z lazy loadingu i ładowane w trybie eager z fetchpriority=high.
Strona ustawień modułu nie otwierała się
Brakujące lub nieprawidłowe tłumaczenia
Moduł nie ładował się
Zgłoszenia funkcji
4
Zaimplementowane
Automatyczne opóźnione ładowanie obrazów
Wykluczenia obrazów
Kontrola i naprawa instalacji
Aktualizacje z panelu administracyjnego
Dziennik zmian
v1.0.112026-09-07
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedRegister lazy image tag autoload namespace
- FixedMigrate config to ConfigTable, fix parse error in deleteConfigs
Starsze wersje
v1.0.02026-05-21
- Initialrelease: automatic lazy-loading attributes for PrestaShop images
- InitialInjects loading='lazy' on all <img> tags in front-office HTML output
- InitialConfigurable above-the-fold exclusion count to avoid LCP degradation
- InitialCompatible with PS 1.7.x and PS 8.x
v1.2.02026-04-20
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
v1.1.02026-01-24
- AddedPS 9 / Hummingbird theme compatibility
- AddedCSS class exclusion list — prevent lazy loading on specific image classes
- Improvedoutput parsing — handles images inside srcset and picture elements
- Fixeddouble loading='lazy' attribute injection on images already marked lazy
Demo
Przetestuj pełny moduł przed zakupem
Licencję kupisz później, a ustawienia zostaną.
- Twoje 30-dniowe demo Przetestuj go we własnym sklepie przez 30 dni od pierwszej instalacji.
- Gotowy sklep demo Poznaj gotowy sklep demo w przeglądarce.
- Bez rejestracji Bez konta, adresu e-mail ani domeny sklepu.
Pobierając, akceptujesz warunki dema i politykę prywatności.
Otwierając to demo, akceptujesz regulamin wersji demo oraz politykę prywatności.