Wydajność PrestaShop: ustawienia, które realnie przyspieszają sklep

Wydajność PrestaShop: ustawienia, które realnie przyspieszają sklep

PrestaShop potrafi działać szybko, ale tylko wtedy, gdy sklep nie wykonuje tej samej pracy przy każdym wejściu. Wiele spowolnień bierze się stąd, że serwer za każdym razem składa stronę od początku, a przeglądarka pobiera dziesiątki plików, które mogłyby być lepiej uporządkowane. Do tego dochodzą moduły, które dodają kolejne zapytania do bazy i kolejne skrypty, przez co nawet dobry hosting może zacząć mieć problem z utrzymaniem płynności.

Da się to uporządkować bez zmian w kodzie, ale trzeba robić to metodycznie. Jeśli włączysz kilka opcji naraz, łatwo stracić kontrolę i nie wiedzieć, co pomogło, a co zaszkodziło. Zdarza się też, że sklep przyspiesza na pierwszy rzut oka, a po chwili wychodzi, że nie działa koszyk, warianty produktu albo moduł płatności, bo zbyt agresywnie połączyłeś skrypty.

W tym poradniku skupiamy się na czterech ustawieniach, które najczęściej dają realny efekt: cache, CCC, Smarty i OPcache. Każdy obszar opisujemy w prosty sposób, z konkretnymi krokami w panelu, ze wskazaniem, co sprawdzić po zmianie oraz z typowymi objawami, które mówią, że trzeba cofnąć ustawienie albo zmienić je na inne.

Po każdej zmianie wykonaj krótki test sklepu, bo w e-commerce liczy się nie tylko szybkość, ale też poprawne działanie procesu zakupu. Wystarczy dodać produkt do koszyka, przejść do płatności i sprawdzić, czy kluczowe elementy strony reagują tak jak wcześniej. Taki nawyk pozwala wprowadzać poprawki bez nerwów.

Jeśli dopiero wybierasz hosting, pamiętaj, że ustawienia nie zastąpią zasobów. Gdy serwer jest dławiony limitami, część zmian da tylko kosmetyczny efekt. W takim przypadku pomocny jest artykuł Hosting pod PrestaShop: minimalne wymagania i jak je sprawdzić przed zakupem.

Zanim zaczniesz: jak sprawdzić, czy problem leży po stronie serwera czy przeglądarki

Pierwszym krokiem powinno być ustalenie, co jest problemem, ponieważ inne działania pomagają na wolną odpowiedź serwera, a inne na wolne ładowanie plików w przeglądarce. Jeżeli serwer długo przygotowuje stronę, największy zysk przynosi cache i OPcache. Jeżeli serwer odpowiada szybko, a strona nadal ładuje się długo, zwykle winne są CSS, JavaScript i zdjęcia, czyli obszar CCC i porządek w zasobach.

Możesz to sprawdzić bez dodatkowych narzędzi. Otwórz stronę sklepu, wejdź w narzędzia deweloperskie przeglądarki i przejdź do zakładki Network. Odśwież stronę i kliknij element typu Document, czyli główny plik HTML. Zwróć uwagę na czas oczekiwania na odpowiedź serwera. Gdy ten czas jest wysoki, przeglądarka nie ma z czego rozpocząć ładowania reszty zasobów, więc nawet świetne CCC nie zrobi dużej różnicy.

Warto porównać też kilka typów stron, bo PrestaShop często zachowuje się inaczej na stronie głównej, inaczej na karcie produktu, a jeszcze inaczej w koszyku. Jeżeli karta produktu ładuje się znacznie dłużej, to zwykle oznacza więcej modułów, cięższe zdjęcia albo dodatkowe skrypty, które są ładowane tylko na produktach. W takiej sytuacji nie zaczynaj od zmian serwerowych, dopóki nie zobaczysz, co dokładnie ładuje się na tej stronie.

