Jak przyspieszyć PrestaShop? 15 sposobów na wynik 90+ w PageSpeed

Wolny sklep traci klientów, zanim zobaczą pierwszy produkt. Jeśli zastanawiasz się, jak przyspieszyć PrestaShop, krótka odpowiedź brzmi: wyłącz tryb debugowania, włącz cache Smarty i łączenie plików CSS/JS, przejdź na PHP 8 z OPcache, serwuj obrazy w WebP i usuń zbędne moduły. Te kroki zwykle podnoszą wynik PageSpeed o kilkadziesiąt punktów. Poniżej znajdziesz pełną listę 15 sposobów, kolejność działań i najczęstsze pułapki.

Jak zmierzyć szybkość sklepu PrestaShop?

Zanim cokolwiek zmienisz, zmierz stan wyjściowy. Bez tego nie będziesz wiedzieć, która zmiana pomogła, a która zaszkodziła.

  • PageSpeed Insights (pagespeed.web.dev) — wynik 0–100 dla telefonu i komputera oraz lista konkretnych problemów. Liczy się przede wszystkim wynik na telefonie, bo według niego Google ocenia stronę.
  • Core Web Vitals — trzy wskaźniki z prawdziwych wizyt: LCP (wczytanie największego elementu, cel poniżej 2,5 s), INP (reakcja na kliknięcie, poniżej 200 ms) i CLS (przesuwanie się układu, poniżej 0,1). Znajdziesz je w PageSpeed Insights i w Google Search Console.
  • TTFB — czas odpowiedzi serwera. Jeśli przekracza 0,8 s, problem leży w serwerze, PHP lub modułach, a nie w obrazkach.

Testuj co najmniej trzy typy stron: stronę główną, kategorię i kartę produktu. Każda ładuje inne moduły i inaczej obciąża bazę danych.

Dlaczego PrestaShop działa wolno?

Najczęstsze przyczyny, które widzimy w sklepach klientów:

  • tryb debugowania pozostawiony na produkcji,
  • wyłączony cache szablonów i brak łączenia plików CSS/JS,
  • stara wersja PHP bez OPcache,
  • ciężkie obrazy w JPG i PNG zamiast WebP,
  • dziesiątki modułów podpiętych do każdej strony, z których część nie jest już używana,
  • skrypty zewnętrzne: czaty, piksele reklamowe, widgety opinii,
  • przepełnione tabele statystyk w bazie danych,
  • tani hosting współdzielony z wolnym dyskiem i limitem procesora.

Dobra wiadomość: większość tych problemów rozwiążesz w panelu sklepu, bez programowania.

15 sposobów na szybszy sklep PrestaShop

Zanim zaczniesz: zrób kopię plików i bazy danych, a zmiany testuj najpierw na kopii sklepu. Część ustawień (zwłaszcza łączenie JS) potrafi zepsuć nietypowo napisane moduły.

1. Wyłącz tryb debugowania

Tryb debugowania wyłącza część cache i wyświetla dodatkowe informacje. Na produkcji powinien być zawsze wyłączony: Zaawansowane → Wydajność → Tryb debugowania: Nie.

2. Włącz cache szablonów Smarty

W tej samej zakładce ustaw Kompilacja szablonów: Nigdy nie kompiluj ponownie plików szablonów oraz Cache: Tak. Po każdej zmianie motywu wyczyść cache przyciskiem „Wyczyść pamięć podręczną”.

3. Łącz i kompresuj CSS oraz JavaScript (CCC)

Sekcja CCC (Combine, Compress and Cache) łączy pliki stylów i skryptów w kilka większych. Przeglądarka pobiera wtedy mniej plików, a strona szybciej się wyświetla. Po włączeniu przetestuj koszyk, logowanie i płatność.

4. Używaj aktualnego PHP z OPcache

PrestaShop 8 i 9 działają na PHP 8.1 i nowszym, który jest wyraźnie szybszy od PHP 7. Upewnij się, że na serwerze działa OPcache z odpowiednią ilością pamięci (zwykle 256 MB wystarcza). To jedna zmiana w panelu hostingu, a skraca czas odpowiedzi serwera nawet o połowę. Jeśli sklep działa jeszcze na PrestaShop 1.7, nowe PHP zwykle oznacza najpierw aktualizację PrestaShop.

5. Włącz cache po stronie serwera

PrestaShop potrafi przechowywać wyniki zapytań w Memcached lub APCu (Zaawansowane → Wydajność → Pamięć podręczna). Ma to największy sens przy dużym katalogu i wielu jednoczesnych odwiedzinach. Zapytaj hosting, które rozszerzenie jest dostępne.

6. Kompresja gzip lub Brotli i HTTP/2

Serwer powinien kompresować pliki tekstowe (HTML, CSS, JS) i obsługiwać HTTP/2 albo HTTP/3. Na Apache pomoże opcja Optymalizacja Apache w zakładce Wydajność; na nginx i LiteSpeed ustawia to administrator serwera.

7. Obrazy w WebP lub AVIF i właściwe rozmiary miniatur

Obrazy to zwykle ponad połowa wagi strony. W PrestaShop 8 i 9 w Wygląd → Ustawienia obrazów wybierzesz dodatkowe formaty, WebP i AVIF, które są nawet o 30–50% lżejsze od JPG. Sprawdź też, czy rozmiary miniatur pasują do motywu, i po zmianie wygeneruj je ponownie.

8. Leniwe ładowanie obrazów, ale nie tego najważniejszego

Obrazy poniżej pierwszego ekranu powinny mieć atrybut loading="lazy". Wyjątek to główny obraz (slider, zdjęcie produktu): on decyduje o LCP i powinien ładować się od razu, najlepiej z fetchpriority="high".

