Witly Logo
Funkcjonalności
Case studies
Marko.pl — rekomendacje AI Yrke.pl — headless storefront Stylion.pl — trafność wyszukiwania
Cennik
Zaloguj się Umów konsultację
Wydajność

Przyspieszenie PrestaShop — optymalizacja i Core Web Vitals krok po kroku

Praktyczny przewodnik po optymalizacji PrestaShop: co realnie spowalnia sklep, jak poprawić Core Web Vitals i które ustawienia zmienisz samodzielnie z panelu — bez programisty. Na końcu: co zrobić, gdy szablon dobija do sufitu wydajności.

Bartosz Jagielski
Bartosz Jagielski4 lipca 2026

Dlaczego PrestaShop bywa wolny

PrestaShop to rozbudowana platforma — i ta rozbudowa ma swoją cenę. Front (to, co widzi klient) renderuje się na tym samym serwerze, na którym działa cała logika sklepu: baza produktów, zamówienia, moduły. Każdy element tej układanki może stać się wąskim gardłem.

Zanim zaczniesz cokolwiek optymalizować, warto wiedzieć, co najczęściej odpowiada za wolne ładowanie:

  • Nadmiar modułów — każdy zainstalowany moduł dokłada własne pliki CSS i JS oraz potrafi generować dziesiątki, a czasem setki zapytań SQL na jedno wyświetlenie strony
  • Źle skonfigurowany cache Smarty — gdy szablony rekompilują się przy każdym żądaniu, dokładają setki milisekund do czasu odpowiedzi serwera
  • Słaby hosting i brak cache serwerowego — współdzielony hosting bez OPcache, Redisa czy CDN oznacza wysoki TTFB (czas do pierwszego bajtu)
  • Nieoptymalna baza danych — tabele w MyISAM zamiast InnoDB, sterty starych logów, porzucone koszyki i wygasłe rabaty
  • Ciężkie assety frontu — obrazy w JPG/PNG zamiast WebP, brak lazy loadingu, render-blocking JavaScript
Zasada nr 1: nie zgaduj. Zmierz stan wyjściowy w Lighthouse (Chrome DevTools) lub PageSpeed Insights, zapisz wynik, a potem wprowadzaj zmiany pojedynczo i porównuj. Bez punktu odniesienia nie wiesz, co naprawdę zadziałało.
Metryki

Core Web Vitals w PrestaShop — co mierzyć

Core Web Vitals to zestaw metryk, którymi Google ocenia realne doświadczenie użytkownika — i które wpływają na pozycje w wyszukiwarce. Dla sklepu PrestaShop celuj w te wartości:

Cele Core Web Vitals
  • LCP (największy element) — poniżej 2,5 s
  • INP (reakcja na interakcję) — poniżej 200 ms
  • CLS (stabilność układu) — poniżej 0,1
  • TTFB (czas do pierwszego bajtu) — poniżej 200 ms
Co je psuje w PrestaShop
  • LCP — niezoptymalizowany obraz główny, wolny serwer
  • INP — ciężki JavaScript modułów blokujący wątek
  • CLS — obrazy i banery bez zarezerwowanych wymiarów
  • TTFB — rekompilacja Smarty, brak OPcache i CDN
TTFB jest fundamentem. Jeśli serwer odpowiada po 800 ms, to LCP nie zejdzie poniżej 800 ms — zanim przeglądarka w ogóle zacznie pobierać obrazy. Dlatego optymalizację zaczynamy od backendu i cache, a dopiero potem szlifujemy front.
Zrób sam

Krok 1: ustawienia wydajności w panelu

Najtańsza optymalizacja PrestaShop nie kosztuje nic i zajmuje kilka minut. Wejdź w Parametry zaawansowane → Wydajność i ustaw:

1

Cache Smarty: Tak

Włącz cache Smarty — szablony nie będą kompilowane przy każdym żądaniu.

↓
2

Kompilacja szablonów: „Nigdy nie rekompiluj"

Na produkcji szablony są stabilne — rekompilacja to zbędny narzut przy każdym wejściu.

↓
3

Typ cache: File System