Jeżeli spowolnienia pojawiają się falami, na przykład w godzinach szczytu albo w trakcie kampanii, często problemem są limity zasobów na hostingu. Wtedy nawet dobrze ustawiony sklep nie utrzyma stabilności, bo brakuje CPU, RAM albo szybkiego dostępu do dysku. Żeby zrozumieć, jak to działa i jak rozpoznawać objawy, dowiedz się więcej o limitach hostingu.

Cache w PrestaShop: jak ograniczyć pracę serwera i przyspieszyć odpowiedź

Cache w PrestaShop działa jak skrót, który pozwala serwerowi szybciej przygotować stronę, ponieważ część obliczeń i elementów może być wykorzystana ponownie zamiast liczenia wszystkiego od początku. W sklepie ma to duże znaczenie, bo produkty, kategorie i moduły powtarzają się w wielu wejściach, a serwer nie powinien za każdym razem wykonywać identycznych operacji.

Ustawienia cache znajdziesz w części dotyczącej wydajności, zwykle w panelu administracyjnym w sekcji zaawansowanej. Najważniejsze jest, aby sklep był ustawiony jak sklep działający normalnie, a nie jak środowisko do pracy nad motywem i modułami. Tryby robocze i dodatkowe informacje diagnostyczne potrafią mocno spowolnić stronę, ponieważ sklep wykonuje wtedy więcej operacji, niż potrzebujesz w normalnej sprzedaży.

Po włączeniu cache zwróć uwagę na to, czy zmiany w sklepie pojawiają się od razu. W praktyce po aktualizacji modułu, zmianie ustawień lub wdrożeniu poprawki w motywie często trzeba wyczyścić cache, aby użytkownicy nie widzieli starszych wersji elementów. To nie jest wada cache, tylko naturalna konsekwencja tego, że sklep ma działać szybciej.

W e-commerce najważniejsze jest to, aby cache nie popsuł elementów zależnych od użytkownika. Dlatego po każdej zmianie sprawdź stronę produktu, koszyk i przejście do płatności. Jeżeli widzisz nieprawidłowe zachowanie, na przykład koszyk nie aktualizuje się poprawnie albo dane na stronie zmieniają się w dziwny sposób, cofnij ostatnią zmianę i włącz ją ponownie w łagodniejszej formie.

Jeżeli cache jest poprawnie ustawiony, a czas odpowiedzi serwera nadal jest wysoki, problem często leży w zasobach hostingu albo w limitach, które aktywują się przy większym ruchu. Wtedy warto wrócić do wpisu Hosting pod PrestaShop: minimalne wymagania i jak je sprawdzić przed zakupem i upewnić się, że środowisko ma zapas mocy pod sklep.

CCC w PrestaShop: mniej plików CSS i JavaScript, krótsze ładowanie strony

CCC dotyczy plików, które pobiera przeglądarka, czyli CSS i JavaScript. Gdy sklep ładuje wiele małych plików, przeglądarka wykonuje wiele żądań i potrzebuje więcej czasu na przetworzenie zasobów. CCC pomaga, bo łączy i zmniejsza pliki, dzięki czemu strona startuje szybciej i szybciej staje się gotowa do użycia.

Najbezpieczniejszym podejściem jest włączanie CCC etapami. Najpierw ustawienia dotyczące CSS, bo rzadziej powodują problemy funkcjonalne, a później ustawienia dotyczące JavaScript, bo skrypty są bardziej wrażliwe na kolejność i sposób ładowania. Po każdej zmianie sprawdź, czy strona wygląda tak jak wcześniej, a następnie przejdź do produktu i koszyka, bo właśnie tam najczęściej widać konflikty.

Jeżeli po włączeniu CCC dla JavaScript przestają działać warianty produktów, filtry lub przyciski koszyka, najczęściej oznacza to konflikt między modułami albo problem z kolejnością ładowania skryptów. W takiej sytuacji cofnij ostatnią zmianę i sprawdź, czy problem znika, a dopiero potem próbuj innej konfiguracji. W wielu sklepach da się wypracować ustawienie, które daje korzyść, ale nie psuje funkcji.

