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.
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ę.
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ć.
| Kryterium | Wersja (1.6 → 8.x) | Hosting | Platforma (→ WooCommerce) |
|---|---|---|---|
| Moduły własne (nie z marketplace) | 2–5 modułów to 8–20 h pracy | bez zmian, przenosisz 1:1 | każdy trzeba zastąpić wtyczką lub napisać od nowa |
| Zamówienia w bazie | do 50 tys. – przenoszone w oknie serwisowym | bez zmian | zwykle zostają w archiwum, nie przenoszą się |
| Multistore | testujesz każdy sklep osobno | bez zmian, sprawdź domeny i DNS | WooCommerce Multisite albo osobne instalacje |
| B2B z cennikami grupowymi | zostaje, jeśli moduł ma wersję na 8.x | bez zmian | konfiguracja od zera, wymaga wtyczki |
| Czas i ryzyko SEO | 40–80 h, ryzyko średnie | 10–25 h, ryzyko niskie | 80–120 h, ryzyko wysokie |
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ą.
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.
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.
| Metoda | Kiedy wystarczy | Typowy czas | Główne ryzyko |
|---|---|---|---|
| 1-Click Upgrade | standardowy sklep, brak modyfikacji core i własnych modułów | 1–3 h + testy | niekompatybilny moduł po zmianie PHP, nadpisane pliki szablonu |
| Migracja ręczna | przeniesienie na inny hosting bez zmiany wersji | 0,5–1 dnia | błędny prefiks tabel, pominięte wpisy w ps_configuration i ps_shop_url |
| Z deweloperem | własne moduły, płatności, ERP, multistore, B2B | od kilku dni do 2 tygodni | zakres prac trudny do zamknięcia w sztywnym cenniku |
Kolejność jest ważniejsza niż tempo. Każdy krok kończy się weryfikacją, zanim przejdziesz do następnego.
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.X-Robots-Tag: noindex lub hasłem na poziomie serwera — sam robots.txt nie wystarczy, bo nie blokuje wejścia po linku./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.ps_configuration (PS_SHOP_DOMAIN, PS_SHOP_DOMAIN_SSL, ustawienia serwisowe), ps_shop_url (domain, domain_ssl, physical_uri) oraz konta w ps_employee./var/cache, usunięcie plików instalacyjnych z produkcji.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łanie | Cel |
|---|---|---|
| stara kategoria /66-akcesoria | 301 | nowa kategoria /akcesoria |
| /index.php?id_product=123&controller=product | 301 | docelowy przyjazny URL produktu |
| parametr sortowania ?orderby=price | bez 301 | 200 + canonical na wersję bazową |
| usunięty produkt bez następcy | 301 | najbliższa kategoria, nigdy strona główna |
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.
mail(). SPF i DKIM, test na Gmailu i Outlooku — czy nie wpada do spamu.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.
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.
| Scenariusz | Nakład pracy | Realny czas z testami |
|---|---|---|
| Sklep do 500 produktów, brak modułów własnych | 20–40 h | 2–5 dni roboczych |
| Sklep 500–5000 produktów z modułami własnymi | 60–120 h | 2–4 tygodnie |
| Sklep B2B / multistore / integracja ERP | 120–250 h | liczony w tygodniach |
| Zmiana hostingu bez upgrade'u wersji | 8–20 h | 1–2 dni plus testy |
| PrestaShop → WooCommerce | 80–200 h | 3–6 tygodni |
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.
| Element | Minimalny sensowny poziom | Pytanie kontrolne |
|---|---|---|
| Monitoring | dostępność, TTFB, błędy PHP, alerty 24/7 | Kto odbiera alert o 3:00? |
| Backup | codziennie baza i pliki, retencja 30 dni | Kiedy ostatnio odtwarzaliście kopię? |
| Aktualizacje | okno serwisowe, kopia, procedura rollbacku | Co robicie, gdy aktualizacja psuje sklep? |
| SLA | reakcja 1 h / naprawa 8 h dla krytycznych | Co wpisujecie w definicję „krytyczne”? |
| Kontakt | deweloper prowadzący, nie call center | Kto zna nasze modyfikacje szablonu? |
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.
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.
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ąć.
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.
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.
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.
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ć.
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 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.