Motywy PrestaShop odpowiadają za warstwę prezentacji sklepu – nie za płatności, integracje ani logikę biznesową. Zły wybór kosztuje nie tylko kilkaset złotych na rynku third-party, ale też tygodnie poprawek i spadek konwersji po wdrożeniu. Poniżej znajdziesz kryteria oceny motywu przed zakupem: wydajność mierzoną przez Core Web Vitals, zgodność z PrestaShop 8 i 9, licencje oraz realny koszt utrzymania. Zbieramy też wszystko w jednym miejscu w hubie PrestaShop.
Motyw PrestaShop to katalog plików w /themes/nazwa-motywu/, który odpowiada wyłącznie za warstwę prezentacji: układ stron, typografię, kolory i rozmieszczenie bloków w hookach. Nie ma tam logiki płatności, wystawiania faktur ani połączenia z magazynem — to zadanie modułów. Jeśli sprzedawca motywu obiecuje „wbudowaną integrację z ERP”, prawie zawsze oznacza to, że dokłada do paczki moduł, który trzeba potem utrzymywać osobno.
Typowa struktura motywu wygląda tak:
theme.yml — manifest: nazwa, wersja, kompatybilność, konfiguracja layoutów i hooków;templates/ — szablony widoków (product.tpl, category.tpl, kroki checkoutu);assets/ — CSS, JS, obrazy, fonty;modules/ — nadpisania widoków modułów, np. własny wygląd bloku koszyka;translations/ — pliki tłumaczeń;config/ — ustawienia motywu i konfiguracja z manifestu.Trzecia warstwa to override — katalog /override/ nadpisujący klasy PHP kontrolerów i modeli. Nie jest częścią motywu i po aktualizacji PrestaShop bywa źródłem błędów, bo trzeba go scalać ręcznie. Rozdzielenie tych trzech warstw to najczęstsze źródło nieporozumień przy wycenie wdrożenia.
PrestaShop 1.7 wprowadził Theme Customizer w panelu (Wygląd → Motywy → Dostosuj) i podział na szablony frontu oraz back office. Wersja 8 rozwija ten model, a 9 podnosi wymagania środowiskowe — starsze motywy pisane pod 1.7 często wymagają poprawek przed wgraniem na 9. Zanim kupisz, sprawdź deklarowaną kompatybilność w dokumentacji dla deweloperów PrestaShop i w opisie motywu. Szerszy kontekst techniczny zebraliśmy w hubie PrestaShop.
| Warstwa | Za co odpowiada | Gdzie siedzi |
|---|---|---|
| Motyw | Wygląd, layout, typografia, hooki | /themes/nazwa-motywu/ |
| Moduł | Funkcje i integracje (płatności, wysyłka, SEO, feedy) | /modules/ |
| Override | Nadpisanie klas PHP kontrolerów i modeli | /override/ |
Decyzję zakupową najłatwiej podjąć, rozbijając ją na trzy warianty. Poniżej widełki, które widzimy w praktyce wdrożeniowej — konkretne kwoty zależą od zakresu, nie od cennika z sufitu.
Ukryte koszty, o które warto zapytać przed zakupem: czy dodatki do strony głównej (slider, siatka kategorii, sekcja blogowa) są w cenie, czy osobno; na jak długo obowiązuje licencja i co się dzieje po jej wygaśnięciu; czy tłumaczenia polskie są w paczce, czy robisz je sam; ile kosztuje dopasowanie motywu po kolejnej aktualizacji modułu płatności.
Darmowy motyw wystarczy, gdy katalog to kilkaset produktów, checkout jest standardowy, a Ty nie planujesz niestandardowego UX. Custom opłaca się przy B2B z cennikami klienta, konfiguratorze produktu, integracji z ERP, wielojęzyczności albo nietypowym checkoutcie — tam każdy gotowy motyw i tak trzeba rozebrać.
W DropDigital wycena wynika z liczby godzin potrzebnych na wdrożenie i utrzymanie, nie z gotowego cennika. Pomocne bywa też porównanie z tym, co realnie chwalą i krytykują użytkownicy PrestaShop.
| Wariant | Koszt wejścia | Czas wdrożenia | Kiedy ma sens |
|---|---|---|---|
| Darmowy | 0 zł + 4–20 h pracy | 1–3 dni | Prosty sklep, mały katalog, standardowy checkout |
| Płatny third-party | 200–1500 zł lub 100–400 zł/rok | 8–40 h | Rozbudowana strona główna, blog, gotowe sekcje |
| Custom | Wycena godzinowa, 40–200 h | 3–10 tygodni | B2B, konfigurator, ERP, wielojęzyczność, nietypowy checkout |
Najtańszy sposób na uniknięcie wymiany motywu po trzech miesiącach: zmierzyć go przed zakupem. Wejdź na demo motywu i wklej jego adres do PageSpeed Insights. Patrz na dwa raporty — mobilny i desktopowy — bo motywy często mają rozbudowane menu mobilne, które psuje wyniki wyłącznie na telefonie.
Progi Google: LCP poniżej 2,5 s, INP poniżej 200 ms, CLS poniżej 0,1, liczone dla 75. percentyla użytkowników. Uwaga praktyczna: INP pochodzi z danych polowych, więc na świeżym demo go nie zobaczysz. W trybie laboratoryjnym patrz na TBT — jeśli przekracza 300 ms, INP w realnym ruchu też będzie problemem. Zakres metryk opisuje dokumentacja Google Search Central.
Co sprawdzić poza samym wynikiem:
font-display: swap.Do tego kompatybilność: PrestaShop 8 i 9, PHP 8.1/8.2/8.3, działanie z Twoimi modułami płatności i wysyłki. Ostatni krok to test na stagingu z prawdziwym katalogiem — 100–1000 produktów, kategorie z filtrami, dodanie do koszyka, przejście checkoutu. Wynik z demo bez treści bywa o 30–50% lepszy niż to, co zobaczysz po wgraniu własnych banerów i zdjęć. Warto też śledzić wydania PrestaShop i moment, w którym aktualizacja wymusi poprawki w motywie.
| Metryka | Próg | Gdzie to sprawdzisz |
|---|---|---|
| LCP | poniżej 2,5 s | PageSpeed Insights — raport mobilny i desktopowy |
| INP | poniżej 200 ms | Dane polowe (CrUX); w labie patrz na TBT |
| CLS | poniżej 0,1 | PageSpeed Insights, zakładka Diagnostyka |
Motywy do PrestaShop kupisz w trzech miejscach i każde z nich oznacza inne konsekwencje dla późniejszego utrzymania sklepu.
Licencje. Sam motyw PrestaShop jest objęty GPL – możesz go modyfikować i używać na własnym sklepie. To jednak nie znaczy, że wszystko w paczce jest GPL: dodatki premium dołączane do motywu (szybkie zamówienie, mega menu, slider) mogą mieć własne warunki, limit domen i roczną opłatę. Kupując motyw na 1 domenę, drugą instalację musisz liczyć jako staging albo dokupić licencję – to typowa pułapka przy testach.
Omijaj wersje „nulled” z forów. W praktyce trafiają się w nich skrypty wysyłające dane zamówień na zewnętrzny serwer, a brak aktualizacji oznacza, że nie dostaniesz poprawek pod nowe wydania PrestaShop.
| Źródło | Typowy koszt | Aktualizacje i wsparcie | Na co uważać |
|---|---|---|---|
| PrestaShop Addons | 60–150 EUR, czasem z rocznym wsparciem | Widoczna historia wersji, wsparcie autora przez marketplace | Węższy wybór gotowych designów |
| ThemeForest | 30–70 USD | 6 miesięcy wsparcia w cenie, potem przedłużenie | Data ostatniej aktualizacji, changelog, liczba sprzedaży |
| GitHub (open source) | 0 zł | Zależy od autora, często brak | Ostatni commit, otwarte issues, zgodność z wersją PrestaShop |
| Motywy „nulled” | 0 zł | Brak | Ryzyko backdoora, brak poprawek bezpieczeństwa, problemy prawne |
Zanim wgrasz cokolwiek, zrób kopię. Minimum to pełny backup katalogu sklepu i zrzut bazy danych: tar -czf sklep-files.tar.gz /var/www/sklep oraz mysqldump -u user -p baza_sklepu > baza.sql. Otwórz oba pliki, żeby sprawdzić, czy backup nie jest pusty – rollback, którego nie da się odtworzyć, nie jest rollbackiem.
upload_max_filesize = 8M, instalacja się nie powiedzie – wtedy rozpakuj motyw przez FTP do katalogu /themes/. Po zwiększeniu limitów pamiętaj o restarcie PHP-FPM.Każda zmiana wprowadzona bezpośrednio w plikach motywu parent zniknie przy pierwszej aktualizacji. Rozwiązanie to child theme – katalog, który dziedziczy wszystko z motywu nadrzędnego, a nadpisuje tylko to, co sam zmienisz.
Struktura jest prosta: tworzysz katalog /themes/mojmotyw-child/, a w nim plik config/theme.yml z kluczem parent: mojmotyw oraz podstawowymi metadanymi (nazwa, wersja, autor). PrestaShop szuka pliku najpierw w child theme, a jeśli go nie znajdzie – w parent. Dlatego kopiujesz wyłącznie te pliki, które faktycznie modyfikujesz, zamiast duplikować cały motyw. Szczegóły formatu opisuje dokumentacja deweloperska PrestaShop.
Przykład z życia: chcesz dodać do karty produktu plakietkę „ostatnie 3 sztuki”. Kopiujesz templates/catalog/_partials/miniatures/product.tpl z parent do child (zachowując identyczną ścieżkę), dodajesz warunek {if $product.quantity <= 3} i zapisujesz. Aktualizacja parent nie tknie Twojej wersji, bo system nadal ładuje plik z child.
Czego nie robić: nie edytuj /classes, /controllers ani plików core. Do nadpisywania logiki służy katalog /override/, ale każdy override trzeba po aktualizacji zweryfikować, bo zmiany w core potrafią go zepsuć. Druga pułapka: nie każdy motyw poprawnie obsługuje dziedziczenie – jeśli autor wpisał ścieżki na sztywno, child theme nie zadziała i trzeba to sprawdzić jeszcze przed zakupem. Aktualizacje planuj z wyprzedzeniem, żeby nie robić ich w szczycie sezonu – pomaga w tym kalendarz wydań opisany w materiale PrestaShop news: jak czytać wydania i kiedy aktualizować.
Po instalacji motywu problemy wracają w tych samych czterech miejscach. Objawy, przyczyny i najszybsza diagnoza:
Biały ekran lub błąd 500. Włącz tryb debug: w PrestaShop 1.7–8 w pliku config/defines.inc.php ustaw _PS_MODE_DEV_ na true — dostaniesz nazwę pliku i linię błędu. Dalej logi: var/logs/dev.log, var/logs/prod.log oraz logi PHP-FPM. Na końcu uprawnienia: katalogi 755, pliki 644, a var/cache, var/logs i cache motywu muszą być zapisywalne dla użytkownika PHP (zwykle www-data). Najczęstsza przyczyna to pliki wgrane z Windows z błędnym właścicielem albo przerwany upload. Pamiętaj, żeby po testach debug wyłączyć.
Konflikty z modułami płatności i kurierów. PayU, Przelewy24, InPost, DPD i DHL nadpisują szablony checkoutu i podpinają się pod hooki displayPayment, displayPaymentReturn i displayOrderConfirmation. Po zmianie motywu przetestuj zamówienie na 1 zł: koszyk → adres → kurier → płatność → powrót → status → mail. Typowe objawy konfliktu: brak przycisku płatności, pusty ekran po powrocie z bramki, zamówienie bez zmiany statusu. Konfigurację tych modułów opisujemy osobno: PrestaShop PayU: konfiguracja, statusy i błędy i PrestaShop Przelewy24: organizacja wdrożenia krok po kroku.
Cache i CDN nie odświeżają CSS/JS. Wyczyść po kolei: PrestaShop (Parametry zaawansowane → Wydajność → Wyczyść cache), przeglądarkę (twardy reload, tryb incognito), CDN (w Cloudflare „Purge Everything”) i opcache (restart PHP-FPM lub opcache_reset()). Zanim uznasz motyw za zepsuty, sprawdź, czy pliki CSS mają nowy hash w nazwie — bez wersjonowania CDN poda starą wersję.
Spadek SEO po zmianie motywu. Porównaj w Search Console 28 dni przed i po: kliknięcia, wyświetlenia, błędy indeksowania. Sprawdź meta title i description (motywy często je nadpisują bez ostrzeżenia), jeden H1 na stronę, przekierowania 301, sitemap.xml i 404. Jeśli motyw zgubił dane strukturalne produktu, wróć do listy typów obsługiwanych przez Google.
| Objaw | Prawdopodobna przyczyna | Szybka diagnoza |
|---|---|---|
| Biały ekran, HTTP 500 | Błąd PHP w motywie lub module, złe uprawnienia katalogów | Tryb debug w config/defines.inc.php, logi var/logs i PHP-FPM |
| Brak przycisku płatności | Motyw nie wywołuje hooka displayPayment | Podgląd hooków w BO, test zamówienia na 1 zł |
| Stary wygląd po zmianach CSS | Cache PrestaShop, przeglądarki, CDN lub opcache | Kolejno: BO → purge CDN → incognito → restart PHP-FPM |
| Spadek pozycji po wdrożeniu | Zmienione meta, brak H1, zgubione przekierowania | Porównanie w Search Console 28 dni przed i po |
Czas wdrożenia zależy od liczby szablonów do przerobienia (strona główna, kategoria, karta produktu, checkout), liczby integracji, wersji PrestaShop (8 czy 9), tego kto dostarcza treści i grafiki oraz czy testujesz na stagingu. Orientacyjnie: prosty motyw z rynku to 4–8 h, motyw średni z konfiguracją 8–20 h, a custom z integracjami 30+ h.
Wycena. Nie publikujemy sztywnego cennika, bo zakres bywa różny — wycena to stawka godzinowa pomnożona przez oszacowany czas, plus licencja motywu lub modułu, jeśli ich nie masz. W ofercie dostajesz cztery rzeczy: zakres prac, liczbę godzin, SLA na reakcję w dni robocze oraz okres na zgłaszanie błędów wdrożeniowych. Opieka po wdrożeniu (aktualizacje, kopie zapasowe, monitoring) jest osobną pozycją — albo ją bierzesz, albo nie, bez ukrytych kosztów.
Checklista 12 punktów przed publikacją motywu:
Kiedy zlecić. Gdy nie masz dewelopera ani czasu na testy, prowadzisz sklep B2B (ceny netto, logowanie, indywidualne cenniki), potrzebujesz integracji z ERP (Subiekt, Comarch), planujesz migrację z innej platformy albo motyw wymaga zmian w Smarty i CSS, których nie chcesz robić samodzielnie. Zaczynamy od audytu i wyceny — wdrożenia motywów i integracji PrestaShop.
| Scenariusz | Orientacyjny czas | Zakres |
|---|---|---|
| Prosty motyw z rynku | 4–8 h | Instalacja, logo, kolory, menu, podpięcie modułów, test 1-złotowy, czyszczenie cache |
| Motyw średni z konfiguracją | 8–20 h | Zmiany CSS i Smarty, układ strony głównej i karty produktu, poprawki RWD, testy płatności i kurierów |
| Custom z integracjami | 30+ h | Wdrożenie szablonu, integracja ERP i płatności, migracja treści, optymalizacja Core Web Vitals |
Zakup motywu na podstawie dema z kilkoma produktami
Jak wykryć: Demo ładuje się w 1,5 s, ale po imporcie 800 produktów kategorie, filtry i koszyk wyraźnie zwalniają.
Jak naprawić: Postaw środowisko staging, zaimportuj 100–1000 realnych produktów i dopiero wtedy zmierz LCP, INP i CLS w PageSpeed Insights.
Traktowanie motywu jako źródła funkcji
Jak wykryć: W opisie motywu szukasz integracji z PayU, Przelewy24, ERP albo modułem do faktur.
Jak naprawić: Funkcje dają moduły, nie motyw. Konfigurację płatności opisujemy osobno: https://dropdigital.pl/prestashop-payu i https://dropdigital.pl/prestashop-przelewy24.
Edycja plików motywu nadrzędnego bezpośrednio
Jak wykryć: Po aktualizacji motywu Twoje zmiany w szablonach zniknęły, a plik theme.yml wrócił do stanu z paczki.
Jak naprawić: Pracuj na child theme i wynoś logikę do modułu lub override, żeby aktualizacja nie kasowała zmian.
Instalacja motywu na produkcji bez kopii zapasowej
Jak wykryć: Nie masz świeżego backupu plików i bazy ani sprawdzonej procedury przywrócenia.
Jak naprawić: Zrób kopię plików i bazy, przećwicz rollback na staging, a dopiero potem publikuj na produkcji.
Zakup motywu, którego changelog urywa się dwa lata temu
Jak wykryć: Ostatnia aktualizacja wyprzedza wydanie PrestaShop 8, a support nie odpowiada na pytania o PHP 8.2.
Jak naprawić: Sprawdź datę ostatniej wersji, historię zmian, deklarowane wersje PHP i czas wsparcia w cenie.
Pomijanie licencji i opłat dodatków premium
Jak wykryć: Motyw kosztuje raz, ale dodatki do strony głównej i tłumaczenia rozliczane są w rocznej subskrypcji.
Jak naprawić: Policz koszt całkowity na 3 lata: motyw, dodatki, odnowienia licencji i ewentualne godziny wdrożeniowe.
Motyw PrestaShop to warstwa prezentacji, więc oceniaj go jak element wydajności i utrzymania, nie jak źródło funkcji. Przed zakupem sprawdź Core Web Vitals na demo, zgodność z Twoją wersją PrestaShop i PHP, historię aktualizacji oraz zakres wsparcia. Po zakupie przetestuj motyw na staging z realnym katalogiem i wdrażaj na produkcję dopiero po backupie. Jeśli planujesz nietypowy checkout lub integracje, custom theme wychodzi taniej niż łatanie gotowca przez kolejne lata.
W praktyce tak, choć w PrestaShop mówimy o motywie (theme), który zawiera szablony Smarty/Twig, pliki CSS i JS, tłumaczenia oraz plik theme.yml. Motyw odpowiada wyłącznie za warstwę prezentacji. Funkcje, płatności i integracje dostarczają moduły, a drobne zmiany logiki robi się przez override.
Darmowe motywy kosztują 0 zł, ale zwykle wymagają godzin pracy na poprawki i tłumaczenia. Motywy płatne zamykają się najczęściej w przedziale od około 200 do 1500 zł jednorazowo, choć część rynków działa w modelu subskrypcji. Do tego dochodzą dodatki premium, roczne odnowienia licencji i moduły strony głównej, które potrafią podwoić pierwotny koszt.
Przy prostym sklepie z małym katalogiem, bez niestandardowego UX i bez integracji z systemami zewnętrznymi. Warunek jest jeden: motyw musi być aktualizowany i zgodny z Twoją wersją PrestaShop oraz PHP. Jeśli po testach na staging widzisz poprawne Core Web Vitals, nie ma sensu przepłacać.
Wtedy, gdy masz nietypowy checkout, konfigurator produktu, wielojęzyczność, integrację z ERP lub obsługę klienta B2B z indywidualnymi cennikami. Gotowy motyw trzeba w takim wypadku tak dociążyć override'ami, że aktualizacje stają się ryzykowne. Custom wyceniamy godzinowo – kwota wynika z liczby godzin, nie z cennika z sufitu.
Wpuść adres demo motywu do PageSpeed Insights i porównaj wyniki mobilne z desktopowymi, zwracając uwagę na LCP, INP i CLS. Potem powtórz test na własnym staging z realnym katalogiem 100–1000 produktów, bo demo rzadko odzwierciedla prawdziwe obciążenie. Metryki opisuje Google w dokumentacji Core Web Vitals: developers.google.com oraz web.dev.
Skasuje, jeśli edytowałeś pliki motywu nadrzędnego bezpośrednio. Rozwiązaniem jest child theme dziedziczący z parent theme oraz wynoszenie modyfikacji logiki do modułu lub override. Wtedy aktualizacja podmienia tylko pliki bazowe, a Twoje zmiany zostają nietknięte.
Najbezpieczniej w oficjalnym PrestaShop Addons, gdzie widzisz historię aktualizacji i deklarowane wsparcie. Rynki third-party są w porządku, jeśli sprawdzisz changelog, datę ostatniej wersji i czas supportu. Darmowe motywy z GitHuba bywają porzucone – zanim je wdrożysz, obejrzyj datę ostatniego commita i otwarte zgłoszenia. Dokumentację techniczną znajdziesz w PrestaShop Developer Documentation.
Jeśli chcesz ocenić motyw przed zakupem albo zaplanować wdrożenie bez przestoju sklepu, napisz do nas – powiemy wprost, co da się zrobić na gotowym motywie, a co wymaga pracy godzinowej.