CCC daje największy zysk wtedy, gdy serwer odpowiada w miarę szybko, a ładowanie strony trwa głównie przez pliki frontu. Jeżeli w Network widzisz, że największym problemem jest oczekiwanie na HTML, CCC będzie miało mniejszy wpływ, ponieważ przeglądarka i tak czeka na start. Dlatego zawsze wracaj do diagnozy z pierwszej sekcji. Po zmianach CCC pamiętaj o wyczyszczeniu cache w sklepie i sprawdzeniu, czy pliki po stronie przeglądarki nie trzymają starej wersji. Gdy użytkownik ma w pamięci przeglądarki stare pliki, może zobaczyć mieszankę starych i nowych elementów, co wygląda jak błąd sklepu, choć zwykle wynika z braku odświeżenia zasobów.

Smarty w praktyce: ustawienia dla sklepu produkcyjnego i bezpieczne czyszczenie cache

Smarty odpowiada za składanie wyglądu sklepu na podstawie szablonów. W czasie pracy nad motywem często włącza się ustawienia, które ułatwiają szybkie podglądanie zmian, ale takie ustawienia zwiększają obciążenie serwera, ponieważ Smarty częściej kompiluje szablony i częściej przebudowuje elementy strony.

Na sklepie produkcyjnym ustawiasz Smarty tak, aby kompilacja szablonów nie odbywała się przy każdym wejściu. Zmiany wdrażasz świadomie, a po wdrożeniu czyścisz cache, aby nowa wersja elementów była widoczna od razu. To podejście jest proste i przewidywalne, a do tego daje dobre efekty, gdy sklep ma dużo odwiedzin.

Najczęstszy problem po zmianach w ustawieniach Smarty polega na tym, że na stronie nadal widać starszą wersję fragmentu motywu. W praktyce niemal zawsze wystarczy wyczyszczenie cache w panelu, ponieważ sklep nadal trzymał wcześniejsze pliki i nie miał powodu, aby je przebudować. Warto pamiętać o tym mechanizmie, bo dzięki temu nie będziesz krążyć między ustawieniami bez potrzeby.

Po zmianach w Smarty wykonaj szybki test działania sklepu, ponieważ Smarty wpływa na to, jak sklep buduje widoki stron. Sprawdź stronę główną, kartę produktu, koszyk oraz logowanie, bo te miejsca najszybciej pokażą, czy coś poszło nie tak. Jeżeli zauważysz problemy, cofnij ostatnią zmianę, wyczyść cache i sprawdź ponownie.

Jeżeli Smarty jest ustawiony poprawnie, a czas odpowiedzi serwera nadal jest zbyt wysoki, wracasz do tematu hostingu i jego zasobów. To szczególnie ważne, gdy sklep zwalnia w kampaniach albo w godzinach dużego ruchu.

OPcache: jak przyspiesza PHP i kiedy różnica jest najbardziej widoczna

OPcache działa po stronie serwera i przyspiesza wykonywanie PHP, ponieważ pozwala korzystać z wcześniej przygotowanych fragmentów kodu zamiast analizować pliki za każdym razem od nowa. W sklepie, który ma wiele plików i w którym PHP jest uruchamiane przy każdym wejściu, różnica bywa widoczna od razu, szczególnie gdy ruch rośnie.

W wielu hostingach OPcache jest włączony domyślnie, ale warto to potwierdzić, ponieważ zdarzają się środowiska, w których ta funkcja jest wyłączona albo działa w ograniczonym zakresie. Najprościej sprawdzić to w panelu hostingu lub przez phpinfo. Jeśli nie masz dostępu do takich informacji, poproś support hostingu o potwierdzenie, czy OPcache jest aktywny.

OPcache pomaga najbardziej wtedy, gdy problemem jest wolne generowanie HTML, a nie pobieranie plików przez przeglądarkę. Jeżeli w Network widzisz długi czas oczekiwania na dokument HTML, OPcache często skraca ten etap, bo PHP szybciej wykonuje kod sklepu. Jeśli natomiast serwer jest szybki, a problem jest po stronie frontu, OPcache będzie tylko dodatkiem, a nie głównym rozwiązaniem.

