PrestaShop w Narolu ma sens wtedy, gdy sklep ma rosnąć: więcej SKU, kilka kanałów sprzedaży, sprzedaż B2B albo magazyn, z którym trzeba się synchronizować. Wdrożenie nowego sklepu i migracja ze starego CMS-a to dwie różne prace — inny nakład godzin, inne ryzyko SEO, inny zakres testów. Ten tekst jest częścią organizacyjną: pokazuje, jak ułożyć projekt i w których momentach klient podejmuje decyzje. Nie ma tu obietnicy „wdrożenia w tydzień” — są etapy, widełki godzinowe i punkty kontrolne. Podobną organizację projektu opisaliśmy przy okazji wdrożeń PrestaShop w Bełżcu oraz projektów realizowanych w Lublinie.

Wdrożenia i migracje PrestaShop w Narolu — od czego zacząć

Ustal, w którym z trzech scenariuszy jesteś — od tego zależą godziny, ryzyko i kolejność prac.

Wersje: nowe wdrożenia robimy na PrestaShop 8.x, bo to aktualna linia rozwojowa. Gałąź 1.7 nie jest już rozwijana, a wsparcie bezpieczeństwa dla niej zostało zakończone — migracja z 1.7 ma więc sens także wtedy, gdy nie zmieniasz niczego innego. Aktualny status wsparcia i wymagania PHP/MySQL sprawdź w dokumentacji dla deweloperów PrestaShop, bo zmieniają się przy każdym wydaniu.

Trzy kryteria decyzyjne. Liczba SKU: poniżej 500 — najpierw policz, czy obecna platforma nie wystarczy; 500–5000 — PrestaShop pracuje komfortowo, kluczowe są warianty i wydajność bazy; powyżej 5000 — dochodzi import, indeksy i zwykle zewnętrzny PIM albo ERP, bo ręczne zarządzanie katalogiem się kończy. Kanały sprzedaży: jeden sklep to jedno wdrożenie; sklep plus marketplace i porównywarki to już integracje i osobne testy. Obsługa B2B: grupy klientów, indywidualne cenniki, rabaty ilościowe, płatność odroczona i zamówienia na fakturę — jeśli tego brakuje w obecnym systemie, to zwykle główny powód przejścia na PrestaShop.

Jak wygląda ta sama organizacja projektu w mniejszym mieście, pokazujemy na przykładzie wdrożeń i migracji PrestaShop w Krasnobrodzie.

Wdrożenie nowego sklepu vs migracja — co wybrać w Twojej sytuacji

Obie ścieżki kończą się tym samym: działającym sklepem na PrestaShop 8.x. Różni je nakład pracy i ryzyko — poniżej konkretne liczby.

Migracja jest tańsza niż przepisanie od zera wtedy, gdy katalog ma wartość: setki opisów, zdjęcia, cechy, kategorie z historią i zaindeksowane adresy URL. Jeśli dane wychodzą z WooCommerce, Shopera albo IdoSell jako CSV lub XML, płacisz głównie za mapowanie i przeniesienie, a nie za odtwarzanie treści. Warunek: stara platforma pozwala wyeksportować klientów, zamówienia i stany magazynowe.

Przepisanie od zera wygrywa w dwóch przypadkach. Pierwszy: baza jest śmietnikiem — duplikaty SKU, brak EAN, tysiące produktów bez zdjęć i opisów. Czyszczenie takiego katalogu zajmie więcej niż ponowne wgranie danych. Drugi: struktura kategorii i URL-i jest tak chaotyczna, że lepiej zbudować ją od nowa i ręcznie przygotować mapę przekierowań na nowe adresy.

Sygnały, że obecna platforma blokuje rozwój: brak API (REST) do ERP albo magazynu, brak modułów do obsługi B2B i wielowalutowości, ręczne wystawianie faktur, wolne działanie na karcie produktu i w koszyku. Każdy z tych punktów oznacza pracę, której nie da się rozwiązać konfiguracją. Przy migracji kod odpowiedzi ma znaczenie: stare adresy muszą zwracać trwałe przekierowania, nie 404 — różnicę wyjaśnia dokumentacja MDN dotycząca HTTP, w tym kodu 301.

