Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX

Prezentacja

Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX to moduł Full Page Cache dla PrestaShop, zaprojektowany w celu znacznego przyspieszenia sklepu poprzez zapisywanie gotowej do wyświetlenia wersji HTML stron. Zamiast przeliczać każdą stronę przy każdej wizycie za pomocą PHP, Smarty i SQL, moduł dostarcza bezpośrednio wcześniej wygenerowaną kopię. Takie podejście znacząco zmniejsza czas odpowiedzi serwera (TTFB) i poprawia doświadczenie użytkownika, widoczność w wyszukiwarkach oraz współczynnik konwersji.

W sklepie PrestaShop z wieloma modułami, dużą liczbą produktów i regularnym ruchem każda strona może wymagać wielu operacji po stronie serwera. Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX eliminuje to obciążenie na stronach kompatybilnych z cache, umożliwiając uzyskanie bardzo szybkiego czasu ładowania nawet na standardowym hostingu.

Ten moduł jest przeznaczony dla sprzedawców PrestaShop, którzy chcą poprawić wydajność swojego sklepu internetowego bez polegania na złożonej infrastrukturze. Nadaje się zarówno do sklepów jednostanowiskowych, jak i środowisk multistore, wielojęzycznych i wielowalutowych.

Najważniejsze zalety:

  • Pełne cache stron po stronie serwera
  • Znaczna redukcja TTFB
  • Inteligentne automatyczne czyszczenie cache po zmianach treści
  • Warm-up cache do wstępnego ładowania stron katalogu
  • Wstępnie generowana kompresja Gzip i Brotli
  • Obsługa wielu języków, walut i sklepów
  • Dynamiczne moduły ładowane przez AJAX
  • Panel z danymi statystycznymi i wskaźnikami wydajności
  • Bezpieczne API REST dla narzędzi zewnętrznych
  • Zgodność z PrestaShop 8 i 9

Dlaczego warto używać cache w PrestaShop

Problem wydajności PrestaShop

PrestaShop działa dynamicznie. Przy każdym żądaniu serwer musi uruchomić rdzeń CMS, załadować moduły, odpytać bazę danych, skompilować szablony i wygenerować końcowy HTML. Ta architektura jest bardzo elastyczna, ale staje się zasobożerna, gdy sklep zawiera wiele produktów, reguł cenowych, modułów lub jednoczesnych odwiedzin.

W praktyce może to prowadzić do długiego czasu odpowiedzi, wolnego działania strony, wyższego współczynnika odrzuceń i niższej konwersji. Wydajność sklepu internetowego to nie tylko kwestia techniczna — ma ona bezpośredni wpływ na sprzedaż i SEO.

Rozwiązanie Full Page Cache

Zasada działania Full Page Cache jest prosta: gdy strona jest odwiedzana po raz pierwszy, jest generowana normalnie, a następnie zapisywana jako skompresowany plik HTML. Przy kolejnych wizytach ta wersja jest serwowana natychmiast, bez ponownego wykonywania całego cyklu generowania PrestaShop.

Efekt jest bardzo wyraźny: mniej obliczeń, mniej zapytań SQL, mniejsze użycie CPU i znacznie płynniejsze przeglądanie dla odwiedzających.

Rzeczywisty wpływ na sklep

Dzięki Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX możesz uzyskać:

  • znacznie niższy TTFB
  • lepsze wyniki w narzędziach do analizy wydajności
  • możliwe poprawy wskaźników Core Web Vitals
  • bardziej stabilny sklep przy dużym obciążeniu
  • płynniejsze przeglądanie na urządzeniach mobilnych i desktopowych

Funkcjonalności

Pełne cache stron

Moduł zapisuje kompletną wersję HTML stron sklepu i serwuje ją bezpośrednio odwiedzającym, gdy kontekst się zgadza. Pozwala to uniknąć wykonywania kodu PHP i zapytań SQL dla stron, które zostały już zapisane w cache.

Cache może obejmować strony produktów, kategorii, CMS, stronę główną i inne kompatybilne strony w zależności od konfiguracji.

Inteligentne zarządzanie kontekstem

Moduł uwzględnia różne konteksty wpływające na wyświetlanie sklepu:

  • język
  • waluta
  • kraj
  • sklep
  • urządzenie mobilne lub desktop
  • grupa odwiedzających lub kontekst użytkownika
  • zgoda na pliki cookies zgodnie z konfiguracją