Po aktualizacjach sklepu i modułów czasem potrzebujesz odświeżenia cache, aby serwer nie trzymał starych wersji. W praktyce najczęściej wystarcza standardowe czyszczenie cache w panelu sklepu, a w trudniejszych przypadkach pomoc supportu, który może odświeżyć usługi po stronie serwera.

Jeżeli chcesz lepiej zrozumieć, co po stronie hostingu realnie przyspiesza strony i dlaczego samo hasło o nowej wersji PHP nie zawsze wystarcza, zajrzyj do artykułu PHP 8.x, OPcache i HTTP/3 – które technologie hostingu faktycznie przyspieszają WWW?.

Dodatkowe miejsca, które spowalniają sklep: moduły, zdjęcia i zadania w tle

Nawet najlepiej ustawione cache, CCC i Smarty nie pomogą, jeśli sklep jest przeciążony modułami, które wykonują dużo zapytań do bazy i ładują ciężkie skrypty na każdej stronie. Warto co jakiś czas przejrzeć listę modułów i ocenić, które są naprawdę potrzebne, a które zostały po testach i generują koszty bez korzyści.

Zdjęcia są drugim dużym tematem, bo w sklepach produktowych to one najczęściej zajmują największą część transferu. Jeżeli karta produktu ładuje się wolno, a w Network widać ciężkie obrazki, CCC niewiele pomoże, bo CCC dotyczy CSS i JavaScript. Wtedy największy efekt daje uporządkowanie zdjęć, sensowne rozmiary i unikanie zbyt ciężkich galerii.

Trzecim elementem są zadania w tle, które w PrestaShop potrafią uruchamiać się w najmniej odpowiednim momencie. Synchronizacje, importy, generowanie miniatur czy inne procesy mogą zabierać zasoby dokładnie wtedy, gdy sklep ma największy ruch. Jeżeli widzisz spadki jakości w konkretnych godzinach, sprawdź, czy coś nie uruchamia się automatycznie w tle i czy nie da się przenieść tego poza szczyt.

Jeżeli mimo ustawień sklep nadal traci stabilność w kampaniach, warto sprawdzić, czy problemem nie jest już typ hostingu. Pomocny jest wpis PrestaShop: hosting współdzielony vs hosting VPS, bo pokazuje, kiedy przejście na VPS daje realną różnicę w utrzymaniu stałej wydajności.

Jak mierzyć efekt zmian: prosty plan testów, który daje porównywalne wyniki

Żeby wiedzieć, czy idziesz w dobrym kierunku, potrzebujesz prostego i powtarzalnego planu testów. Wybierz trzy stałe strony: stronę główną, kartę produktu z dużą liczbą zdjęć oraz koszyk. Te trzy miejsca zwykle pokazują większość problemów, a jednocześnie są na tyle różne, że łatwo zauważysz, w którym obszarze zmiana pomaga.

Zrób pomiar przed zmianą, najlepiej w trybie prywatnym przeglądarki, aby cache nie zafałszował wyniku. W Network sprawdź czas oczekiwania na HTML oraz liczbę i wielkość pobieranych plików. Następnie wprowadź jedną zmianę i powtórz ten sam test na tych samych stronach. Dzięki temu widzisz, czy zysk jest realny, a nie tylko przypadkowy.

Po każdym kroku zrób test funkcjonalny, ponieważ w sklepie szybki wygląd strony nie jest najważniejszy, jeśli koszyk lub płatności nie działają poprawnie. Wystarczy dodać produkt do koszyka, przejść do koszyka, przejść do płatności oraz sprawdzić, czy na karcie produktu działają warianty. To jest krótki zestaw, który łapie większość problemów po CCC i zmianach w cache.

