Migracja sklepu PrestaShop to nie jedna operacja, a trzy różne: podniesienie wersji, przeniesienie na inny hosting i przejście na inną platformę. Każda ma inny nakład pracy, inne ryzyko dla SEO i inny moment, w którym warto ją zacząć. Zanim wydasz budżet, spisz stan sklepu: wersje PHP i MySQL, listę modułów, modyfikacje szablonu i liczbę zamówień w bazie. Poniżej znajdziesz uporządkowane decyzje oraz checklistę, która przechodzi przez cały proces — od audytu po wdrożenie na produkcji. Szczegóły techniczne rozłożone na ścieżki opisujemy w sekcji Migracje PrestaShop.

Kiedy migracja PrestaShop ma sens – a kiedy lepiej najpierw naprawić sklep

Migracja nie naprawia problemów, które nie wynikają z technologii. Zanim zamówisz wycenę, sprawdź, czy Twoje problemy w ogóle dotyczą wersji sklepu.

Migruj, gdy:

Nie migruj, gdy:

Rozdziel trzy pojęcia, bo mieszają się w co drugiej rozmowie z klientem: migracja wersji (1.6 → 8.x), migracja hostingu (ta sama wersja, inny serwer) i migracja platformy (PrestaShop → WooCommerce). To trzy różne projekty, z różnym ryzykiem i innym budżetem.

Remont bywa tańszy. Aktualizacja PHP, włączenie OPcache, kompresja zdjęć i poprawka szablonu to zwykle 20–40 godzin. Podniesienie wersji z modułami własnymi: 40–80 godzin. Zmiana platformy: 80–120 godzin. Przy najtańszym scenariuszu naprawy migracja jest często wydatkiem bez zwrotu – porównaj stawki i godziny utrzymania sklepu PrestaShop, zanim podejmiesz decyzję.

Trzy ścieżki migracji: wersja, hosting, platforma – co wybrać w Twojej sytuacji

Te trzy projekty różnią się nie tylko czasem, ale i tym, co może pójść nie tak w trakcie.

Ścieżka 1: podniesienie wersji (1.6 → 1.7 → 8.x). Oficjalny moduł 1-Click Upgrade (autoupgrade) prowadzi aktualizację, ale nie przez skoki: 1.6.1.x do 1.7.8, potem do 8.x. Jeśli masz nadpisania w katalogu override/ albo moduły własne, kreator się zatrzyma – a gorzej, gdy przejdzie i zostawi niespójną bazę. Zawsze: pełna kopia plików i bazy, test na subdomenie za Basic Auth, robots.txt z Disallow, PHP w wersji wymaganej przez docelową gałąź. Zakres zmian w API i szablonach sprawdzisz w dokumentacji dla deweloperów PrestaShop. Paczkę instalacyjną pobieraj wyłącznie z oficjalnego źródła – skąd pobrać PrestaShop i czego nie robić przy rozpakowywaniu.

Ścieżka 2: zmiana hostingu bez zmiany wersji. Najniższe ryzyko SEO. Warunek: identyczne lub wyższe wersje PHP i MySQL/MariaDB, collation utf8mb4, OPcache, ten sam silnik (Apache/Nginx/LiteSpeed) i uprawnienia 755/644. Test przez wpis w /etc/hosts przed zmianą DNS – przy TTL 300 s ruch przełącza się w kilka minut. Stary serwer zostaw działający minimum 7 dni.

Ścieżka 3: PrestaShop → WooCommerce. Nie ma mapowania 1:1 na kombinacje produktowe – odpowiednikiem są wariacje WooCommerce, a grupy atrybutów przepisuje się ręcznie. Tak samo ceny specyficzne i cenniki grupowe B2B: w WooCommerce robi się to wtyczką, nie konfiguracją. Każdy stary adres wymaga przekierowania 301, a dane strukturalne Product/Offer trzeba odtworzyć od zera. Decydując się na tę ścieżkę, zaplanuj przegląd modułów PrestaShop i listę funkcji, które trzeba zastąpić.