Jeśli szukasz punktu odniesienia dla większego rynku, zobacz nasze wdrożenia i migracje PrestaShop w Lublinie, a dla porównania projekt w mniejszym mieście: organizacja wdrożenia PrestaShop w Biłgoraju.

KryteriumNowy sklep od zeraMigracja z istniejącej platformy
Praca (roboczogodziny)90–200 h: konfiguracja, szablon, treści, integracje, pełne testy40–140 h: to samo plus mapowanie danych i URL-i, ale z gotowym katalogiem
Ryzyko SEONiskie technicznie, wysokie biznesowo: nowa struktura i indeksacja od zeraWysokie bez mapy przekierowań; przy poprawnej mapie zwykle 2–6 tygodni wahań widoczności
KosztZwykle wyższy — płacisz też za opisy, zdjęcia i treści, jeśli ich nie maszNiższy przy czystych danych; wyższy, gdy katalog trzeba czyścić i odtwarzać opisy
Zakres testówPłatności, dostawy, podatki, e-maile, wydajność, mobile, dane strukturalneTo samo plus zgodność cen i stanów, historia zamówień, kody 301, stare linki, sitemap, feedy
Kiedy wygrywaGdy katalog i treści są do wyrzucenia, a adresy URL nie mają wartościGdy katalog ma wartość, dane wychodzą w CSV/XML, a URL-e są zaindeksowane

Proces wdrożenia PrestaShop krok po kroku — etapy i godziny

Poniżej rozkład prac dla sklepu do około 2000 SKU, jednego języka, jednej waluty, płatności online plus przelew i integracji z jednym systemem magazynowym. Widełki są szerokie, bo różnicę robi jakość danych wejściowych i liczba integracji.

Łącznie typowy projekt to 80–260 roboczogodzin. Jeśli oferta mówi o 30–40 godzinach na pełny sklep, zapytaj, czego w niej nie ma — najczęściej wypadają testy, e-maile transakcyjne, konfiguracja podatków, mapa 301 i dane strukturalne. Przykład podobnego rozkładu prac w innym mieście: organizacja wdrożenia PrestaShop w Józefowie.

Migracja ze starej platformy — co przenosi się samo, a co trzeba przepisać

Najczęstsze złudzenie przy migracji do PrestaShop brzmi: „to się po prostu przekopiuje”. Nie przekopiuje się. Zaczynamy od inwentaryzacji: ile SKU, ile kombinacji, ile zamówień, ile podstron CMS. Dopiero potem wybieramy kanał przenoszenia — eksport z bazy źródłowej do CSV (szybko i tanio, gdy mamy dostęp do bazy albo eksportu w panelu) albo API sklepu źródłowego (wolniej, ale gdy baza jest zamknięta na hostingu współdzielonym, to jedyna droga).

DaneKanał przenoszeniaNa co uważać
Produkty (SKU, ceny, opisy)CSV/XML do ps_product i ps_product_langopisy HTML czyścimy z pozostałości edytora źródłowego
KategorieCSV z drzewem kategoriikolejność i zagnieżdżenie sprawdzamy ręcznie po imporcie
Atrybuty i kombinacjeCSV: grupy, wartości, kombinacjeceny i stany siedzą na kombinacji, nie na produkcie — najczęstsze źródło błędów
KlienciCSV do ps_customer, hasła w kolumnie passwdbrak zgodnego hasha = wymuszony reset hasła
ZamówieniaCSV/SQL do ps_orders, ps_order_detail, ps_order_historyustalamy z góry, czy przenosimy całą historię, czy np. 12 miesięcy
Stany magazynoweCSV do ps_stock_availablenadpisujemy po testach — inaczej rozjadą się przy pierwszej synchronizacji z ERP
Treści CMSCSV/import do ps_cmslinki wewnętrzne w treściach trzeba przejrzeć osobno
Zdjęciapliki + CSV z nazwamiPrestaShop trzyma zdjęcia w strukturze /img/p/ według ID; po imporcie regenerujemy miniatury

