Pamięć podręczna stron PrestaShop: kiedy pomaga i jak ją włączyć

Cache Pro zapisuje strony Twojego sklepu PrestaShop i serwuje je, zanim PrestaShop je odbuduje. Ustawienia, koszyk, czyszczenie, wstępne ładowanie i zmiana licencji 2.0.1.

Cache PrestaShop : quand un cache de pages complètes aide

Twój sklep PrestaShop pokazuje kartę produktu po kilku sekundach i zastanawiasz się nad pełną pamięcią podręczną stron. Wydajność i szybkość sklepu mogą wyraźnie wzrosnąć, ale boisz się pustego koszyka albo nieaktualnych cen. Cache Pro zapisuje w pamięci podręcznej HTML stron publicznych i wysyła go, zanim PrestaShop je odbuduje, więc każda wizyta korzysta z zapisanej kopii. Poniżej znajdziesz, kto dostaje te strony, jak skonfigurować moduł w panelu, czego nie robi i co zmienia wersja 2.0.1 w licencji.

Czy naprawdę potrzebujesz pełnej pamięci podręcznej stron w PrestaShop?

Tak, gdy wielu anonimowych odwiedzających otwiera te same strony, a serwer buduje je za każdym razem. Nie, gdy sklep jest bardzo mały, gdy każda strona jest personalizowana albo gdy pamięć podręczna serwera już je obsługuje.

Strona PrestaShop to nie tylko skompilowany szablon Smarty. Przy każdej wizycie PrestaShop uruchamia framework, otwiera bazę danych, wykonuje zapytania strony, wywołuje hooki wszystkich zainstalowanych modułów i składa HTML. Pamięć podręczna Smarty pozwala uniknąć ponownej kompilacji szablonów; nie unika zapytań SQL ani hooków. Pełna pamięć podręczna stron idzie dalej: przechowuje gotowy HTML.

Pierwsza wizyta na stronie buduje ją i zapisuje. Kolejni odwiedzający dostają zapisaną kopię, już skompresowaną w Gzip i w Brotli, gdy rozszerzenie PHP jest dostępne. Na stronie serwowanej z pamięci podręcznej moduł nie wykonuje żadnego zapytania SQL. Serwer wykonuje mniej pracy przy tym samym ruchu.

Cache Pro pasuje do katalogu z wieloma produktami, regułami cenowymi i modułami, gdzie stronę główną, kategorie i karty produktów oglądają odwiedzający bez zalogowania. Niewiele wnosi do sklepu z kilkudziesięcioma pozycjami, do witryny, w której każda strona zależy od konta klienta, ani za pamięcią podręczną serwera, która już działa. W tym ostatnim przypadku trzymaj jedną pamięć podręczną stron naraz.

Które strony są zapisywane, a kto dostaje zwykłą stronę?

Zapisywane są strony identyczne dla wszystkich odwiedzających: strona główna, karty produktów, kategorie ze stronami 2, 3 i ich sortowaniem, strony CMS, bestsellery, nowości, promocje, marki, dostawcy i mapa witryny. Koszyk, zamówienie, konto, wyszukiwanie i formularz kontaktowy nigdy nie są zapisywane.

Strony filtrowane fasetowo są zapisywane tylko wtedy, gdy włączysz Zapisuj strony z filtrami; opcja jest domyślnie wyłączona.

Cache Pro trzyma osobną kopię dla każdego sklepu, języka, waluty i urządzenia, komputera lub telefonu. Parametry śledzenia, takie jak utm_source, gclid czy fbclid, nie tworzą kopii: link kampanii używa tej samej kopii co zwykły adres. Adres z nieznanym parametrem nie jest zapisywany.

Zalogowany klient, odwiedzający z produktami w koszyku, wykluczony adres, żądanie Ajax, wysłanie formularza lub tryb konserwacji otrzymują stronę zbudowaną przez PrestaShop. To ustawienie domyślne i najbezpieczniejsze: koszyk i sumy nigdy nie są zamrożone we wspólnej kopii.

