Performance Revolution: konfiguracja i pomoc

Szybki start

  1. Prześlij i zainstaluj ZIP w Moduły > "Module Manager", a następnie otwórz Wydajność > Ustawienia.
  2. Wybierz Backend cache i sprawdź faktyczny punkt połączenia Redis lub inny dostępny adapter.
  3. Sprawdź Globalny cache i "Front Office" w Pamięć podręczna > Przegląd.
  4. Przejrzyj Buforowanie fragmentów, Pamięć podręczna zapytań, Optymalizacja zasobów i Zdjęcia, po czym zapisz konfigurację początkową.
  5. Jeśli używasz pamięci podręcznej całych stron, włącz Włącz pamięć podręczną stron na serwerze źródłowym i sprawdź Nagłówek diagnostyczny dla czystego anonimowego adresu URL.
  6. Wywołaj stronę dwukrotnie, następnie sprawdź w osobnych sesjach, czy koszyk, logowanie, konto i zamówienie omijają współdzielony anonimowy HTML.
  7. W razie potrzeby osobno skonfiguruj CDN i zaplanowane rozgrzewanie oraz sprawdź stan konfiguracji i wyniki programu uruchamiającego zadania.

Wymaga PrestaShop 1.6.1 lub nowszego oraz PHP 7.1 lub nowszego.

Instrukcja konfiguracji

Instalacja i ustalenie stanu początkowego

Prześlij ZIP w Moduły > "Module Manager", zainstaluj go i kliknij "Configure". Menu zaplecza to Wydajność, z pozycjami Panel, Pamięć podręczna, Zasoby, Zapytania, Kopia zapasowa, Ustawienia i Sprawdzanie systemu.

Przed włączeniem kolejnych warstw zanotuj działanie strony głównej, kategorii, produktu, koszyka, konta i zamówienia. Testuj zarówno w przeglądarce klienta, jak i pracownika. Wybierz właściwy sklep i wykonaj kopię konfiguracji przed zmianą pamięci podręcznej rdzenia lub reguł CDN.

Zacznij w Ustawienia > Backend cache. Proces PHP wymaga zapisu do katalogów pamięci podręcznej PrestaShop i generowanych zasobów. Instalacja pamięci obiektowej Redis PrestaShop wymaga też dostępu do odpowiedniej klasy pamięci podręcznej rdzenia i plików konfiguracji. Działania Cloudflare wymagają tokena z uprawnieniami do wybranej strefy i żądanych operacji.

Wybór backendu i zakresów pamięci podręcznej

Ustawienie Domyślnie Co ustawiasz
Backend cache auto Wybierz "Auto", Redis, APCu lub "File" dla menedżera pamięci podręcznej modułu. "Auto" wybiera dostępny obsługiwany backend.
Domyślny TTL pamięci podręcznej 3600 sekund Domyślny czas życia wpisów modułu.
Host Redis 127.0.0.1 Przenośna wartość domyślna modułu. Istniejąca konfiguracja Redis PrestaShop może wpływać na faktyczny punkt połączenia; sprawdź wyświetlane źródło.
Port Redis 6379 Port TCP Redis.
Hasło Redis Puste Hasło uwierzytelniania, jeśli wymagane.
Baza danych Redis 0 Indeks bazy danych.
Prefiks Redis mpr_perf: Prefiks kluczy modułu.
Limit czasu połączenia z Redis 0.25 sekundy Limit czasu połączenia.
Limit czasu odczytu z Redis 0.5 sekundy Limit czasu odczytu.
Pamięć podręczna obiektów PrestaShop (Redis) Istniejące ustawienie rdzenia Osobne sterowanie pamięcią obiektową rdzenia PrestaShop przez MPRCacheRedis. Odczytuje konfigurację rdzenia zamiast stałej wartości domyślnej modułu.

Zapisz i sprawdź wybrany adapter na ekranie Panel. Jeśli Redis nie łączy się, sprawdź nazwę hosta, port, uwierzytelnianie, bazę i obsługę Redis w PHP. Nie zakładaj, że wybór backendu modułu włącza również pamięć obiektową rdzenia.

Otwórz Pamięć podręczna > Przegląd, aby znaleźć przełączniki zakresów Globalny cache, "Front Office", Panel administracyjny i API. Domyślnie są włączone. Przełącznik globalny steruje użyciem pamięci podręcznej modułu, a przełączniki zakresów ograniczają odpowiednie konteksty żądań.