Integracje, które decydują o tym, czy sklep działa: InPost, DPD, DHL, ERP, płatności

Najwięcej problemów po starcie nie wynika z samego PrestaShop, a z integracji. Dlatego planujemy je w pierwszym tygodniu projektu, nie w ostatnim. Każda integracja ma trzy elementy do przetestowania: wystawienie danych, pobranie danych z powrotem i zachowanie przy błędzie.

W rejonie Narola liczba punktów odbioru w promieniu kilkunastu kilometrów bywa mała — nie zakładamy tego z góry, tylko sprawdzamy realną listę punktów zwracaną przez API i testujemy widget na telefonie. Jeśli mapa ładuje się wolno, klient rezygnuje z koszyka.

Płatności: Przelewy24, PayU, Autopay — wymagają umowy i weryfikacji sklepu (regulamin, polityka prywatności, dane firmy, działający SSL). Czas akceptacji zależy od operatora i kompletności dokumentów, więc wniosek składamy równolegle z pracami, nie po nich. BLIK obsługujemy przez operatora płatności — osobna integracja zwykle nie ma sensu. Płatności odroczone (np. PayPo) podnoszą konwersję koszyka, ale mają wyższą prowizję, dłuższą akceptację i wymagają zapisów w regulaminie.

ERP (Subiekt GT/nexo, Comarch, WAPRO): stany co 5–15 minut, zamówienia co 15–60 minut albo webhookiem, dokument sprzedaży i numer przesyłki z powrotem do ERP. Konflikt numer jeden to brak rezerwacji w ERP — rozwiązaniem jest bufor stanu 1–2 szt. albo rezerwacja po stronie sklepu. Własny moduł piszemy wtedy, gdy roczna licencja wtyczki plus czas na obejścia przekracza w 1–2 lata koszt napisania i utrzymania modułu.

Ile realnie kosztuje wdrożenie PrestaShop — widełki godzinowe

Widełki są po to, żeby porównywać oferty w tych samych jednostkach — godzinach, a nie „pakietach”. Poniżej zakresy, które w praktyce pokrywają większość projektów. Górna granica widełek to nie straszak, a miejsce na rzeczy, których nie widać przed zajrzeniem do bazy danych.

ZakresWidełkiCo podnosi górną granicę
Prosty sklep do 300 SKU, 1 kurier, 1 płatność60–120 hliczba kombinacji, treści do przepisania
Średni: 300–3000 SKU, 2–3 integracje, B2B/ceny grupowe120–300 himport danych, indywidualny layout
Rozbudowany: ERP, multi-store, kilka kanałów300–600 hkonflikty w synchronizacji, zakres testów

SEO techniczne i przekierowania 301 — jak nie stracić pozycji przy migracji

Mapowanie starych adresów na nowe to pierwszy dokument w projekcie — powinien powstać, zanim ruszy kodowanie szablonu. Zbierz dane z dwóch źródeł: logów serwera (access_log z ostatnich 90 dni) i Search Console (Wydajność → Wyniki wyszukiwania → zakładka Strony). Z logów wyciągnij ścieżki zwracające kod 200 i policz wejścia; z GSC adresy z klikami i wyświetleniami. Po scaleniu masz arkusz: stary URL, ruch miesięczny, nowy URL, typ (produkt, kategoria, strona CMS), reguła.

Przykład reguł w .htaccess dla PrestaShop 1.7/8.x — na górze pliku, po RewriteEngine On i RewriteBase /:

RewriteRule ^stara-kategoria/(.*)$ /nowa-kategoria/$1 [R=301,L]
RewriteRule ^stary-produkt\.html$ /nowa-kategoria/nowy-produkt.html [R=301,L]
RedirectPermanent /stara-strona-cms.html /nowa-strona-cms.html

Trzy pułapki. Pierwsza: pętla — jeśli wzorzec starego adresu nadal pasuje do nowego URL-a, przekierowanie zawraca i przeglądarka pokazuje „zbyt wiele przekierowań”. Testuj każdą regułę pojedynczo. Druga: 301 zapamiętują przeglądarki i Google, więc najpierw sprawdź całość jako 302 na stagingu, dopiero potem włącz 301 na produkcji. Trzecia: AllowOverride All i aktywny mod_rewrite — bez tego reguły milczą, a ty szukasz błędu w składni. Semantykę kodów przekierowania opisuje dokumentacja HTTP w MDN.