Dzięki temu odwiedzający przeglądający sklep po polsku i w PLN nie otrzyma tej samej wersji cache co użytkownik przeglądający sklep po angielsku lub w EUR. Taki podział zapewnia spójne i bezpieczne wyświetlanie.

Automatyczna invalidacja

Jedną z mocnych stron Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX jest możliwość automatycznego czyszczenia odpowiednich stron, gdy w PrestaShop wprowadzone zostaną zmiany. Na przykład:

  • aktualizacja produktu
  • zmiana ceny lub stanu magazynowego
  • aktualizacja kategorii
  • edycja strony CMS
  • dodanie lub usunięcie ceny specjalnej
  • zatwierdzenie zamówienia wpływające na stan magazynowy

Oznacza to, że nie trzeba ręcznie czyścić cache po każdej rutynowej zmianie.

Kompresja Gzip i Brotli

Moduł wstępnie generuje skompresowane pliki cache zarówno w formacie Gzip, jak i Brotli. Przeglądarka automatycznie otrzymuje najbardziej odpowiednią wersję zależnie od swoich możliwości.

Taka prekompresja przyspiesza dostarczanie treści i eliminuje potrzebę kompresji odpowiedzi w locie przez serwer.

Minifikacja HTML

Opcja minifikacji pozwala zmniejszyć HTML przed zapisaniem:

  • usuwanie zbędnych komentarzy
  • usuwanie nadmiarowych spacji
  • usuwanie pustych linii

To dodatkowo zmniejsza rozmiar strony i poprawia skuteczność kompresji.

Warm-up cache

Moduł może automatycznie przechodzić po adresach URL sklepu, aby utworzyć cache jeszcze przed wejściem użytkowników na stronę. Funkcja preloadingu jest szczególnie przydatna:

  • po instalacji modułu
  • po pełnym czyszczeniu cache
  • po dużej aktualizacji katalogu
  • po zmianie motywu

Warm-up może korzystać z mapy strony XML lub odbudować adresy URL bezpośrednio na podstawie katalogu PrestaShop.

Dynamiczne moduły przez AJAX

Niektóre obszary nie powinny być zamrażane w cache, takie jak:

  • koszyk
  • status logowania klienta
  • niektóre niestandardowe bloki
  • elementy zależne od sesji

Moduł pozwala przekształcić te obszary w dynamiczne bloki ładowane przez AJAX. Dzięki temu strona pozostaje bardzo szybka, a jednocześnie może wyświetlać spersonalizowane treści po załadowaniu.

Panel i statystyki

Back-office zawiera rozbudowany panel z przydatnymi wskaźnikami:

  • liczba stron zapisanych w cache
  • liczba stron serwowanych z cache
  • wykorzystane miejsce na dysku
  • współczynnik skuteczności cache
  • podział według typu strony
  • porównanie czasów odpowiedzi

Te dane ułatwiają monitorowanie wydajności modułu.

Bezpieczne API REST

API REST zabezpieczone tokenem umożliwia integrację modułu z narzędziami zewnętrznymi, takimi jak:

  • systemy ERP
  • systemy PIM
  • skrypty synchronizacyjne
  • narzędzia deploymentowe
  • automatyzacje wewnętrzne

Na przykład możesz wywołać czyszczenie cache po aktualizacji katalogu albo uruchomić warm-up ze skryptu zewnętrznego.

Instalacja

  1. Pobierz plik ZIP modułu ze swojego konta klienta WePresta.
  2. W panelu administracyjnym PrestaShop przejdź do Moduły > Menedżer modułów.
  3. Kliknij Prześlij moduł.
  4. Wybierz plik ZIP modułu.
  5. Rozpocznij instalację.

Po instalacji moduł automatycznie przygotowuje środowisko:

  • tworzy niezbędne elementy w bazie danych
  • tworzy katalog cache
  • rejestruje wymagane hooki
  • stosuje zalecane ustawienia domyślne

Instalacja jest prosta i szybka, nawet na sklepie produkcyjnym.

Pierwsze kroki

Włączenie cache

Po instalacji przejdź do konfiguracji modułu i włącz system cache za pomocą głównego ustawienia. Domyślnie moduł może być zainstalowany, ale nieaktywny, dopóki nie zostanie ręcznie włączony.

Odwiedzanie stron sklepu