Użyj Pamięć podręczna > Warstwy do sterowania warstwami, Przeglądarka do przeglądania wpisów, Strony do danych pamięci stron oraz Presety do przeglądu dostępnych ustawień wstępnych. Przeczytaj ustawienie wstępne przed zastosowaniem, ponieważ zmienia kilka opcji jednocześnie.

Konfiguracja fragmentów i zapytań

Otwórz Ustawienia > Buforowanie fragmentów.

Ustawienie Domyślnie Działanie
Włącz buforowanie fragmentów Włączone Włącza jawnie oznaczone fragmenty Smarty. Nie obejmuje automatycznie każdej sekcji motywu.
Domyślny TTL 3600 sekund Czas życia, jeśli fragment nie podaje własnego TTL.

Programista może zapisać fragment kategorii w pamięci podręcznej z uwzględnieniem jej tożsamości:

{mpr_cache id="category_products" ttl=3600 tags=["product","category"] vary=["category" => $category.id]}
  {foreach from=$products item=product}
    {include file='catalog/_partials/miniatures/product.tpl' product=$product}
  {/foreach}
{/mpr_cache}

Klucz pamięci podręcznej zawiera język, sklep, walutę i domyślną grupę klientów, chyba że wyłączono uwzględnianie kontekstu. Dodaj do vary każdą inną wartość wpływającą na fragment. Nie umieszczaj treści specyficznej dla klienta we współdzielonym fragmencie bez odpowiedniego różnicowania lub dynamicznego zastępowania.

Użyj dynamicznych symboli zastępczych dla obsługiwanych wartości bieżącego żądania:

<span class="cart-count">{mpr_dynamic name="cart_count"}</span>
<span class="cart-total">{mpr_dynamic name="cart_total"}</span>
<span class="customer-name">{mpr_dynamic name="customer_name" default=""}</span>
<span class="csrf-token">{mpr_dynamic name="csrf_token"}</span>

Obsługiwane nazwy obejmują też wartości klienta, języka, waluty i sklepu. Własny dostawca może użyć actionMPRDynamicContent:

public function hookActionMPRDynamicContent($params)
{
    if (($params['name'] ?? '') === 'loyalty_points') {
        return (string) $this->getCurrentCustomerPoints();
    }
    return $params['default'] ?? '';
}

Otwórz Ustawienia > Pamięć podręczna zapytań.

Ustawienie Domyślnie Działanie
Włącz buforowanie zapytań Włączone Włącza obsługiwane buforowanie wyników zapytań.
Wstępne pobieranie wyników SQL Wyłączone Opcjonalny tryb pobierania zapytań z wyprzedzeniem. Pozostaw wyłączony przy pierwszej konfiguracji; sprawdź wybrany tryb względem obciążenia zapytaniami.
Włącz profilowanie zapytań Wyłączone Zbiera czasy wykonywania zapytań.
Próg wolnego zapytania 0.1 sekundy Próg raportowania wolnych zapytań.
TTL pamięci podręcznej zapytań 300 sekund Czas życia zapisanych wyników zapytań.

Użyj Zapytania do przeglądania zebranych zapytań. Włącz profilowanie podczas diagnozy, a przed pozostawieniem go na stałe oceń narzut.

Konfiguracja zasobów i CSS offline

Otwórz Ustawienia > Optymalizacja zasobów. Włączaj i testuj na motywie po jednej zmianie.

Ustawienie Domyślnie Działanie
Włącz optymalizację zasobów Włączone Główny przełącznik przetwarzania zasobów.
Łączenie zasobów Wyłączone Zastępuje oryginalne zasoby zoptymalizowanymi pakietami.
Inteligentne odraczanie zasobów Wyłączone Odracza obsługiwane zasoby modułów zgodnie z potrzebami strony i interakcji.
Minifikacja CSS Włączone Minifikuje CSS.
Minifikacja JS Włączone Minifikuje JavaScript.
Własne łączenie CSS Wyłączone Używa mechanizmu łączenia modułu zamiast polegać wyłącznie na natywnym CCC.
Usuń nieużywany CSS Wyłączone Usuwa selektory, których nie ma w zebranych szablonach i skryptach. Potem sprawdź komponenty dynamiczne.
"Resource Hints" Włączone Dodaje obsługiwane wskazówki preload, prefetch, preconnect i DNS-prefetch.
CSS według typu strony Wyłączone Używa wariantów arkuszy zbudowanych offline dla obsługiwanych typów stron. Gdy wariantu brak lub jest nieaktualny, używany jest pełny arkusz.
Wygenerowany początkowy CSS Wyłączone Osadza zweryfikowany początkowy CSS wygenerowany przez proces offline. To aktualna etykieta wcześniejszego opisu "Critical CSS".
Strony z początkowym CSS auto Automatycznie wybiera stronę główną, główne kategorie, najważniejsze produkty i kluczowe strony CMS dla każdego języka lub przyjmuje konkretne docelowe URL.
Limit początkowego CSS 51200 bajtów Limit CSS osadzanego w HTML, od 8192 do 51200 bajtów. Strona wymagająca więcej zachowuje pełne arkusze.
Odraczanie JS do bezczynności Wyłączone Ładuje wybrany JavaScript modułów później, przez mechanizm odroczenia do bezczynności.
Odroczone moduły Brak Wybierz zasoby modułów do odroczenia do bezczynności. Testuj zależne funkcje interaktywne.