Jeżeli sklep działa w kampaniach, wykonaj test również w godzinach, gdy ruch jest największy. Sklep może być szybki rano, a wolny wieczorem, więc test w spokojnym momencie nie pokaże pełnego obrazu. W takich sytuacjach często wraca temat limitów hostingu i potrzeby większego zapasu zasobów.

FAQ – Najczęściej zadawane pytania

Czy muszę włączać wszystkie ustawienia, żeby zobaczyć poprawę?

Nie musisz, bo każda opcja pomaga na inny problem. Cache i OPcache pomagają, gdy serwer wolno generuje stronę, a CCC pomaga, gdy przeglądarka długo pobiera i przetwarza pliki. Najlepiej zacząć od diagnozy i włączać zmiany etapami.

Czy OPcache zawsze jest dostępny?

To zależy od hostingu, ale często jest włączony domyślnie. Najlepiej sprawdzić to w panelu hostingu lub przez phpinfo. Jeśli nie masz takiego dostępu, support zwykle potwierdzi, czy OPcache jest aktywny.

Co sprawdzić po włączeniu cache?

Sprawdź stronę produktu, koszyk i przejście do płatności, ponieważ to są miejsca, w których najłatwiej zauważyć nieprawidłowe działanie. Dobrze jest też sprawdzić, czy zmiany w sklepie pojawiają się po wyczyszczeniu cache.

Jak sprawdzić, czy Smarty jest ustawiony poprawnie na produkcji?

Jeżeli szablony nie są przebudowywane przy każdym wejściu, a zmiany po wdrożeniu pojawiają się po wyczyszczeniu cache, zwykle jest dobrze. Gdy sklep działa jak w trybie roboczym, serwer wykonuje więcej pracy, a to spowalnia działanie.

Jak mierzyć efekt zmian, żeby wyniki były porównywalne?

Testuj zawsze te same trzy strony, najlepiej w trybie prywatnym, i wprowadzaj jedną zmianę naraz. Dzięki temu widzisz, czy poprawa jest realna, a nie wynika z pamięci przeglądarki.

Kiedy warto rozważyć VPS?

Gdy sklep jest już dobrze ustawiony, a mimo to zwalnia w szczycie, albo gdy czas odpowiedzi serwera jest wysoki mimo cache i OPcache. Wtedy zwykle problemem jest brak zapasu zasobów, a VPS daje większą przewidywalność.

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

  • Najczęstsze problemy PrestaShop po aktualizacji PHP/serwera
    Aktualizacja PHP albo całego serwera potrafi przyspieszyć sklep, poprawić bezpieczeństwo i rozwiązać część problemów z wydajnością. Tyle teoria. W praktyce często wygląda to tak: po zmianie wersji PHP sklep zaczyna wyrzucać błąd 500, panel administracyjny przestaje się ładować, a koszyk działa „raz tak, raz nie”. Najbardziej frustrujące jest to, że czasem nie ma żadnego czytelnego… Czytaj dalej →
  • Migracja PrestaShop na inny hosting: checklista
    Migracja sklepu PrestaShop to przenosiny „silnika” i „danych” na nowy serwer. Jeśli przeniesiesz tylko pliki albo tylko bazę, sklep najpewniej wstanie, ale coś zacznie się sypać: koszyk, płatności, maile albo integracje z kurierami. Najgorsze są błędy, które wychodzą dopiero po kilku godzinach, kiedy klienci już robią zakupy. W tym artykule dostajesz checklistę z konkretnymi krokami…. Czytaj dalej →
  • E-commerce i sezonowość: jak skalować hosting PrestaShop
    W PrestaShop najwięcej problemów pojawia się wtedy, gdy ruch rośnie nagle i mocno. Black Friday, kampanie w Google Ads i Meta, mailing do bazy, porównywarki cen albo publikacja u influencera potrafią w kilka minut zwiększyć liczbę wejść kilka razy. Jeśli sklep nie jest na to przygotowany, klienci zaczynają widzieć wolne ładowanie, błędy 503 albo przerwane… Czytaj dalej →