Wybierz File System zamiast MySQL — przy bazie na tej samej maszynie jest to wydajniejsze.

↓
4

CCC: włącz minifikację i łączenie

Combine, Compress, Cache — minifikuje i łączy pliki CSS oraz JS, ograniczając liczbę żądań HTTP.

↓
5

Wyczyść cache i przetestuj

Po zapisaniu wyczyść cache i sprawdź sklep — szczególnie stronę produktu i koszyk.

To pojedyncza zmiana, która najczęściej daje największy skok wyniku — bo eliminuje rekompilację szablonów i redukuje liczbę pobieranych plików. Ważne: po każdej zmianie wyczyść cache i przetestuj sklep, bo agresywne łączenie plików (CCC) sporadycznie rozjeżdża wygląd na nietypowych szablonach.

Zrób sam

Krok 2: obrazy — największy dług wagi strony

W typowym sklepie obrazy to 60–80% wagi strony. Trzy działania, które realnie poprawiają LCP i CLS:

  • Konwersja na WebP — format WebP tnie wagę obrazów o około 30% przy tej samej jakości. PrestaShop od wersji 1.7.6 potrafi generować WebP natywnie (Wydajność → format obrazów), są też darmowe moduły
  • Lazy loading — obrazy poniżej pierwszego ekranu ładują się dopiero, gdy klient do nich doscrolluje. Skraca początkowe ładowanie na stronach kategorii i liście produktów
  • Sztywne wymiary — każdy obraz i baner powinien mieć zadeklarowane width i height (lub proporcje). To jedyny skuteczny sposób na CLS — bez tego treść skacze, gdy obrazy się doładowują
Zrób sam / z hostingiem

Krok 3: PHP, OPcache i serwer

Tu zaczynają się zmiany, które najmocniej ruszają TTFB. Część zrobisz z panelu hostingu, część wymaga dostępu do konfiguracji — ale żadna nie wymaga przepisywania sklepu:

  • PHP 8.1 lub nowsze — sam skok wersji PHP potrafi dać kilkadziesiąt procent szybszego przetwarzania. To zmiana jednym kliknięciem w panelu hostingu
  • OPcache — buforuje skompilowany kod PHP w pamięci. Zalecane wartości: opcache.memory_consumption=256, opcache.max_accelerated_files=16229, opcache.revalidate_freq=10
  • InnoDB zamiast MyISAM — nowoczesny silnik bazy z lepszą obsługą współbieżności; dołóż odpowiedni innodb_buffer_pool_size
  • Redis lub Memcached — cache serwerowy trzymający wyniki zapytań w pamięci; powracający ruch dostaje odpowiedź błyskawicznie
  • Wyłącz tryb deweloperski — upewnij się, że _PS_MODE_DEV_ jest ustawione na false na produkcji; tryb debug potrafi wielokrotnie spowolnić sklep
  • Optymalizacja autoloadera — po większych zmianach uruchom composer dump-autoload --optimize --classmap-authoritative
Zrób sam

Krok 4: audyt modułów

Moduły to najczęstsza ukryta przyczyna wolnego PrestaShop. Zasada jest prosta: każdy nieużywany moduł to czysta strata — dokłada zapytania, skrypty i style, a nie wnosi nic w zamian.

1

Zrób listę modułów

Wypisz wszystkie aktywne moduły i zaznacz te, których realnie używasz.

↓
2

Wyłącz zbędne

Dezaktywuj i odinstaluj moduły nieużywane — nie zostawiaj ich „na wszelki wypadek".

↓
3

Testuj wpływ podejrzanych

Gdy podejrzewasz konkretny moduł, wyłącz go tymczasowo i porównaj czas odpowiedzi przed/po.

Szczególnie uważaj na moduły „all-in-one” ładujące własne biblioteki (slidery, popupy, liczniki), które i tak dublują to, co masz w szablonie.

Zrób sam

Krok 5: CDN na statyczne zasoby

CDN (Content Delivery Network) rozprowadza obrazy, CSS i JS po serwerach na całym świecie, a klient pobiera je z najbliższej lokalizacji. Efekt: niższa latencja, odciążony serwer sklepu i niższy TTFB dla zasobów statycznych. Dla większości sklepów wystarczy darmowy plan Cloudflare przed domeną — zero zmian w kodzie.