Włączenie generowanego CSS nie uruchamia przeglądarki podczas żądania sklepu. Zbuduj go osobnymi procesami roboczymi. Stan wygenerowanego początkowego CSS informuje o gotowości. Proces "Critical CSS" wymaga Node 22.12 lub nowszego i skonfigurowanego środowiska przeglądarki. Generuj i wdrażaj według dołączonej instrukcji procesu.

Te polecenia CLI sprawdzają lub inicjalizują pracę; same nie kończą generowania w przeglądarce:

php modules/mprperformancerevolution/cli/critical-css.php --targets
php modules/mprperformancerevolution/cli/critical-css.php --seed
php modules/mprperformancerevolution/cli/critical-css.php --status
php modules/mprperformancerevolution/cli/page-type-css.php --status

Odbuduj dane CSS offline po istotnych zmianach arkuszy, szablonów, skryptów lub treści. Gdy wygenerowanych danych brak lub są nieprawidłowe, moduł wraca do pełnych arkuszy.

Konfiguracja wstępnego ładowania nawigacji i obrazów

Otwórz Ustawienia > Natychmiastowa nawigacja.

Ustawienie Domyślnie Działanie
Wczytuj strony z wyprzedzeniem Włączone Publikuje obsługiwane reguły spekulacyjne przeglądarki. Nieobsługiwane przeglądarki je ignorują.
Co wczytywać z wyprzedzeniem "Prefetch" "Prefetch" tylko pobiera. "Prerender" dodatkowo renderuje i wykonuje skrypty przed nawigacją, więc przed wyborem sprawdź każdą integrację śledzącą.
Kiedy zaczynać: odwiedzający z pamięci podręcznej "Moderate" Zaczyna po krótkim najechaniu kursorem.
Kiedy zaczynać: pozostali odwiedzający "Conservative" Zaczyna po kliknięciu/dotknięciu, aby ograniczyć pracę bez pamięci podręcznej.
Nigdy nie wczytuj z wyprzedzeniem Puste Dodaj ścieżki lub wzorce glob, po jednym w wierszu. Wbudowane wykluczenia prywatnych obszarów/akcji pozostają aktywne.

Wbudowana polityka wyklucza koszyk, zamówienie, konto, logowanie, linki z parametrami zapytania, pliki, linki nofollow i narzędzia modułu. Serwer również weryfikuje żądania spekulacyjne.

Otwórz Ustawienia > Zdjęcia.

Ustawienie Domyślnie Działanie
Leniwe ładowanie Włączone Dodaje natywne opóźnione ładowanie obrazów tam, gdzie działa optymalizator.
Konwersja do WebP Wyłączone Generuje WebP, jeśli serwer je obsługuje.
Konwersja do AVIF Wyłączone Generuje AVIF dostępnym obsługiwanym koderem.

Kodowanie AVIF podczas działania może używać GD imageavif lub Imagick z obsługą AVIF. GD AVIF zwykle wymaga PHP 8.1 lub nowszego. Generowanie partiami może też używać dołączonego backendu Python, jeśli dostępne są Python, Pillow, pillow_avif i wykonywanie procesów. WebP korzysta z obsługiwanych funkcji GD.

Dla obrazów list produktów obowiązują dodatkowe wewnętrzne wartości domyślne: filtr typów obrazów jest domyślnie wyłączony, a lista typów to default_sm,default_md,default_lg,home_default,product_main,product_main_2x. Nie są to osobne widoczne pola standardowego formularza Zdjęcia. Podobnie wewnętrzny współczynnik próbkowania RUM wynosi 0.1.

