Aplikacja do odświeżania cache PrestaShop 1.7
PHP, cURL, HTML, CSS, PrestaShop, LiteSpeed Cache
Web Developer
Odświeżanie cache dla kategorii, w których produkt został wyłączony
O aplikacji
Cache Purge Console to autorski skrypt PHP stworzony w celu optymalizacji działania sklepu internetowego opartego na PrestaShop. Jego głównym zadaniem jest zapewnienie spójności danych dotyczących stanów magazynowych produktów, które są importowane z hurtowni w formacie XML/CSV.
Skrypt działa jako inteligentny system monitorujący zmiany w produktach i kategoriach. Po uruchomieniu importu stanów magazynowych przez cron, Cache Purge Console analizuje, które produkty w poszczególnych kategoriach zostały wyłączone lub niedostępne. Następnie odświeża cache jedynie w tych kategoriach, gdzie nastąpiły faktyczne zmiany. Dzięki temu strony kategorii zawsze wyświetlają aktualne informacje, a użytkownicy nie trafiają na błędy 404, które mogłyby powstać przez zapamiętanie nieaktualnych danych w cache.
System został w pełni zintegrowany z LiteSpeed Cache, co pozwala na błyskawiczne ładowanie stron (średnio <0,2 sekundy), jednocześnie minimalizując obciążenie serwera. Skrypt umożliwia także ręczne uruchamianie odświeżania cache oraz zarządzanie logami działań, które są zapisywane w osobnych plikach tekstowych dla pełnej kontroli i audytu operacji.
Cache Purge Console jest więc nie tylko narzędziem automatyzującym pracę crona, ale także systemem, który znacząco poprawia stabilność i prędkość działania sklepu, eliminując problemy z nieaktualnymi produktami i dbając o pozytywne doświadczenia klientów.
Wyzwanie
Sklep internetowy oparty na PrestaShop, współpracujący z kilkoma hurtowniami, miał problem z wyświetlaniem produktów w nieaktualnym stanie magazynowym. Hurtownie dostarczają pliki XML/CSV z informacjami o dostępności produktów, a import stanów magazynowych jest realizowany automatycznie przez cron.
Problem polegał na tym, że po wyczerpaniu stanu magazynowego w hurtowni produkt wciąż był widoczny w sklepie. Wynikało to z mechanizmu cache, który zapamiętywał stronę produktu, mimo że produkt został automatycznie wyłączony przez moduł PrestaShop. W rezultacie użytkownicy trafiali na błędy 404, a strona nie odzwierciedlała faktycznej dostępności produktów.
Dodatkowo, ręczne odświeżanie cache dla całego sklepu było czasochłonne i obciążające dla serwera. W przypadku dużej liczby produktów i wielu kategorii generowało to opóźnienia, które wpływały na komfort użytkowników oraz wydajność strony.
- Zapewnienie, aby strony kategorii i produkty zawsze wyświetlały aktualne dane
- Minimalizacja obciążenia serwera podczas automatycznych aktualizacji stanów magazynowych
- Automatyzacja procesu odświeżania cache wyłącznie tam, gdzie jest to niezbędne
- Integracja z istniejącym systemem LiteSpeed Cache i modułem PrestaShop bez zakłócania działania sklepu
- Umożliwienie zarówno ręcznego, jak i automatycznego zarządzania cache oraz logów zmian
Rozwiązanie musiało być szybkie, niezawodne i elastyczne, aby obsłużyć tysiące produktów oraz zapewnić prawidłowe działanie strony w każdej sytuacji, niezależnie od zmian w hurtowniach
Cele projektu
- Automatyczne odświeżanie cache tylko tam, gdzie jest to konieczne – skrypt miał sprawdzać, w których kategoriach wystąpiły produkty nieaktywne i odświeżać cache tylko dla tych stron, minimalizując obciążenie serwera
- Integracja z modułem PrestaShop i systemem LiteSpeed Cache – zapewnienie płynnej współpracy z istniejącym ekosystemem sklepu, w tym z modułem automatycznie dezaktywującym produkty o stanie magazynowym 0
- Szybkość działania – system miał działać w sposób szybki i niezauważalny dla użytkowników, dzięki czemu podstrony sklepu ładowałyby się w czasie poniżej 0,2 sekundy
- Możliwość ręcznego zarządzania – wprowadzenie funkcji ręcznego uruchamiania skryptu oraz czyszczenia logów, dając administratorom pełną kontrolę nad procesem
- Bezpieczeństwo danych i stabilność serwera – minimalizacja ryzyka przeciążenia serwera przy dużej liczbie produktów i aktualizacjach stanów magazynowych z wielu hurtowni
- Dokładny monitoring zmian – prowadzenie logów do osobnego pliku, aby mieć pełny wgląd w wykryte zmiany i incydenty związane z nieaktywnymi produktami
Dzięki realizacji tych celów sklep mógł działać płynnie, zapewniając klientom aktualne informacje o dostępności produktów, przy jednoczesnym zachowaniu wysokiej wydajności i stabilności systemu.
Rozwiązanie
W odpowiedzi na wyzwania związane z aktualizacją stanów magazynowych i zarządzaniem cache w sklepie PrestaShop, przygotowano dedykowany skrypt PHP – Cache Purge Console. Skrypt działa w pełnej integracji z systemem LiteSpeed Cache oraz modułem PrestaShop do importu XML/CSV, zapewniając automatyczne odświeżanie tylko tych stron, które tego wymagają.
- Automatyczne odświeżanie cache – skrypt sprawdza wszystkie kategorie co 15 minut po uruchomieniu crona aktualizującego stany magazynowe. Jeśli w danej kategorii pojawiły się produkty nieaktywne, cache tej kategorii zostaje natychmiast odświeżony, co eliminuje problem wyświetlania produktów niedostępnych.
- Inteligentne pomijanie niezmienionych kategorii – jeżeli kategoria nie zawiera zmian w produktach, skrypt pomija jej cache, co znacząco zmniejsza obciążenie serwera i przyspiesza cały proces.
- Integracja z PrestaShop i LiteSpeed Cache – skrypt współpracuje z modułem PrestaShop odpowiedzialnym za automatyczne dezaktywowanie produktów o stanie magazynowym 0 oraz z systemem LiteSpeed Cache, zapewniając szybkie ładowanie podstron sklepu (poniżej 0,2 sekundy).
- Współpraca z modułem Amazing Filter – skrypt został tak zaprojektowany, aby współdziałał z funkcją CRON modułu Amazing Filter, który indeksuje produkty, dzięki czemu wszystkie zmiany w produktach i filtrach są od razu uwzględniane w cache sklepu.
- Funkcje administracyjne – wbudowana możliwość ręcznego uruchamiania skryptu, czyszczenia logów oraz prowadzenia szczegółowych logów operacji w osobnym pliku ułatwia zarządzanie i monitorowanie działania systemu.
- Bezpieczne wywołanie przez cURL – skrypt może być wywoływany z poziomu crona lub ręcznie przez administratora, co zapewnia elastyczność i kontrolę nad procesem.
- Optymalizacja wydajności – dzięki selektywnemu odświeżaniu cache oraz integracji z LiteSpeed Cache, system minimalizuje zużycie zasobów serwera, nawet przy dużej liczbie produktów i hurtowni.
Funkcjonalność aplikacji
Aplikacja Cache Purge Console została zaprojektowana tak, aby automatycznie i inteligentnie zarządzać cache sklepu PrestaShop z systemem LiteSpeed Cache, minimalizując ryzyko wyświetlania niedostępnych produktów i zapewniając maksymalną wydajność serwera.
- Automatyczne odświeżanie cache kategorii – po zakończeniu crona aktualizującego stany magazynowe, skrypt sprawdza wszystkie kategorie i odświeża tylko te, w których produkty zmieniły swój status na nieaktywny
- Selektywne pomijanie niezmienionych kategorii – kategorie bez zmian w produktach są pomijane, co znacznie zmniejsza obciążenie serwera i przyspiesza cały proces.
- Integracja z PrestaShop – skrypt współpracuje z modułem importu XML/CSV oraz automatycznie dezaktywuje produkty o stanie magazynowym 0 w hurtowni.
- Współpraca z modułem Amazing Filter – funkcja CRON modułu Amazing Filter, odpowiedzialna za indeksację produktów i filtrów, jest uwzględniana w procesie, dzięki czemu cache jest zawsze aktualny.
- Ręczne uruchamianie skryptu – administrator może w każdej chwili wywołać proces odświeżania cache jednym przyciskiem, np. w sytuacjach wymagających natychmiastowej aktualizacji.
- Ręczne czyszczenie logów – skrypt zapisuje operacje w osobnym pliku logów, który można w prosty sposób czyścić ręcznie, co ułatwia monitorowanie działania systemu.
- Bezpieczne wywołanie przez cURL – skrypt może być uruchamiany automatycznie przez cron lub wywoływany ręcznie poprzez cURL, co daje pełną kontrolę nad harmonogramem pracy.
- Wysoka wydajność i optymalizacja serwera – dzięki selektywnemu odświeżaniu cache i integracji z LiteSpeed Cache, strona ładuje się bardzo szybko (poniżej 0,2 sekundy), nawet przy dużej liczbie produktów i hurtowni.
- Śledzenie i logowanie operacji – każdy proces aktualizacji cache jest rejestrowany w logach, co umożliwia dokładną analizę działania aplikacji i szybkie wykrywanie ewentualnych problemów.
- Bezproblemowa skalowalność – skrypt jest przygotowany do obsługi dużej liczby kategorii i produktów, dzięki czemu może być stosowany w rozbudowanych sklepach z setkami tysięcy produktów.
Dzięki tym funkcjom aplikacja gwarantuje stabilność, aktualność danych i pełną kontrolę nad cache, co znacząco wpływa na komfort użytkowników sklepu i szybkość działania platformy.
Wyniki działania aplikacji
Wdrożenie Cache Purge Console przyniosło wymierne korzyści dla sklepu internetowego, zarówno pod względem wydajności, jak i jakości obsługi klienta. Skrypt umożliwia selektywne odświeżanie cache w kategoriach, w których pojawiły się produkty nieaktywne lub niedostępne, dzięki czemu liczba sytuacji, w których klient trafiał na niedziałające produkty lub strony 404, spadła praktycznie do zera.
Integracja z LiteSpeed Cache oraz funkcją crawl pozwoliła na znaczące przyspieszenie działania sklepu. Podstrony ładują się średnio w mniej niż 0,2 sekundy, co przekłada się na lepsze doświadczenia zakupowe oraz poprawę wyników SEO. Jednocześnie mechanizm selektywnego odświeżania kategorii zmniejszył liczbę żądań do serwera, co ograniczyło jego obciążenie nawet przy dużej liczbie produktów i regularnych aktualizacjach stanów magazynowych.
Dzięki automatycznemu odświeżaniu cache po każdej aktualizacji stanów magazynowych i cen z hurtowni, dane w sklepie są zawsze aktualne i spójne. Skrypt współpracuje z modułem Amazing Filter, który posiada własny CRON do indeksacji produktów, co zapewnia jeszcze większą dokładność i synchronizację informacji w sklepie.
Administracja skryptem jest intuicyjna – możliwe jest ręczne uruchamianie jego działania, czyszczenie logów, a także bieżące monitorowanie wykrytych błędów w osobnym pliku logów. Taka kontrola pozwala na szybkie reagowanie w przypadku jakichkolwiek problemów, a przy tym system pozostaje skalowalny, obsługując setki kategorii i tysiące produktów bez spadku wydajności.
Dzięki tym rozwiązaniom sklep uzyskał stabilność, szybkość działania oraz pewność, że wszystkie wyświetlane produkty są zgodne z aktualnym stanem magazynowym, co znacząco podnosi komfort zakupów i ułatwia zarządzanie ofertą.
| Miesiąc | Liczba kategorii sprawdzonych | Aktywne produkty | Nieaktywne produkty wykryte | Średni czas reakcji skryptu (s) | Liczba odświeżeń cache |
|---|---|---|---|---|---|
| Styczeń 2025 | 120 | 8 432 | 210 | 3.1 | 65 |
| Luty 2025 | 125 | 8 970 | 245 | 3.2 | 70 |
| Marzec 2025 | 130 | 9 120 | 180 | 3.0 | 60 |
| Kwiecień 2025 | 128 | 9 300 | 200 | 3.1 | 63 |
| Maj 2025 | 132 | 9 480 | 220 | 3.0 | 68 |
Podsumowanie
Skrypt Cache Purge Console działa w pełni automatycznie, zapewniając płynność i spójność procesów w sklepie. Wszystko odbywa się w odpowiedniej kolejności – najpierw moduł PrestaShop importuje aktualne stany magazynowe i ceny produktów z plików XML hurtowni, następnie skrypt sprawdza wszystkie kategorie i usuwa cache tylko tam, gdzie wykryto produkty nieaktywne lub wyłączone. Kategorie, w których nie zaszły zmiany, są pomijane, co pozwala oszczędzać zasoby serwera. Po odświeżeniu cache uruchamiane jest indeksowanie produktów, np. za pomocą modułu Amazing Filter, dzięki czemu wyszukiwarka i filtry działają poprawnie. Na końcu strony automatycznie są ponownie cachowane, co gwarantuje błyskawiczne ładowanie podstron i pełną spójność danych dla klientów. Dzięki takiej organizacji procesów ryzyko wyświetlania produktów niedostępnych w sklepie zostało całkowicie wyeliminowane, a integracja ze skryptem, modułem PrestaShop i LiteSpeed Cache zapewnia szybkie, niezawodne i łatwe w utrzymaniu działanie całego systemu.
Zobacz także inne nasze case study
Zapraszamy do zapoznania się z naszymi najnowszymi artykułami!
Na naszym blogu dzielimy się wiedzą, inspirującymi historiami i praktycznymi poradami dotyczących świata e-commerce