Kolejność po starcie: 1) przekierowania 301 razem ze zmianą DNS, 2) canonical — tylko self-referencing, 3) meta title i description z nowych szablonów, 4) sitemap.xml z nowymi adresami i robots.txt bez blokady stagingu, 5) kontrola raportu „Strony” w GSC po 7 i 30 dniach.

Parametry /id_product i /id_category możesz zostawić (mniej pracy, dłuższe adresy) albo wyłączyć w Preferencje → SEO i URL i budować czyste URL-e. Przy migracji z innego CMS-a mapowanie i tak robisz od zera, więc warto ciąć. Przy przejściu PrestaShop → PrestaShop z 20 000 SKU zostawienie ID oszczędza tygodnie pracy. Harmonogram takich prac opisaliśmy przy organizacji wdrożenia PrestaShop w Bełżcu.

Stary URLRuch/mies.Nowy URLTyp
/stara-kategoria/obuwie/1 240 wejść/buty-meskie/kategoria
/product.php?id_product=142310 wejść/buty-meskie/trzewiki-skora.htmlprodukt
/o-nas.html85 wejść/content/6-o-nasstrona CMS

Hosting, wydajność i opieka po starcie — SLA, kopie, aktualizacje

Hosting współdzielony wystarcza, gdy sklep ma do około 1000 SKU, do 10 000 wizyt miesięcznie i 1–3 osoby obsługi, a synchronizacja z hurtownią chodzi raz na godzinę. Powyżej tego progu bolą limity: jednoczesne połączenia MySQL, CPU na koncie, brak kontroli nad PHP-FPM. Wtedy VPS — minimum 2 vCPU, 4 GB RAM, dysk NVMe. Liczba workerów PHP-FPM to zwykle 2 × vCPU + 2, czyli przy 4 vCPU celuj w 10 procesów, nie w 40: nadmiar workerów przy zbyt małym RAM kończy się swapem i sklepem wolniejszym niż na hostingu współdzielonym. innodb_buffer_pool_size ustaw na 50–70% RAM. Serwer dedykowany ma sens przy 50 000+ SKU, katalogu synchronizowanym co kilka minut i ruchu ponad 100 000 wizyt miesięcznie.

Kopie: pełny backup bazy i plików codziennie, w innym miejscu niż produkcja (inny dostawca lub S3). Retencja: 7 kopii dziennych, 4 tygodniowe, 3 miesięczne. Raz na kwartał odtwarzasz kopię na stagingu i mierzysz czas. Cel: RPO 24 h, RTO poniżej 4 h. Backup, którego nikt nie odtworzył, to nie backup, a nadzieja.

Po starcie zostają aktualizacje. PrestaShop i moduły aktualizuj partiami po 3–5, nigdy wszystkie naraz w piątek. Testy na stagingu z kopią danych produkcyjnych (zanonimizowanych), okno serwisowe poza szczytem sprzedaży — np. wtorek 2:00–4:00, z włączonym trybem maintenance. Po każdej aktualizacji przechodzisz ścieżkę: koszyk → zamówienie → płatność → mail potwierdzający → faktura → stan magazynowy. Zakres opieki warto ustalić na piśmie, podobnie jak przy organizacji projektu wdrożenia PrestaShop w Lublinie.

Element SLAPakiet podstawowyPakiet rozszerzony
Czas reakcji8 h w dni robocze1 h, 24/7
Czas naprawy (awaria krytyczna)do 8 hdo 2 h
Kanał zgłoszeńe-mail / tickettelefon + ticket
Dyżur poza godzinamibrakwybrane okno czasowe
Aktualizacje PrestaShop i modułów1 raz w miesiącu2 razy w miesiącu + pilne łatki

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

Zamawianie migracji bez inwentaryzacji starego sklepu