Aby uruchomić kontrolowaną partię, wykonaj w zainstalowanym sklepie:

php modules/mprperformancerevolution/scripts/generate-images-cli.php --quality=50 --webp-quality=80 --webp --limit=100

Użyj powtarzalnego --path=PATH, aby ograniczyć pracę wewnątrz katalogu głównego sklepu. --force ponownie generuje istniejące warianty. Przed większą partią przejrzyj liczby konwersji, pominięć i błędów.

Konfiguracja pamięci stron na serwerze źródłowym

Otwórz Ustawienia > Pamięć podręczna stron na serwerze źródłowym.

Ustawienie Domyślnie Działanie
Włącz pamięć podręczną stron na serwerze źródłowym Wyłączone Zapisuje i podaje zweryfikowany anonimowy HTML przed normalnym wykonaniem kontrolera.
TTL pamięci podręcznej stron na serwerze źródłowym 86400 sekund Dozwolony zakres: 60 do 2592000 sekund.
Dodatkowo wykluczone adresy URL Puste Dodaj ścieżki lub wzorce glob, po jednym w wierszu. Wbudowane wykluczenia prywatnych tras i sesji pozostają aktywne.
Nagłówek diagnostyczny Włączone Wysyła X-MPR-PageCache z trafieniem, brakiem trafienia lub strukturalnym powodem pominięcia.

To rzeczywista pamięć pełnych stron na serwerze źródłowym, używająca menedżera pamięci modułu. Jest niezależna od buforowania HTML w CDN i fragmentów Smarty. Żądania koszyka, konta, zamówienia, administracji, AJAX, niebezpiecznych ciasteczek sesyjnych i nieznanych zapytań omijają ją zgodnie z polityką działania.

Włącz ją dopiero po sprawdzeniu czystej anonimowej strony i wymaganych przypadków pominięcia. Wywołaj ten sam anonimowy URL dwukrotnie i sprawdź X-MPR-PageCache. Następnie testuj logowanie, tworzenie koszyka, zmiany waluty/języka i strony prywatne w osobnych sesjach przeglądarki.

Konfiguracja rozgrzewania i zadań harmonogramu

Otwórz Ustawienia > Rozgrzewanie cache.

Ustawienie Domyślnie Działanie
Włącz rozgrzewanie cache na serwerze źródłowym Wyłączone Włącza zaplanowane przebiegi na serwerze źródłowym.
Zezwól na rozgrzewanie CLI po wdrożeniu Włączone Zezwala na pełny przebieg CLI po wdrożeniu.
Współbieżność 1 Równoczesne żądania do serwera źródłowego.
Maksymalny czas działania 120 sekund Ogranicza jeden zwykły przebieg.
Zestaw adresów URL all Wybierz Krytyczny, "Manifest", "Sitemap" lub Wszystkie.
IP rozwiązywania serwera źródłowego 127.0.0.1 Rozwiązuje nazwę hosta sklepu na ten IP serwera źródłowego podczas jego rozgrzewania.
Ograniczenie po niedawnym rozgrzaniu 12 godzin Pomija niedawno rozgrzane URL podczas zwykłych przebiegów.
Przerwa między żądaniami 500 ms Ustala odstępy między żądaniami.
Zatrzymaj powyżej obciążenia serwera 100 procent Wstrzymuje po osiągnięciu ustawionego limitu znormalizowanego obciążenia hosta.
Włącz rozgrzewanie brzegu Cloudflare Wyłączone Rozgrzewa publiczne URL przez brzeg sieci.
Odstęp rozgrzewania brzegu 6 godzin Ograniczenie po niedawnym rozgrzewaniu brzegu sieci.
Renderowania rozgrzewające na godzinę 6 Wspólny budżet zaplanowanych renderowań.
Czas żądań rozgrzewających na godzinę 60 sekund Wspólny budżet czasu zaplanowanych żądań.
Cichy początek każdych 10 minut 30 sekund Pozostawia początek każdego bloku na inne zadania harmonogramu.

Skopiuj rzeczywiście wygenerowany token do harmonogramu serwera. Typowe polecenie uruchamiające:

* * * * * php /var/www/html/modules/mprperformancerevolution/cron.php --token=YOUR_TOKEN --max-tasks=20 --max-seconds=55 --context=cron