Co daje najwięcej — kolejność działań

Jeśli masz zrobić tylko kilka rzeczy, zrób je w tej kolejności — od największego zwrotu przy najmniejszym wysiłku:

1

Ustawienia Wydajności + PHP 8.1

Cache Smarty, CCC i aktualna wersja PHP — kilka minut, największy skok TTFB.

↓
2

OPcache i cache serwerowy

OPcache, a jeśli hosting pozwala — Redis/Memcached. Odciąża backend przy powracającym ruchu.

↓
3

Obrazy: WebP + lazy + wymiary

Największy dług wagi strony i główny czynnik LCP oraz CLS.

↓
4

Audyt modułów

Wytnij wszystko, czego nie używasz — mniej skryptów i zapytań SQL.

↓
5

CDN przed domeną

Darmowy Cloudflare na statyczne zasoby — niższa latencja bez zmian w kodzie.

Gdy to nie wystarcza

Gdzie kończy się optymalizacja szablonu

Powyższe kroki potrafią przenieść sklep z wyniku 40 na 70–80 w PageSpeed. Ale w pewnym momencie uderzasz w sufit architektury: front PrestaShop renderuje się przez Smarty na tym samym serwerze co backend, a każdy moduł frontowy nadal dokłada swój narzut. Wyczyściłeś cache, skonwertowałeś obrazy, wyciąłeś moduły — a LCP dalej nie chce zejść poniżej progu.

Wtedy zostaje zmiana architektury — headless. Front działa jako osobna, zoptymalizowana aplikacja na własnej infrastrukturze i komunikuje się z PrestaShop wyłącznie przez API. Panel, produkty, zamówienia i checkout zostają bez zmian — zmienia się tylko warstwa, która decyduje o wydajności.

Szablon PrestaShop
  • Front renderowany przez Smarty na serwerze sklepu
  • Każdy moduł dokłada skrypty i zapytania
  • Wydajność ograniczona przez platformę i hosting
  • Optymalizacja to walka z narzutem, nie jego eliminacja
Headless storefront
  • Front na osobnej infrastrukturze — niezależny od backendu
  • Pełna kontrola nad każdym skryptem i zasobem
  • 90+ PageSpeed osiągalne, bo nie ma narzutu szablonu
  • Wyszukiwarka, chat i rekomendacje wbudowane, nie doklejane

Headless nie jest dla każdego — ma sens, gdy wydajność jest priorytetem, a optymalizacja szablonu przestała wystarczać. Jak to działa krok po kroku i co zmienia w codziennej pracy, opisaliśmy w osobnych materiałach:

Headless PrestaShop →Jak działa headlessCase study: z szablonu na headless

Źródła

  • PrestaShop DevDocs — Optimize your PrestaShop performance
    devdocs.prestashop-project.org/9/scale/optimizations/
  • PrestaShop 1.7 Documentation — Performance
    docs.prestashop-project.org/1.7-documentation/user-guide/configuring-shop/advanced-parameters/performance
  • Knowband — Ultimate Core Web Vitals Guide for PrestaShop
    knowband.com/blog/prestashop-blog/ultimate-core-web-vitals-guide-prestashop/
  • Cloudkul — How to improve Core Web Vitals in a PrestaShop store
    cloudkul.com/blog/how-to-improve-core-web-vitals-in-prestashop-store/
  • Scalesta — PrestaShop Caching & Performance Optimization Guide
    scalesta.com/blog/prestashop-caching-performance-optimization-guide/

Automatyzacja obsługi sklepu

Gotowy na rewolucję w obsłudze klienta?

Dołącz do firm, które już usprawniły działanie swojego sklepu

Umów konsultację →
FunkcjonalnościCennikShoper AIWooCommerce AIPrestaShop AIRegulaminPolityka prywatności

🇵🇱 Tworzone w Polsce • Polskie rozwiązania AI

© 2026 Witly. Wszystkie prawa zastrzeżone.