Jeśli chcesz, aby odwiedzający z koszykiem dostawali także zapisane strony, włącz opcję Zwracaj zapisane strony i odświeżaj blok koszyka. Zapisana strona jest wysyłana od razu, a małe żądanie Ajax aktualizuje blok koszyka. Przycisk Wykryj blok koszyka mojego motywu rozpoznaje motywy Classic i Hummingbird; dla innego motywu podaj hook i selektor CSS bloku. Strona takiego odwiedzającego nigdy nie jest zapisywana.

Konkretny przypadek: szwajcarski sklep sprzedaje w euro i frankach szwajcarskich, z motywem responsywnym. Odwiedzający w CHF nigdy nie dostaje zapisanej kopii odwiedzającego w EUR, a wersja mobilna ma własną kopię. W dniu, w którym zmieniasz cenę produktu, usuwane są tylko strony, które go pokazują.

Jak włączyć Cache Pro i sprawdzić, czy działa

Zainstaluj archiwum z Moduły > Menedżer modułów, aktywuj licencję na stronie konfiguracji, a następnie kliknij Włącz z zalecanymi ustawieniami i Przetestuj moją pamięć podręczną.

  1. W Moduły > Menedżer modułów kliknij Załaduj moduł i wybierz archiwum ZIP. Instalacja tworzy tabele, rejestruje hooki i chroni folder pamięci podręcznej. Pamięć podręczna pozostaje wyłączona, dopóki jej nie włączysz.
  2. Otwórz stronę konfiguracji. Panel Aktywacja licencji prosi o Klucz licencji i Sekret licencji; przycisk Aktywuj licencję zatwierdza subskrypcję. Bez ważnej licencji moduł pozostaje wyłączony.
  3. Otwórz Cache Pro w menu Moduły lub w menu WePresta w PrestaShop 9. Kontrole na dole panelu wymieniają to, co trzeba poprawić: folder pamięci podręcznej, licencję, Gzip i Brotli, cURL, tryb konserwacji, geolokalizację, inny moduł pamięci podręcznej i miejsce na dysku.
  4. Kliknij Włącz z zalecanymi ustawieniami. Potem dostroisz każdy typ strony i jego czas w sekcji Strony do zapisania w pamięci podręcznej.
  5. Kliknij Przetestuj moją pamięć podręczną. Test odwiedza stronę główną dwa razy: pierwsza wizyta jest generowana i zapisywana, druga jest serwowana z pamięci podręcznej, z oboma czasami odpowiedzi.
  6. Kliknij Uruchom wstępne ładowanie i zostaw stronę otwartą albo powierz je zaplanowanemu zadaniu. Wstępne ładowanie odwiedza stronę główną, kategorie, produkty i strony CMS we wszystkich językach oraz wersję mobilną, jeśli zaznaczysz Wstępnie ładuj także wersję mobilną.
Aktywna licencja: panel pokazuje domenę i datę końca, a przyciski otwierają panel i ustawienia.
Aktywna licencja: panel pokazuje domenę i datę końca, a przyciski otwierają panel i ustawienia.

Aby samemu śledzić stronę, otwórz narzędzia deweloperskie przeglądarki i wczytaj stronę dwa razy. Nagłówek X-WP-Cache pokazuje MISS przy pierwszej wizycie, HIT przy drugiej i BYPASS, gdy PrestaShop odpowiedział celowo: zalogowany klient, koszyk lub wykluczenie. W Apache folder pamięci podręcznej chroni plik .htaccess. W nginx dodaj regułę blokady podaną w dokumentacji modułu.

Dlaczego zmiany w produkcie nie widać od razu

Zapisana strona jest serwowana do końca swojego czasu przechowywania albo do chwili, gdy PrestaShop zgłosi zmianę. Cache Pro usuwa wtedy tylko strony, których to dotyczy, a nie całą pamięć podręczną.

Moduł nasłuchuje natywnych zdarzeń PrestaShop. Zmiana produktu, kombinacji, obrazu, marki lub dostawcy usuwa jego własne strony i listy, które go pokazują. Zmiana ceny, ceny specjalnej, promocji lub stanu magazynowego, także przez zamówienie, usuwa strony pokazujące produkt. Zmieniona kategoria lub strona CMS odświeża cały sklep, bo pokazują je menu i stopka.