Dostosuj ścieżki PHP i sklepu. Program obsługuje także zadeklarowane czyszczenie, oczekujące unieważnienia/czyszczenia, zadania obrazów i konserwację CSS zgodnie ze stanem zadań. Osobno sprawdź włączenie funkcji i zaplanowanie jej zadania.

Ręczny przebieg po wdrożeniu może używać:

php modules/mprperformancerevolution/cli/warm-cache.php --full --both --url-set=all --concurrency=1 --resolve-ip=127.0.0.1 --max-seconds=120

Użyj --edge tylko dla brzegu sieci, --cron dla trybu cron i --help dla obsługiwanych argumentów. Przeczytaj podsumowanie stanów wyłączenia, błędów lub blokady zapisu zewnętrznego. Wstrzymany lub ograniczony budżetem przebieg może być oczekiwany przy zachowawczych ustawieniach domyślnych.

Monitorowanie, debugowanie i weryfikacja

Otwórz Ustawienia > Monitorowanie. Włącz zbieranie metryk jest domyślnie włączone, Przechowywanie metryk wynosi 30 dni, a Metryki prawdziwych użytkowników są włączone. Wewnętrzne próbkowanie RUM wynosi 10 procent. Metryki pulpitu obejmują stan adaptera, trafienia, braki trafień, współczynnik trafień, pamięć, wolne zapytania i dostępne pomiary TTFB, FCP, LCP, CLS oraz INP.

Otwórz Ustawienia > Tryb dev, aby tymczasowo zawiesić ustawienia pamięci podręcznej. Tryb dev jest początkowo nieaktywny, zachowuje poprzednią konfigurację i przywraca ją po wyłączeniu lub wygaśnięciu. Tryb debugowania pracownika jest początkowo wyłączony i włącza komunikaty deweloperskie PrestaShop tylko dla rozpoznanych pracowników ze zweryfikowanym ciasteczkiem debugowania modułu.

W Ustawienia > Debugowanie opcje Nakładka debugowania, Włącz panel debugowania i Panel profilera są domyślnie wyłączone. Dozwolone adresy IP i Dozwolone identyfikatory pracowników są początkowo puste. Profiler: tylko pracownicy jest domyślnie włączony. Ogranicz dostęp do diagnostyki podczas testów i wyłącz ją po zakończeniu.

Opcjonalne pliki profilera są w optional-overrides/classes/Hook.php i optional-overrides/classes/db/Db.php. Użyj zabezpieczonej procedury instalacji nadpisań profilera, aby sprawdzić istniejące nadpisania. Wyczyść stan klas/pamięci PrestaShop według tej procedury. Nie nadpisuj niezwiązanych nadpisań bezwarunkowym kopiowaniem. Gdy opcjonalne nadpisania profilera przestaną być potrzebne, usuń je tą samą procedurą.

Po każdej zmianie konfiguracji sprawdź stronę główną, listę, produkt, koszyk i zamówienie, następnie nagłówki pamięci i powody pominięcia w osobnych sesjach klientów. Hooki katalogu, stanów magazynowych, cen i treści unieważniają obsługiwane tagi pamięci, ale zmiany motywu, integracji i reguł CDN mogą nadal wymagać jawnego wyczyszczenia.

Rozwiązywanie problemów i odinstalowanie

Jeśli adapter różni się od wybranego, sprawdź dostępność backendu i ustalanie punktu połączenia Redis. Jeśli strona omija pamięć, przeczytaj powód diagnostyczny przed zwiększaniem limitów lub zmianą polityki ciasteczek. Przy nieaktualnym HTML sprawdź osobno warstwy serwera źródłowego i brzegu sieci oraz potwierdź zakończenie unieważniania.

Jeśli łączenie, odraczanie lub zmiany CSS psują komponent, wyłącz daną opcję, wyczyść jej wygenerowane pliki lub pamięć podręczną i sprawdź ponownie. Dla generowanego CSS sprawdź stan i dziennik procesu roboczego. Przy błędach obrazów sprawdź kodery i uprawnienia zapisu. Przy oczekującym rozgrzewaniu sprawdź program uruchamiający, przełącznik funkcji, obciążenie hosta i budżety.

Przed odinstalowaniem usuń zainstalowane opcjonalne nadpisania profilera i przejrzyj aktywne reguły CDN. Wyłącz lub usuń reguły brzegu sieci należące do modułu przez procedurę CDN, aby strefa nie buforowała nadal prywatnych tras bez zamierzonej ochrony serwera źródłowego. Zapisz kopię potrzebnej konfiguracji i wygenerowanych danych.