Jak wykryć: Wycena powstaje po jednej rozmowie, bez eksportu listy produktów, kombinacji, kategorii i zainstalowanych modułów. W ofercie nie ma pozycji „analiza danych źródłowych”.

Jak naprawić: Przed wyceną zrób eksport SKU wraz z kombinacjami, listę kategorii, listę modułów i integracji oraz zrzut struktury URL-i. Dopiero na tej podstawie licz godziny — inwentaryzacja zajmuje 8–16 h i realnie skraca resztę projektu.

Traktowanie migracji jak kopiuj-wklej

Jak wykryć: W ofercie jest jedna zbiorcza pozycja „migracja danych” bez rozbicia na produkty, kombinacje, klientów, zamówienia i stany magazynowe. Nikt nie pyta o hasła klientów ani o mapowanie pól.

Jak naprawić: Zamień jedną pozycję na tabelę: co przenosi się automatycznie, co wymaga mapowania, a co trzeba odtworzyć ręcznie. Zapytaj wprost, jak wykonawca zamierza przenieść kombinacje atrybutów i czy zachowa powiązania produkt–kategoria.

Brak planu przekierowań 301 przed wyłączeniem starego sklepu

Jak wykryć: Nie istnieje plik z listą starych adresów URL. Po przełączeniu w Google Search Console pojawiają się błędy 404 na adresach, które wcześniej generowały ruch.

Jak naprawić: Zbierz adresy z sitemap.xml starego sklepu i z GSC, przygotuj mapowanie 1:1 na nowe URL-e i wgraj przekierowania przed startem. Sprawdź losowo 30–50 adresów, zanim domenę przełączysz na produkcję.

Wymuszony reset hasła klientów bez uprzedzenia

Jak wykryć: Po starcie rośnie liczba zgłoszeń „nie mogę się zalogować”, a w statystykach widać spadek logowań i porzucenie koszyków u stałych klientów.

Jak naprawić: Zaplanuj kampanię mailową na 3–5 dni przed startem i drugą po starcie, z jasną informacją, dlaczego hasło trzeba ustawić ponownie i jak to zrobić w dwóch krokach. Dodaj widoczny link do resetu w mailu, nie tylko na stronie logowania.

Start prac bez dostępów i decyzji po stronie klienta

Jak wykryć: Pierwszy tydzień projektu schodzi na czekanie na dostępy do DNS, bazy danych, panelu starego sklepu albo dane do API kuriera. Wykonawca raportuje „blokada”, a harmonogram się przesuwa.

Jak naprawić: Ustal jedną listę dostępów z terminem ich przekazania i jedną osobę decyzyjną po stronie firmy. Zbierz też konta sandbox u operatorów płatności i kurierów, zanim zacznie się etap integracji.

Wybór wtyczki do ERP tylko po cenie zakupu

Jak wykryć: Moduł kosztuje jednorazowo kilkaset złotych, ale ma roczną licencję albo płatne aktualizacje przy każdej nowej wersji PrestaShop. Przy dwóch integracjach koszt utrzymania przewyższa koszt pierwszego wdrożenia.

Jak naprawić: Policz koszt trzyletni: zakup plus licencja roczna plus godziny na aktualizacje po każdej zmianie wersji. Jeśli synchronizacja stanów działa w nietypowy sposób, taniej bywa zamówić moduł na własność niż co roku łatać wtyczkę.

Lista kontrolna do odklikania

Podsumowanie

Najczęstszą przyczyną przekroczonego budżetu nie jest sam PrestaShop, tylko brak inwentaryzacji przed wyceną i brak punktów kontrolnych w trakcie. Rozbij projekt na etapy z widełkami godzinowymi i żądaj akceptacji każdego z nich, zanim ruszy następny. Migracja jest tańsza od przepisania sklepu wtedy, gdy dane da się wyeksportować i zmapować — jeśli trzeba odtwarzać katalog i opisy ręcznie, przewaga znika. Zanim podpiszesz umowę, ustal też plan przekierowań i sposób przeniesienia haseł klientów.

Najczęściej zadawane pytania

Czy PrestaShop 1.7 nadal nadaje się do pracy w 2025 roku?