KryteriumWersja (1.6 → 8.x)HostingPlatforma (→ WooCommerce)
Moduły własne (nie z marketplace)2–5 modułów to 8–20 h pracybez zmian, przenosisz 1:1każdy trzeba zastąpić wtyczką lub napisać od nowa
Zamówienia w baziedo 50 tys. – przenoszone w oknie serwisowymbez zmianzwykle zostają w archiwum, nie przenoszą się
Multistoretestujesz każdy sklep osobnobez zmian, sprawdź domeny i DNSWooCommerce Multisite albo osobne instalacje
B2B z cennikami grupowymizostaje, jeśli moduł ma wersję na 8.xbez zmiankonfiguracja od zera, wymaga wtyczki
Czas i ryzyko SEO40–80 h, ryzyko średnie10–25 h, ryzyko niskie80–120 h, ryzyko wysokie

Audyt starego sklepu – 12 rzeczy do spisania przed pierwszym klikiem

Bez audytu migracja zatrzymuje się na pytaniu „a skąd wiemy, która wersja modułu była zainstalowana?”. Spisz wszystko w jednym arkuszu, z datą i osobą odpowiedzialną.

  1. Wersja PrestaShop – pełny numer, np. 1.7.8.9. W 1.6 siedzi w config/settings.inc.php, w 1.7+ w app/config/parameters.php.
  2. Wersja PHP, memory_limit, max_execution_time, OPcache (włączony czy nie).
  3. Wersja MySQL/MariaDB, silnik tabel (InnoDB) i collation bazy (utf8mb4).
  4. Silnik serwera i jego wersja: Apache + mod_php, Nginx + PHP-FPM czy LiteSpeed. Obsługa HTTP/2 albo HTTP/3.
  5. Lista modułów z wersjami – eksport z zakładki Moduły. Oznacz każdy jako Addons / własny / z repozytorium. Te własne przepisuje się ręcznie; jeśli trafiły z Gita, pomoże czytanie repozytoriów PrestaShop na GitHubie.
  6. Nadpisania szablonu: katalog override/, pliki w themes/[nazwa]/ oraz child theme. Wypisz każdy plik i powód zmiany.
  7. Liczba produktów, kombinacji, kategorii, klientów, zamówień. Szybki licznik: SELECT COUNT(*) FROM ps_product_attribute. 10 tys. kombinacji to inny czas eksportu niż 500.
  8. Płatności: Przelewy24, PayU, tpay, Stripe – wersja modułu i kto trzyma klucze API.
  9. Kurierzy: InPost, DPD, DHL – moduły oraz ewentualne integracje pisane pod zamówienie.
  10. Integracje z ERP i księgowością: API, pliki CSV czy webhooki i kto odbiera dane.
  11. Mapa URL i Google Search Console: adresy w indeksie, kliknięcia i wyświetlenia za 3–12 miesięcy. To gotowa lista przekierowań. Znaczenie kodów 301 i 308 jako przekierowań trwałych opisuje specyfikacja HTTP.
  12. Dostępy: DNS, panel hostingu, cron, kopie zapasowe, właściciel domeny i certyfikatu.

Dopisz do arkusza punkt odniesienia: konwersję, przychód i pozycje sprzed migracji. Bez baseline nie udowodnisz, że zmiana niczego nie zaszkodziła – cały proces krok po kroku przechodzimy w migracjach PrestaShop.

Metoda migracji: 1-Click Upgrade, ręczna czy z deweloperem

Metodę wybiera się na podstawie jednego pytania: czy sklep odbiega od standardu PrestaShop. Jeśli nie — wystarczy narzędzie i dyscyplina. Jeśli tak — potrzebna jest osoba, która zna strukturę bazy, modułów i szablonu.

1-Click Upgrade (nazwa techniczna modułu: autoupgrade) sprawdza się w sklepach bez modyfikacji core, bez własnych modułów i na standardowym szablonie. Warunki przed uruchomieniem: kopia na środowisku staging, wyłączony cache (Zaawansowane → Wydajność → pamięć podręczna i cache szablonów), wyłączone moduły niekompatybilne z docelową wersją PHP i pełny backup z kreatora. Nie uruchamiaj go na żywej bazie w godzinach sprzedaży — moduł nadpisuje pliki, a błąd 500 trudno cofnąć bez kopii.