Domyślne czasy wynoszą od 30 minut dla strony głównej do 24 godzin dla stron CMS. Karty produktów trwają 2 godziny, kategorie i pozostałe listy 1 godzinę, a minimum to 60 sekund. Strona zmieniona w panelu jest odświeżana od razu, niezależnie od pozostałego czasu. Strona z zaplanowaną promocją jest zapisywana tylko do jej początku lub końca.

Gdy zmiana się nie pojawia, nie czyść od razu całej pamięci podręcznej. Panel pokazuje ostatnie czyszczenia i ich przyczynę. Możesz użyć Wyczyść jedną stronę z jej adresu albo wszystko po zmianie motywu. Czyszczenie cache działa także wtedy, gdy opcja Włącz pamięć podręczną jest wyłączona.

Włączenie, wyłączenie lub przeniesienie modułu czyści cały sklep przy następnej stronie panelu. Nic w module nie wymaga wyłączania pamięci podręcznej przed aktualizacją PrestaShop: po aktualizacji wyczyść ją raz i sprawdź ponownie przez Przetestuj moją pamięć podręczną.

Co zmienia wersja 2.0.1 w Twoim sklepie

Od wersji 2.0.1 brakująca, wygasła, zawieszona lub unieważniona licencja całkowicie wyłącza moduł: sklep działa jak bez Cache Pro, a Twoje ustawienia zostają.

Przed tą wersją moduł pozostawał włączony bez ważnej licencji: pamięć podręczna nie serwowała już stron, ale hooki unieważniania i czyszczenia działały dalej. Wersja 2.0.1 zatrzymuje wszystko. Żadna strona nie jest serwowana z pamięci podręcznej ani zapisywana, panel i ustawienia są zamknięte, a dostępna pozostaje tylko strona konfiguracji z formularzem licencji.

Twoje ustawienia, wykluczenia, statystyki, historia czyszczenia, stan wstępnego ładowania i token zadania cyklicznego są zachowane. Zapisane strony są usuwane przy wyłączeniu. Po odnowieniu strona konfiguracji włącza moduł ponownie, gdy tylko licencja jest ważna. Pamięć podręczna startuje pusta i zapełnia się wraz z wizytami albo od razu przez wstępne ładowanie.

Bez ważnej licencji strona konfiguracji wyjaśnia, że moduł jest wyłączony, i pozostawia otwarty formularz aktywacji.
Bez ważnej licencji strona konfiguracji wyjaśnia, że moduł jest wyłączony, i pozostawia otwarty formularz aktywacji.

Menedżer modułów nie pozwala włączyć Cache Pro bez ważnej licencji i odsyła do strony konfiguracji, aby ją aktywować lub odnowić. Opłacona licencja nie jest przerywana z powodu przejściowej odpowiedzi serwera licencji. Błąd, limit żądań, przesunięty zegar lub niedostępny serwer dają siedem dni tolerancji od pierwszego niepowodzenia.

Odnowiona subskrypcja pozostaje ważna przez siedem dni po zapisanej dacie końca. Potem moduł pyta serwer najwyżej raz na godzinę. W sklepie strona serwowana z pamięci podręcznej jest wysyłana przed tą kontrolą; na stronach, które omijają pamięć podręczną, kontrola odbywa się na końcu żądania, najwyżej raz na godzinę.

W multistore aktywuj licencję w widoku „wszystkie sklepy”, inaczej pozostałe sklepy jej nie odczytają. Aktualizacja 2.0.1 instaluje się na wersji 2.0.0 i zachowuje ustawienia, zapisane strony, statystyki i historię czyszczenia.

Czego Cache Pro nie robi?

Cache Pro nie przyspiesza panelu administracyjnego i nigdy nie zapisuje w pamięci podręcznej koszyka, zamówienia, konta ani formularza kontaktowego.

Panel administracyjny buduje PrestaShop przy każdym żądaniu; moduł się nim nie zajmuje. Strony filtrowane fasetowo są zapisywane tylko wtedy, gdy włączysz Zapisuj strony z filtrami, opcję domyślnie wyłączoną. Ścieżka zamówienia, strefa klienta, strony innych modułów, takich jak blog czy formularz, oraz żądania Ajax nie są zapisywane.