9. Czcionki z własnego serwera

Czcionki pobierane z zewnętrznych serwerów opóźniają wyświetlenie tekstu. Hostuj je lokalnie w formacie WOFF2, dodaj font-display: swap i ogranicz liczbę grubości do tych naprawdę używanych.

10. Przejrzyj moduły i ich podpięcia

Każdy aktywny moduł to dodatkowy kod na stronie. W Moduły → Menedżer modułów wyłącz i odinstaluj to, czego nie używasz, a w Wygląd → Pozycje sprawdź, czy moduły nie ładują się na stronach, gdzie są niepotrzebne. Jeden źle napisany moduł potrafi spowolnić cały sklep. Warto też sprawdzić, czy moduły nie mają znanych podatności — w razie wątpliwości pomoże audyt bezpieczeństwa sklepu.

11. Ogranicz skrypty zewnętrzne

Czat, piksele reklamowe, mapy ciepła i widgety społecznościowe dokładają po kilkaset kilobajtów JavaScriptu i mocno psują INP. Zostaw tylko to, z czego naprawdę korzystasz, i ładuj je dopiero po zgodzie na ciasteczka.

12. Wyczyść bazę danych

Tabele statystyk (ps_connections, ps_connections_source, ps_guest), logi i stare koszyki rosną latami do milionów wierszy. Po zrobieniu kopii usuń stare rekordy i rozważ wyłączenie zbierania statystyk, jeśli korzystasz z Google Analytics.

13. Zadbaj o filtry i wyszukiwarkę

Moduł nawigacji fasetowej potrafi być najcięższym elementem kategorii. Włącz w nim cache, przebuduj indeksy po imporcie produktów i ustaw ich odświeżanie przez CRON zamiast przy każdej zmianie.

14. Wybierz hosting pod PrestaShop

Szybki dysk NVMe, PHP-FPM, dostrojony MySQL lub MariaDB (bufor InnoDB dopasowany do wielkości bazy) i serwer blisko klientów. Jeśli TTFB nadal przekracza sekundę mimo wszystkich ustawień, problemem jest hosting.

15. CDN dla obrazów i plików statycznych

Przy klientach w wielu krajach CDN serwuje obrazy i pliki z serwera najbliżej odwiedzającego. PrestaShop pozwala wpisać adresy serwerów mediów w zakładce Wydajność.

Od czego zacząć optymalizację?

Nie musisz robić wszystkiego naraz. Zacznij od zmian, które dają najwięcej przy najmniejszym ryzyku:

Krok Wpływ na szybkość Trudność
Tryb debugowania, cache Smarty, CCC duży łatwe, panel sklepu
PHP 8 i OPcache duży łatwe, panel hostingu
Obrazy WebP/AVIF i miniatury duży średnie
Przegląd modułów i skryptów zewnętrznych średni do dużego średnie
Baza danych, filtry, cache serwera średni wymaga doświadczenia
Zmiana hostingu, CDN zależy od sklepu wymaga planu

Po każdym kroku zmierz wynik ponownie i zapisz go, żeby wiedzieć, co faktycznie pomogło.

Najczęstsze błędy przy przyspieszaniu PrestaShop

  • Optymalizacja tylko pod wynik. Wynik 100 na pustej stronie testowej nic nie znaczy; liczą się Core Web Vitals z prawdziwych wizyt.
  • Kolejny moduł „do przyspieszania”. Często dubluje to, co PrestaShop już potrafi, i dokłada własny kod.
  • Zmiany bez kopii zapasowej. Jedno złe ustawienie potrafi wyłączyć koszyk; przed każdą zmianą zrób kopię plików i bazy danych. Gdy po zmianie zobaczysz białą stronę, zajrzyj do poradnika o błędzie 500 w PrestaShop.
  • Brak testu zakupu. Po każdej zmianie przejdź cały proces: dodanie do koszyka, logowanie, płatność.

Najczęściej zadawane pytania

Jaki wynik PageSpeed jest dobry dla sklepu PrestaShop?

Wynik od 90 w górę Google oznacza jako dobry, 50–89 jako wymagający poprawy. Dla sklepu z wieloma zdjęciami realny cel na telefonie to 70–90, ale ważniejsze od samego wyniku jest spełnienie Core Web Vitals: LCP poniżej 2,5 s, INP poniżej 200 ms i CLS poniżej 0,1.

Dlaczego wynik na telefonie jest dużo niższy niż na komputerze?

PageSpeed testuje wersję mobilną na symulowanym, wolniejszym procesorze i łączu. Ciężki JavaScript i duże obrazy szkodzą tam znacznie bardziej, dlatego różnica 20–40 punktów jest normalna.

Czy włączenie CCC może zepsuć sklep?

Może, jeśli któryś moduł ma błędnie napisany JavaScript. Po włączeniu sprawdź koszyk, logowanie i płatność. Gdy coś przestanie działać, wyłącz łączenie JS, zostaw łączenie CSS i zgłoś problem autorowi modułu.

Ile kosztuje przyspieszenie sklepu PrestaShop?

Podstawowe ustawienia z tego poradnika zrobisz sam za darmo. Głębsza optymalizacja (moduły, baza danych, serwer) to zwykle kilka do kilkunastu godzin pracy programisty, zależnie od wielkości sklepu i liczby modułów.

Masz pytanie o swój sklep? Napisz do nas — podpowiemy, od czego zacząć.

Produkty z tego wpisu

Wróć do: Blog

Ładowanie...
Powrót do góry