Po aktywacji cache zaczyna się automatycznie wypełniać wraz z odwiedzinami stron. Pierwsza wizyta generuje stronę, a kolejne korzystają z wersji zapisanej w cache.

Uruchomienie warm-up

Aby od razu uzyskać optymalną wydajność, zaleca się uruchomienie warm-up cache. Pozwoli to przygotować najważniejsze strony jeszcze przed pojawieniem się pierwszych odwiedzających.

Konfiguracja

Ustawienia ogólne

Moduł oferuje kilka globalnych opcji konfiguracji:

  • włączenie lub wyłączenie cache
  • tryb debug z nagłówkami HTTP
  • minifikacja HTML
  • obsługa bloków dynamicznych
  • aktywacja API REST
  • konkretne wykluczenia

Ustawienia te pozwalają dostosować działanie cache do sklepu, motywu i hostingu.

TTL według typu strony

TTL określa, jak długo strona w cache pozostaje ważna. Po upływie tego czasu może zostać ponownie wygenerowana.

Możesz ustawić różny TTL dla:

  • strony głównej
  • stron produktów
  • stron kategorii
  • stron CMS
  • innych stron

Dostępne są również zalecane wartości domyślne zapewniające dobry balans między świeżością danych a wydajnością.

Tryb debug

Tryb debug dodaje nagłówki HTTP, które ułatwiają sprawdzenie, czy strona jest serwowana z cache. Pomaga to podczas testów technicznych i diagnostyki.

Przykładowe informacje:

  • HIT lub MISS
  • klucz cache
  • wiek cache
  • zastosowany TTL

Ustawienia zaawansowane

Dla bardziej technicznych zastosowań moduł obsługuje także:

  • wykluczanie adresów URL za pomocą regex
  • wykluczanie według adresu IP
  • niestandardowe bloki dynamiczne
  • ustawienia zachowania warm-up
  • konfigurację tokena API

Zarządzanie cache

Pełne czyszczenie

Przycisk pełnego czyszczenia usuwa wszystkie zapisane pliki cache. Jest to przydatne po dużej aktualizacji, zmianie motywu lub ważnej interwencji technicznej.

Po pełnym czyszczeniu zaleca się natychmiastowe uruchomienie warm-up.

Selektywne czyszczenie

Moduł umożliwia również czyszczenie tylko wybranych grup stron:

  • strona główna
  • produkty
  • kategorie
  • strony CMS
  • inne strony

Pozwala to uniknąć całkowitego czyszczenia cache, gdy zmiana dotyczy tylko części sklepu.

Warm-up cache

Dlaczego warto używać warm-up

Warm-up zapobiega temu, by pierwsi użytkownicy odczuwali standardowy czas generowania stron. Wstępne załadowanie najważniejszych stron sprawia, że sklep działa szybko od pierwszych odwiedzin.

Źródła adresów URL

Moduł pobiera adresy URL z kilku źródeł:

  • mapa strony XML, jeśli jest dostępna
  • aktywne produkty
  • aktywne kategorie
  • aktywne strony CMS
  • strona główna

Szybkość warm-up

W zależności od mocy hostingu mogą być dostępne różne poziomy:

  • tryb bezpieczny
  • tryb zalecany
  • tryb szybki

Właściwy wybór zależy od środowiska hostingowego i akceptowalnego obciążenia serwera.

Automatyczna invalidacja

Obsługiwane zdarzenia

Moduł monitoruje główne zdarzenia PrestaShop, aby automatycznie czyścić odpowiednie strony z cache. Obejmuje to między innymi:

  • aktualizacje produktów
  • zmiany kategorii
  • aktualizacje CMS
  • promocje
  • zmiany stanów magazynowych
  • niektóre zatwierdzenia zamówień

Ta logika pomaga uniknąć sytuacji, w których odwiedzający zobaczą nieaktualne dane na stronach zapisanych w cache.

Przypadki niewykrywane automatycznie

Niektóre zmiany nie zawsze mogą zostać wykryte, jeśli omijają standardowe działanie PrestaShop, na przykład:

  • bezpośrednie zmiany w bazie danych
  • niektóre moduły zewnętrzne
  • zmiany motywu lub szablonów
  • synchronizacje zewnętrzne bez hooków

W takich przypadkach może być potrzebne ręczne czyszczenie lub wywołanie API.

Wykluczenia