1.7 to gałąź, która nie jest już rozwijana w kierunku nowych funkcji — nowe moduły i szablony celują w 8.x. Sklep na 1.7 może działać, ale z czasem rośnie ryzyko: część wtyczek przestaje być aktualizowana, a hostingi podnoszą wymagania PHP. Jeśli nadal na nim pracujesz, potraktuj to jako powód do zaplanowania migracji w perspektywie miesięcy, nie lat. Dokładny status wsparcia konkretnej wersji sprawdź w dokumentacji PrestaShop.

Czy migracja do PrestaShop zaszkodzi pozycjom w Google?

Sama zmiana platformy nie szkodzi — szkodzi brak przekierowań i zmiana struktury URL-i bez mapowania. Jeśli przygotujesz listę starych adresów, ustawisz przekierowania 301 i nie zgubisz treści opisów, ruch zwykle wraca do poziomu sprzed migracji w ciągu kilku tygodni. Największe ryzyko to adresy generowane dynamicznie oraz parametry filtrów, które trzeba potraktować osobno.

Czy da się przenieść hasła klientów bez ich resetowania?

To zależy od platformy źródłowej. Jeśli masz dostęp do bazy i hasła są zapisane w formacie, który PrestaShop obsługuje (np. bcrypt), hashe można przenieść i klienci logują się jak wcześniej. Jeśli hasła są solone w nietypowy sposób albo platforma ich nie eksportuje, pozostaje wymuszony reset. Wtedy liczba logowań spadnie na 1–2 tygodnie i trzeba to kupującym jasno zakomunikować.

Czy przenosić też zamówienia i historię zakupową?

Zamówienia da się przenieść, ale to najbardziej pracochłonna część migracji, bo wiąże się z klientami, produktami i statusami. W wielu projektach przenosi się samych klientów i stany magazynowe, a historię zamówień zostawia w starym sklepie jako archiwum do wglądu. Decyzję podejmij na etapie discovery — zależy od tego, czy klient obsługuje reklamacje i zwroty w panelu.

Ile godzin trzeba zarezerwować na całe wdrożenie PrestaShop?

Jako punkt odniesienia: prosty sklep do około 300 SKU to 60–120 h, średni projekt 120–300 h, a rozbudowany sklep z B2B i integracją ERP może przekroczyć 400 h. Do tego dochodzi discovery i analiza (8–16 h), migracja danych (8–40 h) i testy odbiorcze (8–24 h). Jeśli oferta mieści całość w 40 h, prawdopodobnie pominięto część etapów.

Kiedy opłaca się napisać własny moduł zamiast kupować wtyczkę?

Wtedy, gdy gotowe rozwiązanie wymaga obejść, ma roczną licencję droższą niż jednorazowy development albo nie obsługuje Twojego procesu (np. nietypowa synchronizacja stanów z Subiektem). Policzyć trzeba koszt trzyletni: zakup, licencje, aktualizacje i godziny wsparcia. Jeśli suma przekracza koszt modułu pisanego na zamówienie, własny moduł bywa tańszy — ale wymaga dostępu do kodu źródłowego i kogoś, kto go utrzyma.

Czy wdrożenie PrestaShop w Narolu różni się od projektu w większym mieście?

Sam proces techniczny jest taki sam — różnice są logistyczne. Częściej pracuje się zdalnie, a część klientów woli jedno spotkanie na miejscu na starcie i potem kontakt online. Warto wtedy tym mocniej pilnować punktów kontrolnych: przy pracy zdalnej łatwiej przeoczyć decyzje, które normalnie zapadłyby przy biurku. Organizacyjnie opisaliśmy to przy projektach w Józefowie i Krasnobrodzie.

Jeśli chcesz sprawdzić, ile realnie zajmie wdrożenie lub migracja w Twoim przypadku, prześlij nam liczbę SKU, listę integracji i wersję obecnej platformy — odpowiemy widełkami godzinowymi, nie ogólnikami. Możesz też zajrzeć do opisów organizacji projektów w Biłgoraju i Frampolu, żeby zobaczyć, jak układamy etapy.

Źródła i materiały