Odinstalowanie usuwa zadania harmonogramu, mechanizm startowy debugowania pracowników, zainstalowaną klasę pamięci Redis, menu modułu i jego tabele bazy danych. Następnie przejrzyj konfigurację pamięci rdzenia PrestaShop i zewnętrznego CDN; nie zakładaj, że Module Manager cofa całą konfigurację zdalną.

Zgodność

Wymaga PrestaShop 1.6.1 lub nowszego oraz PHP 7.1 lub nowszego.

Pytania

Brak pytań o ten moduł

Zapytaj o instalację, zgodność lub konfigurację. Odpowiedzi pojawią się tutaj.

Znane problemy

27

Strony w buforze nie są niezawodnie rozdzielane po osiągnięciu pojemności

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Obsługa pojemności pamięci podręcznej stron mogła nie zachowywać oddzielnego wpisu dla każdej strony.

Usunięte strony nadal zajmują pojemność pamięci podręcznej

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Usunięte strony mogły nadal wliczać się do zajętej pojemności pamięci podręcznej i uniemożliwiać prawidłowe ponowne wykorzystanie miejsca.

Czyszczenie bufora może pozostawić odtworzoną treść nieaktualną

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Dodatkowe czyszczenie pamięci podręcznej mogło uruchomić się zbyt wcześnie po jej wyczyszczeniu, pozostawiając nieaktualną treść odtworzoną w trakcie czyszczenia.

Karuzela w stopce nie działa po opóźnieniu skryptu startowego

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Uruchomienie karuzeli w stopce mogło być opóźnione niezależnie od jej kontrolera, co uniemożliwiało inicjalizację.

Brakujące strony katalogu otrzymują zasady współdzielonej pamięci podręcznej

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Żądanie katalogu zakończone nieznalezieniem strony mogło nadal otrzymać zasady współdzielonego buforowania właściwe dla prawidłowej listy.

Niekompletne strony trafiają do pamięci podręcznej

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Częściowo wyrenderowana strona mogła zostać zapisana, a później pokazana odwiedzającym jako kompletna strona.

Google One Tap uniemożliwia buforowanie publicznych stron

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Obecność stanu Google One Tap mogła niepotrzebnie wykluczać anonimowego odwiedzającego z buforowania stron.

Anonimowi odwiedzający pozostają poza buforem po opróżnieniu koszyka

RozwiązaneZaktualizowano:
Naprawiono w: 1.26.9
Po opróżnieniu koszyka anonimowy odwiedzający mógł niepotrzebnie pozostawać wykluczony z buforowania stron.

Odroczone pakiety skryptów się nie inicjalizują

RozwiązaneZaktualizowano:
Naprawiono w: 1.20.1
Odroczenie ładowania połączonych skryptów mogło oddzielić skrypt od wymaganej zależności lub dostarczyć go bez potrzebnego mechanizmu ładowania.

Strona zarządzania zasobami się nie otwiera

RozwiązaneZaktualizowano:
Naprawiono w: 1.20.1
Strona zarządzania zasobami mogła kończyć się błędem przy próbie wyświetlenia niedostępnej akcji czyszczenia.

Przekierowanie do logowania w PrestaShop 9 nie działa

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Otwarcie chronionej strony administracyjnej modułu bez zalogowania mogło powodować błąd zamiast przekierowania do logowania w panelu administracyjnym.

Celowane czyszczenie pamięci podręcznej nie odnajduje wybranych produktów

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Czyszczenie pamięci podręcznej wybranych elementów katalogu mogło nie obejmować wskazanych pozycji.

Brakujące dane w pamięci podręcznej wpływają na ceny grupowe

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Zapisanie braku ceny grupowej w pamięci podręcznej mogło zmienić sposób obliczania cen grupowych przy późniejszych żądaniach.

Średnie wyniki wydajności odwiedzających są mylące

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Pomiary wydajności mogły uwzględniać niewyświetlone wstępnie wyrenderowane strony, a niedostępne pomiary przeglądarki mogły być liczone jako zero.

Filtrowane strony katalogu pokazują wynik innego filtra

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Żądania stron z różnymi filtrami mogły błędnie korzystać z tej samej treści w pamięci podręcznej zamiast pozostawać oddzielne.