Wykluczenia według typu strony

Niektóre strony nigdy nie powinny być zapisywane w cache, szczególnie:

  • checkout
  • konto klienta
  • strony wyszukiwania
  • strony zawierające wrażliwe formularze
  • niektóre strony zależne od sesji

Moduł umożliwia łatwe zarządzanie tymi przypadkami za pomocą dedykowanych opcji.

Zaawansowane wykluczenia adresów URL

Możesz dodać wzorce regex, aby wykluczyć konkretne adresy URL lub grupy stron zgodnie z własnymi potrzebami.

Wykluczenia według IP

Możesz również wyłączyć cache dla konkretnych adresów IP, na przykład dla swojego zespołu lub adresu administratora, aby od razu widzieć wprowadzone zmiany.

Dynamiczne moduły

Dlaczego warto używać hole punching

Elementy takie jak koszyk czy nazwa zalogowanego klienta nie powinny być zamrożone w zapisanym HTML. System hole punching serwuje bardzo szybką stronę z cache, a następnie zastępuje obszary dynamiczne ich rzeczywistą treścią przez AJAX.

Obsługiwane bloki dynamiczne

Możesz skonfigurować bloki dynamiczne, używając:

  • wewnętrznej etykiety
  • hooka PrestaShop
  • docelowego selektora CSS

Dzięki temu moduł nadaje się zarówno do motywu natywnego, jak i motywów zewnętrznych.

API REST

Korzystanie z API

API REST modułu pozwala sterować określonymi działaniami zdalnie za pomocą bezpiecznego tokena wysyłanego w nagłówkach HTTP.

Dostępne akcje

Najczęstsze przypadki użycia obejmują:

  • pełne czyszczenie cache
  • czyszczenie według typu strony
  • czyszczenie konkretnego produktu
  • czyszczenie konkretnej kategorii
  • uruchomienie warm-up
  • pobieranie statystyk

To API jest szczególnie przydatne dla sprzedawców korzystających z połączonego ekosystemu z ERP, PIM lub skryptami automatyzacji.

Działanie techniczne

Tworzenie wpisu cache

Gdy odwiedzający ładuje stronę, moduł sprawdza, czy istnieje już kompatybilna wersja. Jeśli tak, jest ona serwowana natychmiast. W przeciwnym razie strona jest generowana normalnie, a następnie zapisywana w cache na przyszłe wizyty.

Klucz cache

Każdy wpis cache opiera się na kluczu obliczanym na podstawie kilku czynników kontekstowych, co zapewnia dostarczenie odpowiedniej wersji strony zgodnie z językiem, walutą, sklepem lub urządzeniem.

Przechowywanie plików

Pliki cache są uporządkowane według typu strony w katalogu modułu. Taka struktura ułatwia czyszczenie, diagnostykę i zarządzanie wersjami skompresowanymi.

Weryfikacja działania modułu

Sprawdzenie za pomocą nagłówków HTTP

Po włączeniu trybu debug możesz szybko sprawdzić działanie cache w narzędziach deweloperskich przeglądarki.

Oczekiwane zachowanie jest proste:

  • pierwsze ładowanie: MISS
  • kolejne ładowanie: HIT

Sprawdzenie w panelu

Panel powinien pokazywać stopniowy wzrost:

  • liczby stron zapisanych w cache
  • liczby stron serwowanych z cache
  • ogólnego współczynnika skuteczności

Sprawdzenie na serwerze

Po zajrzeniu do katalogu cache na serwerze powinieneś zobaczyć wygenerowane skompresowane pliki HTML utworzone przez moduł.

Kompatybilność

Kompatybilność z PrestaShop

Moduł jest kompatybilny z:

  • PrestaShop 8.0 do 9.x

Integruje się ze standardową architekturą CMS i uwzględnia kluczowe konteksty sklepu.

Kompatybilność z PHP

Moduł wymaga:

  • PHP 7.4 lub nowszego

Chociaż PHP 7.4 jest obsługiwane, zalecane jest PHP 8.x ze względu na lepszą wydajność i nowocześniejszą kompatybilność.

Kompatybilność z motywami

Moduł został zaprojektowany tak, aby działać z:

  • motywem Classic
  • motywem Hummingbird
  • większością motywów zewnętrznych

W zależności od motywu niektóre selektory CSS dla bloków dynamicznych mogą wymagać dostosowania.