Moduł nie zastępuje ani zbyt słabego serwera, ani zbyt ciężkiego motywu. Zmniejsza pracę PrestaShop na zapisanych stronach; pierwsza wizyta na stronie kosztuje normalny czas. Zgodność: PrestaShop 1.7.8, 8.0+ i 9.1+ (1.7.7 i 9.0 nie są obsługiwane), z PHP 7.4 minimum, rozszerzeniem cURL, zlib i zapisywalnym folderem pamięci podręcznej. Potrzebna jest też ważna licencja i tylko jeden moduł pamięci podręcznej stron naraz.

Dla SEO pamięć podręczna nie zastępuje poprawnych danych strukturalnych: Schema Pro generuje JSON-LD kart produktów. Do nawigacji fasetowej, która filtruje bez przeładowania strony, zobacz Advanced Search Pro. A tagi GA4 i GTM oraz zdarzenia e-commerce wysyła z Twojego sklepu Google Tracking, bez ingerencji w motyw.

Najczęściej zadawane pytania

Czy naprawdę potrzebny jest moduł pełnej pamięci podręcznej stron?
To zależy od tego, ilu anonimowych odwiedzających widzi te same strony. Jeśli serwer buduje stronę główną, kategorie i karty produktów dla każdego odwiedzającego, pełna pamięć podręczna usuwa tę powtarzaną pracę. W bardzo małym sklepie albo w witrynie obsługiwanej już przez pamięć podręczną serwera zysk trudniej zauważyć.
Czy pełna pamięć podręczna psuje koszyk i Ajax?
Nie, przy ustawieniu domyślnym. Zalogowani klienci, odwiedzający z koszykiem i żądania Ajax dostają stronę zbudowaną przez PrestaShop, nigdy wspólną kopię. Opcja zaawansowana, która serwuje zapisane strony odwiedzającym z koszykiem, odświeża blok koszyka żądaniem Ajax po wczytaniu, a strona takiego odwiedzającego nie jest zapisywana.
Dlaczego zmiana produktu nie pojawia się od razu?
Sprawdź najpierw czas przechowywania strony: karta produktu jest zapisywana na 2 godziny domyślnie. Zmiana zapisana w panelu zwykle od razu czyści stronę. Jeśli stara wersja zostaje, wyczyść stronę z jej adresu w panelu i odczytaj nagłówek X-WP-Cache. Sprawdź też pamięć podręczną przeglądarki, ustawioną domyślnie na Sprawdzaj za każdym razem.
Jak długo strona pozostaje w pamięci podręcznej?
Domyślne czasy to 30 minut dla strony głównej, 2 godziny dla kart produktów, 1 godzina dla kategorii i innych list oraz 24 godziny dla stron CMS. Minimum to 60 sekund. Strona zmieniona w panelu jest odświeżana od razu, a strona z zaplanowaną promocją wygasa na początku lub na końcu tej promocji.
Skąd wiem, że pamięć podręczna naprawdę działa?
Kliknij Przetestuj moją pamięć podręczną: moduł odwiedza stronę główną dwa razy i pokazuje oba czasy odpowiedzi, przy czym pierwsza wizyta jest generowana, a druga serwowana z pamięci podręcznej. Panel dodaje skuteczność, przyspieszenie i powody wizyt bez pamięci podręcznej. W przeglądarce nagłówek X-WP-Cache pokazuje MISS, HIT lub BYPASS.
Czy trzeba wyłączać pamięć podręczną przy aktualizacji PrestaShop lub modułu?
Nic w module nie wymaga wyłączania pamięci podręcznej podczas aktualizacji PrestaShop. Po aktualizacji wyczyść ją raz i powtórz Przetestuj moją pamięć podręczną. Włączenie, wyłączenie lub przeniesienie modułu czyści cały sklep przy następnej stronie panelu. Trzymaj włączoną tylko jedną pełną pamięć podręczną stron naraz.

Produkty w tym artykule

Znajdź moduł, którego potrzebuje Twój sklep

Zobacz moduły