Migracja ręczna to mysqldump bazy i kopia plików przez tar, a potem żmudne poprawki: prefiks tabel w pliku konfiguracyjnym (app/config/parameters.php w 1.7+, config/settings.inc.php w 1.6), wpisy PS_SHOP_DOMAIN i PS_SHOP_DOMAIN_SSL w ps_configuration, domena, physical_uri i virtual_uri w ps_shop_url, konta w ps_employee. Ręcznie nie przeskoczysz zmian w schemacie między wersjami głównymi — 1.6 → 8.x wymaga kolejnych upgrade'ów po drodze. Zmiany w strukturze tabel opisuje dokumentacja dla deweloperów PrestaShop.

Deweloper wchodzi w grę, gdy masz własne moduły, niestandardowe płatności, integrację z ERP (Subiekt, Comarch Optima), multistore albo sklep B2B z indywidualnymi cennikami. Zanim wybierzesz metodę, zrób listę modułów i ich zgodność z nową wersją — jeden niezgodny moduł potrafi wyłączyć koszyk. Praca bezpośrednio z osobą wdrażającą, bez pośredników, skraca czas, bo nie ma przekazywania kontekstu między handlowcem a wykonawcą. Migracja przez kopiowanie staging → produkcja jest bezpieczniejsza niż upgrade na żywej bazie zawsze wtedy, gdy nie możesz pozwolić sobie na godzinę przestoju lub na utratę zamówień złożonych w trakcie prac.

MetodaKiedy wystarczyTypowy czasGłówne ryzyko
1-Click Upgradestandardowy sklep, brak modyfikacji core i własnych modułów1–3 h + testyniekompatybilny moduł po zmianie PHP, nadpisane pliki szablonu
Migracja ręcznaprzeniesienie na inny hosting bez zmiany wersji0,5–1 dniabłędny prefiks tabel, pominięte wpisy w ps_configuration i ps_shop_url
Z deweloperemwłasne moduły, płatności, ERP, multistore, B2Bod kilku dni do 2 tygodnizakres prac trudny do zamknięcia w sztywnym cenniku

Migracja krok po kroku – od backupu do uruchomienia na produkcji

Kolejność jest ważniejsza niż tempo. Każdy krok kończy się weryfikacją, zanim przejdziesz do następnego.

  1. Pełny backup. Baza: mysqldump --single-transaction --routines --triggers. Pliki: tar -czf z katalogu sklepu. Trzecia kopia na nośniku poza serwerem (S3, dysk zewnętrzny, inny region hostingu). Kopia leżąca na tym samym serwerze to nie kopia.
  2. Klon na staging. Osobna baza, osobny URL, osobny katalog. Jeśli staging jest dostępny publicznie, wyłącz indeksowanie nagłówkiem X-Robots-Tag: noindex lub hasłem na poziomie serwera — sam robots.txt nie wystarczy, bo nie blokuje wejścia po linku.
  3. Upgrade lub przeniesienie plików. Najpierw moduły (zgodność z nowym PHP), potem szablon (nadpisania w /themes), na końcu core. Odwrotna kolejność kończy się wersją core, której stare moduły nie rozumieją. Warianty dla skoków między wersjami głównymi opisujemy w sekcji Migracje PrestaShop.
  4. Kontrola bazy. Prefiks tabel musi być identyczny w pliku konfiguracyjnym i w bazie. Sprawdź ps_configuration (PS_SHOP_DOMAIN, PS_SHOP_DOMAIN_SSL, ustawienia serwisowe), ps_shop_url (domain, domain_ssl, physical_uri) oraz konta w ps_employee.
  5. Płatności i kurierzy. Klucze API i adresy IPN/webhooków muszą wskazywać nowy adres, inaczej płatność wraca w pustkę. Bramkę testuj w sandboxie na stagingu, potem na produkcji. Zrób jedno zamówienie testowe i jedno z realną płatnością na symboliczną kwotę.
  6. PHP i SSL. memory_limit 256–512M, max_execution_time 300 przy imporcie, włączony OPcache, wersja PHP zgodna z wybraną wersją PrestaShop. Certyfikat SSL wystawiony i wymuszony na całej domenie — mieszana treść psuje koszyk.
  7. Przełączenie. Tryb serwisowy na starym sklepie (z wyjątkiem własnego IP), zmiana DNS przy wcześniej obniżonym TTL, restart PHP-FPM, wyczyszczenie cache w panelu i katalogu /var/cache, usunięcie plików instalacyjnych z produkcji.