Kompatybilność z hostingiem

Moduł można uruchomić na:

  • hostingu współdzielonym
  • VPS
  • serwerze dedykowanym
  • infrastrukturze cloud

Zalecany poziom warm-up zależy od dostępnych zasobów serwera.

Wymagania

  • PrestaShop 8.0 lub 9.x
  • PHP 7.4 lub nowszy
  • rozszerzenie PHP zlib
  • uprawnienia do zapisu w katalogu modules/
  • zalecane HTTPS dla optymalnego działania

FAQ

Czy moduł jest kompatybilny z moim motywem PrestaShop?

Tak, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX jest kompatybilny ze standardowymi motywami PrestaShop oraz z większością motywów zewnętrznych. Jeśli Twój motyw używa specyficznej struktury HTML dla koszyka, strefy użytkownika lub innych dynamicznych bloków, niektóre selektory CSS mogą wymagać dostosowania w ustawieniach modułu.

Czy moduł działa w trybie multistore?

Tak, moduł jest kompatybilny z trybem multistore w PrestaShop. Każdy sklep ma własny kontekst cache, własne statystyki i własne ustawienia zgodnie z konfiguracją w panelu administracyjnym.

Czy cache obsługuje języki i waluty?

Tak, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX zapisuje oddzielne wersje cache w zależności od języka, waluty i innych zmiennych kontekstowych. Zapewnia to dostarczenie odpowiedniej strony odpowiedniemu użytkownikowi.

Czy muszę ręcznie czyścić cache po każdej zmianie?

Nie, w większości przypadków nie jest to konieczne. Moduł zawiera system automatycznej invalidacji, który czyści odpowiednie strony, gdy produkt, kategoria, strona CMS lub inne ważne dane zostaną zaktualizowane.

Czy moduł jest kompatybilny ze wszystkimi środowiskami hostingowymi?

Tak, moduł działa z większością środowisk hostingowych wspierających PrestaShop. Na hostingu współdzielonym zalecany jest bezpieczny tryb warm-up. Na VPS lub serwerze dedykowanym można używać bardziej agresywnych ustawień.

Czy mogę zachować dynamiczny koszyk przy full page cache?

Tak, dzięki dynamicznym blokom ładowanym przez AJAX. Moduł pozwala utrzymać zapisaną w cache stronę HTML, a jednocześnie prawidłowo wyświetlać koszyk, stan logowania i inne spersonalizowane elementy.

Jak mogę sprawdzić, czy cache naprawdę działa?

Najprostszym sposobem jest włączenie trybu debug i sprawdzenie nagłówków HTTP w przeglądarce. Możesz także sprawdzić panel modułu lub obecność plików cache na serwerze.

Czy moduł poprawia SEO?

Tak, pośrednio. Znaczne skrócenie czasu ładowania i TTFB poprawia doświadczenie użytkownika oraz techniczną wydajność sklepu, co może pozytywnie wpłynąć na widoczność w wyszukiwarkach.

Czy moduł jest kompatybilny z innymi modułami cache?

Zaleca się, aby nie używać jednocześnie kilku systemów full page cache. Aby uniknąć konfliktów, najlepiej wyłączyć inne moduły pełnego cache przed aktywacją Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX.

Czy można sterować cache z zewnętrznego narzędzia?

Tak, moduł udostępnia API REST zabezpieczone tokenem. Dzięki temu można uruchamiać czyszczenie cache, warm-up lub wybrane akcje z ERP, PIM albo skryptu automatyzacji.

Wsparcie

W przypadku pytań związanych z instalacją, konfiguracją lub diagnostyką możesz skontaktować się z zespołem WePresta przez konto klienta lub e-mail.

Aby przyspieszyć wsparcie, warto podać:

  • wersję PrestaShop
  • wersję PHP
  • używany motyw
  • typ hostingu
  • dokładny opis problemu
  • zrzuty ekranu, jeśli to konieczne

Changelog

Wersja 1.0.0

  • Pierwsze wydanie modułu
  • Implementacja Full Page Cache
  • Obsługa kontekstów wielojęzycznych, wielowalutowych i multistore
  • Inteligentna automatyczna invalidacja
  • Kompresja Gzip i Brotli
  • Minifikacja HTML
  • Panel wydajności
  • Warm-up cache
  • Dynamiczne bloki AJAX
  • Bezpieczne API REST
Loading...