Dynamicznie ładowane elementy tracą style

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Czyszczenie arkuszy stylów mogło usuwać style wymagane przez elementy sklepu pojawiające się po początkowym załadowaniu strony.

Lightbox obrazów treści nie otwiera się od razu

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Odroczenie ładowania wymaganych zasobów galerii mogło uniemożliwiać natychmiastowe otwieranie obrazów treści w lightboxie.

Główny slider strony głównej uruchamia się za późno

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Odroczenie ładowania niezbędnych zasobów slidera mogło opóźnić lub zakłócić działanie głównego slidera strony głównej.

Nowoczesne warianty obrazów są nieobecne lub nieaktualne

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Zoptymalizowane obrazy AVIF i WebP mogły używać nieprawidłowych nazw lub pozostawać nieaktualne po zmianie oryginalnego obrazu.

Czyszczenie pamięci podręcznej pomija tłumaczenia stron katalogu

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Czyszczenie pamięci podręcznej katalogu mogło pozostawiać nieaktualne wersje tych samych stron w innych językach sklepu.

Wzmocnienie zabezpieczeń

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Wzmocnienie zabezpieczeń.

Zarządzanie pamięcią podręczną nie otwiera się lub nie usuwa wpisów

RozwiązaneZaktualizowano:
Naprawiono w: 1.18.1
Przeglądarka pamięci podręcznej mogła się nie otwierać, a elementy zarządzania pamięcią podręczną mogły kończyć się błędem zamiast usuwać wybrane wpisy.

Zawartość anonimowego koszyka znika przy buforowaniu stron

RozwiązaneZaktualizowano:
Naprawiono w: 1.5.8
Dodawanie produktów przez żądania sklepu mogło nie zapisywać trwale anonimowego koszyka przy włączonym buforowaniu stron.

Menu rozwijane na chwilę otwierają się podczas ładowania

RozwiązaneZaktualizowano:
Naprawiono w: 1.5.8
Menu rozwijane mogły na krótko pojawiać się otwarte przed zakończeniem ładowania pełnego arkusza stylów.

Podpisane podglądy pokazują publiczną treść z pamięci podręcznej

RozwiązaneZaktualizowano:
Naprawiono w: 1.5.8
Podpisane żądania podglądu mogły błędnie używać publicznej pamięci podręcznej stron zamiast renderować podgląd.

Optymalizacja obrazów ładowanych z opóźnieniem uszkadza skrypty strony

RozwiązaneZaktualizowano:
Naprawiono w: 1.5.8
Optymalizacja obrazów mogła zmieniać skrypty osadzone i zakłócać działanie sklepu.

Przyciski szybkiej finalizacji zamówienia przestają działać

RozwiązaneZaktualizowano:
Naprawiono w: 1.5.8
Optymalizacja zasobów mogła usuwać skrypty finalizacji zamówienia ze stron, które nadal wyświetlały przyciski szybkiej finalizacji.

Zgłoszenia funkcji

17

Zaimplementowane

Planowane wypełnianie pamięci podręcznej serwera i Cloudflare

Zaimplementowane
Zaplanowane zadania wstępnie wczytują strony sklepu dopuszczone do buforowania do pamięci podręcznej stron serwera źródłowego i pamięci brzegowej Cloudflare. Oba tryby można włączać osobno.

Pamięć podręczna całych stron w Cloudflare

Zaimplementowane
Udostępniaj kwalifikujące się strony publiczne z Cloudflare, zachowując obsługę zarządzania sesjami PrestaShop 9.

Generowanie krytycznych arkuszy stylów

Zaimplementowane
Generuj style potrzebne do początkowego widoku strony, aby ograniczyć opóźnienia renderowania.

Obrazy AVIF i odroczone zasoby

Zaimplementowane
Generuj warianty obrazów AVIF i odraczaj wybrane zasoby do chwili, gdy będą potrzebne.

Wstępne ładowanie nawigacji

Zaimplementowane
Rozpoczynaj wczytywanie podlinkowanej strony, gdy odwiedzający wskaże jej link.

Zachowywanie wygenerowanych zasobów

Zaimplementowane
Zachowuj dostępność wygenerowanych zasobów po czyszczeniu pamięci podręcznej.

Aktualizacje modułu jednym kliknięciem

Zaimplementowane
Instaluj dostępne aktualizacje modułu z zaplecza.

Instant Navigation i wczesne wskazówki zasobów