SEO po migracji: mapowanie URL, przekierowania 301 i GSC

Najwięcej ruchu traci się nie na samym upgrade, a na zmianie adresów URL. Jeśli migrujesz hosting i struktura linków zostaje identyczna, przekierowania 301 nie są potrzebne — masowe dokładanie reguł to kolejne miejsce na błąd. 301 stosujesz przy zmianie domeny, platformy albo struktury kategorii. RFC 9110 przypomina, że 301 oznacza przeniesienie trwałe, a 302 tego nie przekazuje.

Przed migracją wyeksportuj zaindeksowane URL z Search Console (Indeksowanie → Strony → Eksport) i pobierz sitemap.xml ze starego sklepu. Połącz oba pliki w mapę stary → nowy adres i przygotuj reguły także dla parametrów GET: paginacji (?page=2), sortowania (?orderby=) i filtrów. Tu decydujesz świadomie: albo przekierowanie na wersję bazową adresu, albo zostawienie 200 z canonicalem — bez decyzji zostajesz z tysiącami zaindeksowanych wariantów.

Sytuacja (przykład)DziałanieCel
stara kategoria /66-akcesoria301nowa kategoria /akcesoria
/index.php?id_product=123&controller=product301docelowy przyjazny URL produktu
parametr sortowania ?orderby=pricebez 301200 + canonical na wersję bazową
usunięty produkt bez następcy301najbliższa kategoria, nigdy strona główna

Checklista testów przed startem – 14 punktów, których nie wolno pominąć

Testy robisz na stagingu — kopii sklepu z produkcyjną bazą i produktami, ale z wyłączonym indeksowaniem (hasło na katalogu, robots.txt, w PrestaShop dodatkowo wyłączone indeksowanie w ustawieniach SEO). Poniżej 14 punktów do odhaczenia po kolei.

Jeśli którykolwiek punkt wypada, nie przechodzisz na produkcję. Cały proces od audytu po wdrożenie rozkładamy na ścieżki w sekcji Migracje PrestaShop.

Ile trwa i ile kosztuje migracja PrestaShop – realne widełki

Wycena migracji zależy od trzech rzeczy: liczby modułów własnych, liczby kombinacji produktów i tego, czy zostajesz na PrestaShop. Poniżej widełki, które realnie widać w projektach.

Godziny rozbij na cztery bloki: audyt i inwentaryzacja (10–15%), praca na stagingu (40–45%), testy (20–25%), wdrożenie i bufor na niespodzianki (20%). Górna granica widełek bierze się z konkretów: moduł nieaktualizowany od trzech lat i brak zgodności z PHP 8.2, modyfikacje szablonu wpisane w pliki core, baza z 200 tys. zamówień, których nie przenosisz w całości.

Dlatego rozliczenie godzinowe jest uczciwsze niż ryczałt. Przy ryczałcie każda nieprzewidziana rzecz — np. moduł, który się nie kompiluje — kończy się aneksem albo cięciem jakości, a Ty nie wiesz, ile realnie zapłaciłeś. Przy godzinach widzisz, co wchodzi w zakres i gdzie możesz ciąć: przenieść do nowej bazy tylko 3 ostatnie lata zamówień, a starsze zostawić w archiwum CSV, albo odłożyć multistore na drugi etap. Sprawdzając ofertę, patrz, czy jest w niej osobna pozycja na testy — jej brak oznacza, że testy robisz na produkcji. Najczęstszy powód rozjazdu wyceny to lista modułów i ich zgodność z nową wersją; pomaga ją uporządkować materiał o tym, jak wybierać i wdrażać moduły PrestaShop.

ScenariuszNakład pracyRealny czas z testami
Sklep do 500 produktów, brak modułów własnych20–40 h2–5 dni roboczych
Sklep 500–5000 produktów z modułami własnymi60–120 h2–4 tygodnie
Sklep B2B / multistore / integracja ERP120–250 hliczony w tygodniach
Zmiana hostingu bez upgrade'u wersji8–20 h1–2 dni plus testy
PrestaShop → WooCommerce80–200 h3–6 tygodni

Opieka po migracji – co powinno wejść w SLA

Migracja kończy się w momencie wdrożenia. Potem zaczyna się utrzymanie — i tu brak SLA kosztuje najwięcej, bo sklep stoi w środku dnia handlowego.

Przed podpisaniem umowy przejdź przez pięć pytań z tabeli. Jeśli dostawca nie umie na nie odpowiedzieć, to nie jest umowa utrzymaniowa. Model rozliczenia i stawki opisujemy w materiale o tym, jak wygląda praca w PrestaShop i godziny utrzymania sklepu.

ElementMinimalny sensowny poziomPytanie kontrolne
Monitoringdostępność, TTFB, błędy PHP, alerty 24/7Kto odbiera alert o 3:00?
Backupcodziennie baza i pliki, retencja 30 dniKiedy ostatnio odtwarzaliście kopię?
Aktualizacjeokno serwisowe, kopia, procedura rollbackuCo robicie, gdy aktualizacja psuje sklep?
SLAreakcja 1 h / naprawa 8 h dla krytycznychCo wpisujecie w definicję „krytyczne”?
Kontaktdeweloper prowadzący, nie call centerKto zna nasze modyfikacje szablonu?

Najczęstsze błędy i jak je wykryć

Migracja wykonywana od razu na żywej bazie, bez środowiska testowego.

Jak wykryć: Nie ma kopii sklepu na osobnym hostingu lub subdomenie, a upgrade planowany jest w godzinach ruchu.

Jak naprawić: Zrób kopię plików i bazy na staging, tam wykonaj upgrade i testy, a na produkcję wdrażaj dopiero sprawdzoną wersję. Dopisz do planu okno serwisowe i sposób powrotu do poprzedniego stanu.

Brak inwentaryzacji modułów własnych — nikt nie wie, które moduły pochodzą z marketplace, a które napisał wcześniejszy wykonawca.

Jak wykryć: W panelu modułów nie ma informacji o autorze, a katalog /modules zawiera katalogi bez zgodnej wersji w repozytorium.

Jak naprawić: Zrób eksport listy modułów z wersjami i oznacz te, które nie występują w oficjalnym katalogu. Własne moduły trzeba przepisać lub dostosować ręcznie — to najczęstsze źródło opóźnień.

Mieszanie trzech rodzajów migracji w jednym projekcie: wersji, hostingu i platformy.

Jak wykryć: W briefie jest jedno słowo „migracja” bez wskazania, czy zmienia się wersja PrestaShop, serwer, czy cała platforma.

Jak naprawić: Rozdziel zakres na osobne etapy i wyceń każdy z nich. Zmiana hostingu bez zmiany wersji to inne ryzyko i inny czas niż przejście na WooCommerce.

Założenie, że przejście PrestaShop → WooCommerce odwzoruje produkty 1:1.

Jak wykryć: Sklep używa kombinacji produktowych (rozmiar, kolor, materiał) i cenników grupowych B2B.

Jak naprawić: Zrób mapowanie atrybutów i wariantów na papierze przed importem: co staje się atrybutem, co wariantem, a co osobnym produktem. W WooCommerce nie ma 1:1 odpowiednika kombinacji, więc część logiki cennika trzeba zaprogramować od nowa.

Migracja bez mapy URL i planu przekierowań 301.

Jak wykryć: Brak eksportu zaindeksowanych adresów z Google Search Console i brak listy adresów generujących kliknięcia.

Jak naprawić: Przed startem wyeksportuj adresy z GSC i ruch z analityki, a po wdrożeniu ustaw przekierowania 301 na nowe adresy. Monitoring 404 prowadź co najmniej przez kilka tygodni po zmianie.

Podnoszenie wersji PHP i PrestaShop w tym samym kroku, bez sprawdzenia zgodności modułów.

Jak wykryć: W planie jest jedna data wdrożenia dla nowego PHP, nowej wersji sklepu i nowego szablonu.

Jak naprawić: Rozłóż zmiany na etapy: najpierw zgodne PHP w docelowej wersji sklepu, potem sam upgrade, na końcu szablon i moduły. Sprawdź wymagania każdego modułu w dokumentacji producenta, zanim cokolwiek uruchomisz.

Lista kontrolna do odklikania

Podsumowanie