Zaimplementowane
Konfiguruj wstępne ładowanie lub renderowanie stron dla obsługiwanych przeglądarek i wcześniej przekazuj wskazówki dotyczące ładowania zasobów.

Automatyczne rozgrzewanie pamięci podręcznej

Zaimplementowane
Rozgrzewaj strony publiczne w sklepie i Cloudflare w tempie, które wstrzymuje pracę przy dużym obciążeniu lub skokach ruchu.

Pamięć podręczna stron treści

Zaimplementowane
Buforuj obsługiwane strony bloga, bazy wiedzy i FAQ.

Wyjątki od odraczania zasobów

Zaimplementowane
Wybieraj pojedyncze pliki do natychmiastowego wczytania, nawet gdy inne zasoby są odraczane.

Wygasanie pamięci podręcznej według publikacji

Zaimplementowane
Unieważniaj strony w pamięci podręcznej, gdy nadejdzie termin kolejnej zaplanowanej publikacji na blogu.

Pamięć podręczna stron publicznych dla pracowników

Zaimplementowane
Pozwól zalogowanym pracownikom korzystać z kwalifikujących się wpisów pamięci podręcznej stron anonimowych.

Rozgrzewanie pamięci podręcznej według danych

Zaimplementowane
Ustalaj priorytety stron na podstawie wizyt ludzi, ruchu z wyszukiwania i zamówień, współdzieląc kontrolowany budżet rozgrzewania.

Diagnostyka braku trafień w pamięci podręcznej

Zaimplementowane
Sprawdzaj, dlaczego strona jest wykluczona z buforowania i jaki stan odwiedzającego wpływa na tę decyzję.

Ochrona przed obciążeniem renderowaniem stron

Zaimplementowane
Ograniczaj nadmierne renderowanie stron publicznych i udostępniaj stronę z pamięci podręcznej lub tymczasową odpowiedź z prośbą o ponowienie, zachowując sesje zakupowe.

Opcjonalne wstępne ładowanie danych stron

Zaimplementowane
Włącz opcjonalną optymalizację przygotowującą dane stron do ponownego użycia, aby ograniczyć pracę bazy danych podczas wczytywania strony.

Dziennik zmian

v1.5.152026-05-27

  • AddedFinalize performance endpoint SEO cleanup
  • AddedRetain generated assets across cache clears
  • AddedFlip CDN cache from whitelist to blacklist — cache all pages by default
  • AddedHover prefetch for perceived-instant navigation
  • AddedStrip tracking query params (srsltid, fbclid, gclid) to prevent CDN cache fragmentation
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedDelay full listing stylesheet load
  • ImprovedInline critical listing render assets
  • ImprovedServe compact category intro images
  • FixedKeep listing image optimization theme-safe
  • FixedMigrate module state to MPR config
  • FixedPurge localized catalog urls
  • FixedCache knowledge base pages at edge
Starsze wersje

v1.3.02026-04-20

  • AddedOrganize config form via getTabsDefinition() and adopt masked_key
  • AddedFix CDN cache bypass for pages with session init during rendering
  • 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
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • FixedAddLazyLoading regex no longer corrupts inline script blocks
  • FixedStop stripping checkout JS on pages with express checkout buttons
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.1.02026-03-12

  • Addedlazy-loading fallback polyfill for Safari 14 and older iOS devices
  • AddedCSS/JS minification toggle per asset type (theme / module)
  • ImprovedRedis connection pooling — module reuses existing PS Redis instance
  • FixedOPcache invalidation race condition after module config save

v1.0.02026-02-20

  • Initialrelease: comprehensive performance suite for PrestaShop
  • InitialRedis full-page caching with automatic tag-based invalidation
  • InitialNative image optimisation pipeline with WebP output
  • InitialCSS/JS minification and CDN origin rewrite
  • InitialCompatible with PS 1.7.x and PS 8.x

v1.2.02026-01-14

  • AddedPS 9 / Hummingbird theme compatibility and Symfony cache layer hooks
  • Addedper-route Redis cache TTL override for high-churn category pages
  • ImprovedWebP conversion quality slider in back-office image settings
  • Optimized DB query cache: deduplicated redundant JOIN patterns in heavy-load scenarios
  • FixedCDN rewrite not applying to srcset attributes in product gallery

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.
Uruchom sklep demo

Pobierając, akceptujesz warunki dema i politykę prywatności.

Otwierając to demo, akceptujesz regulamin wersji demo oraz politykę prywatności.

Ładowanie...
Do góry