Największym ryzykiem w migracji sklepu PrestaShop nie jest sam upgrade, a brak inwentaryzacji przed nim. Spisanie 12 punktów audytu i mapy URL zajmuje kilka godzin, ale oszczędza dziesiątki godzin poprawek po wdrożeniu. Jeśli sklep ma własne moduły, integracje ERP, multistore lub cenniki B2B, licz się z zakresem 40–120 godzin, a nie kilkoma klikami. Gdy problemem jest wyłącznie hosting i brak aktualizacji, tańsza bywa naprawa obecnej instalacji w 20–40 godzin niż zmiana platformy.

Najczęściej zadawane pytania

Ile trwa migracja sklepu PrestaShop?

Dla sklepu bez własnych modyfikacji sam upgrade wersji to zwykle kilka godzin pracy plus testy. Gdy dochodzą własne moduły, integracje z ERP, multistore lub cenniki B2B, realny zakres rośnie do 40–120 godzin. Dodaj do tego czas na testy i okres monitoringu po wdrożeniu — to nie jest część, którą można pominąć.

Czy oficjalny moduł 1-Click Upgrade jest bezpieczny?

Jest dobrym rozwiązaniem w sklepach bez modyfikacji w plikach core i bez własnych modułów. Wymaga środowiska testowego, wyłączonego cache i kopii bazy, do której możesz wrócić. Przy dużej liczbie nadpisań szablonu lub porzuconych modułów upgrade narzędziem bywa szybszą drogą do awarii niż ręczna migracja kontrolowana krok po kroku. Dokumentacja techniczna jest dostępna w PrestaShop Developer Documentation.

Czy migracja PrestaShop do WooCommerce zawsze się opłaca?

Nie. Ma sens wtedy, gdy potrzebujesz zaplecza treściowego i integracji z ekosystemem WordPressa albo gdy utrzymanie PrestaShop jest dla Ciebie zbyt drogie. Nie pomoże, jeśli problemem jest słaba oferta, brak ruchu albo hosting, którego nie da się rozbudować. W takich przypadkach tańsza bywa naprawa obecnej instalacji — zwykle 20–40 godzin — zamiast przepisywania sklepu.

Co z SEO po migracji sklepu PrestaShop?

Największe ryzyko to zgubione adresy i brak przekierowań 301. Przed startem wyeksportuj mapę URL i dane z GSC, a po wdrożeniu pilnuj błędów 404 i czasu odpowiedzi serwera. Warto też sprawdzić, czy nowa wersja nie pogorszyła Core Web Vitals — Google opisuje to w dokumentacji Core Web Vitals.

Czy da się przenieść sklep na nowy hosting bez zmiany wersji?

Tak i to zwykle najbezpieczniejszy scenariusz. Kluczowe jest odtworzenie tej samej wersji PHP oraz MySQL/MariaDB na nowym serwerze, poprawne skopiowanie plików i bazy oraz aktualizacja wpisów w ps_configuration i ps_shop_url. Jeśli parametry środowiska różnią się od starych, sklep może wystartować, ale część modułów przestanie działać.

Kiedy potrzebny jest deweloper, a nie samodzielna migracja?

Gdy sklep ma własne moduły, niestandardowe płatności, integracje z ERP lub księgowością, multistore albo cenniki grupowe B2B. W takich projektach praca bezpośrednio z deweloperem, bez pośredników, skraca czas, bo jedna osoba zna strukturę bazy i modułów oraz odpowiada za wdrożenie. Samodzielnie da się bezpiecznie przejść prosty sklep na nowy hosting lub podnieść wersję bez modyfikacji.

Od czego zacząć, jeśli nie wiem, czy migrować?

Od audytu i porównania nakładu pracy. Jeśli wąskim gardłem jest hosting, brakuje treści albo ruchu, migracja platformy nie rozwiąże problemu. Jeśli blokują Cię niewspierane wersje PHP, brak aktualnych modułów płatności albo wolny TTFB, migracja ma sens. Spisanie 12 punktów audytu zajmuje kilka godzin i zwykle wystarcza do podjęcia decyzji.

Jeśli chcesz najpierw wiedzieć, czy w Twoim przypadku wystarczy naprawa i zmiana hostingu, czy potrzebna jest pełna migracja — opisz stan sklepu, a odpowiemy konkretnie, bez zgadywania. Punkt startowy z opisem ścieżek znajdziesz w sekcji Migracje PrestaShop.

Źródła i materiały