Wdrożenie WooCommerce w Narolu zaczyna się od trzech liczb: ile masz produktów, ile stref dostawy i ile metod płatności. Od nich zależy, czy projekt zamknie się w 45 godzinach, czy przekroczy 100. Ten tekst to część organizacyjna — zbieramy w nim błędy, które najczęściej podnoszą koszt, checklistę ustaleń przed startem i pytania, które warto zadać wykonawcy. Konkrety techniczne i optymalizację opisujemy w kolejnych sekcjach.
Narol leży w powiecie lubaczowskim, kilkadziesiąt kilometrów od przejścia granicznego w Hrebennem. To nie ozdobnik — przygraniczne położenie realnie zmienia zakres projektu, bo dochodzą wersje językowe, wagi produktów i wysyłka za granicę. Zanim ktoś poda ci cenę, powinien zapytać o trzy rzeczy: liczbę produktów, liczbę stref dostawy i liczbę metod płatności.
Trzy sylwetki klientów, które widzimy najczęściej w tym rejonie:
Każda strefa dostawy to osobny zestaw reguł: zakres kodów pocztowych, próg darmowej dostawy, cennik wg wagi. Do tego dochodzi integracja z kurierem — InPost Paczkomaty, DPD, DHL. Sprawny, oficjalny moduł to 3–5 godzin na kuriera. Porzucony moduł albo brak API to 8–12 godzin, bo trzeba pisać własne łączenie i mapować statusy przesyłek. Trzy strefy i trzech kurierów potrafią więc zjeść 20 godzin, zanim dotkniesz produktów.
Sklep z 50 produktami prostymi robi się ręcznie w kilka godzin. 5000 SKU to zupełnie inna praca: zwykle 200 produktów nadrzędnych i po 20–25 wariantów, generowanych z atrybutów. Import z pliku CSV z wariantami wymaga poprawnych kolumn nadrzędnych, inaczej dostajesz 5000 osobnych produktów do ręcznego scalania. Podobny zakres w innych gminach regionu opisujemy przy okazji wdrożenia WooCommerce w Bełżecu oraz wdrożenia WooCommerce w Józefowie — warto porównać, bo różnice wynikają głównie z liczby stref i wariantów, a nie z samej miejscowości.
| Typ projektu | Produkty | Strefy / kurierzy | Orientacyjny czas |
|---|---|---|---|
| Sklep lokalny B2C | 50–300, proste | 1–2 strefy, 1–2 kurierów | 40–50 h |
| B2B, katalog na zapytanie | 300–1500 | 1–2 strefy, 1 kurier | 60–80 h |
| Sprzedaż transgraniczna | 1000+ z wariantami | 3+ strefy, 3 kurierzy | 80–120 h |
Zamiast ceny „od” podajemy godziny. To jedyny sposób, żebyś mógł porównać dwie oferty bez zgadywania, co siedzi w środku. Trzy realne przedziały: prosty sklep MŚP 40–60 h, sklep z integracjami i logiką B2B 60–80 h, sklep z wariantami i wielojęzycznością 80–120 h.
Na co schodzą te godziny w typowym projekcie 40–60 h:
Co podnosi wycenę najbardziej: moduł pisany na zamówienie (15–60 h), migracja z działającego sklepu na innej platformie (10–30 h, zależnie od jakości danych), integracja z ERP typu Subiekt czy Comarch Optima (20–60 h) oraz import z CSV o złej strukturze — brak kolumn dla wariantów, ceny z przecinkiem, duplikaty SKU. To ostatnie potrafi dodać 10–20 godzin czyszczenia, których nikt nie policzył na starcie. Podobne różnice widać przy projektach we Frampolu i w Biłgoraju, gdzie kluczowa okazała się nie liczba produktów, a liczba integracji.
Rozliczenie godzinowe jest dla klienta bezpieczniejsze niż sztywna cena „pod klucz”. Przy stałej cenie wykonawca, który się pomylił, ma dwie drogi: ucina zakres albo dopisuje „prace dodatkowe” po fakcie. Przy rozliczeniu godzinowym widzisz kartę pracy i wiesz, za co płacisz — a jeśli budżet się kończy, po prostu zatrzymujesz projekt na ustalonym etapie i wracasz do niego później.
| Wariant | Godziny | Co wchodzi | Typowe ryzyko |
|---|---|---|---|
| Prosty sklep MŚP | 40–60 h | WP + Woo, szablon kupiony, 50–300 produktów, 1 kurier, 2 płatności | Import CSV wymagający czyszczenia |
| Integracje + B2B | 60–80 h | role hurtowe, ceny netto, ERP/księgowość, 2–3 kurierzy | Integracja ERP zaskakuje zakresem |
| Warianty + wielojęzyczność | 80–120 h | 5000+ SKU, atrybuty, 2–3 języki, 3 strefy i kurierzy | Migracja danych i tłumaczenia treści |
Kolejność prac w naszych projektach jest stała: środowisko staging → WordPress → WooCommerce → szablon → produkty → płatności → kurierzy → testy → publikacja. Jeśli wykonawca zaczyna od produktów i szablonu, a hosting „ogarnie się później”, to znak, że testy wypadną na środowisku produkcyjnym. Tak nie powinno być.
Parametry startowe hostingu, które sprawdzamy przed pierwszym commitem:
memory_limit minimum 256 MB, przy importach 512 MB,Staging musi mieć kopię bazy produkcyjnej, żeby dane były realistyczne: te same kategorie, te same kody pocztowe w strefach, te same wagi. Ale z wyłączonymi trzema rzeczami. Po pierwsze wysyłka do kurierów — klucze API w trybie sandbox albo moduł wyłączony, żeby test nie wygenerował prawdziwej etykiety i nie naliczył kosztu. Po drugie płatności — wyłącznie tryb testowy bramki. Po trzecie maile — wtyczka przekierowująca całą korespondencję na jeden adres testowy, żeby klient nie dostał potwierdzenia zamówienia o wartości 12 000 zł. Dodatkowo staging blokujemy w robots.txt i ustawiamy noindex, aby nie konkurował z docelową stroną.
Kryteria akceptacji przed publikacją są krótkie i mierzalne: pusty debug.log, poprawne maile transakcyjne (nowe zamówienie, zmiana statusu, anulowanie), działający druk etykiety kurierskiej, poprawnie liczony koszt dostawy w każdej strefie oraz złożone zamówienie testowe jako gość i jako zalogowany klient. Dopiero po tym klikamy publikację. Ten sam schemat stosujemy przy wdrożeniach WooCommerce w Lublinie i w Zwierzyńcu — różni się tylko liczbą stref i modułów.
| Etap | Efekt na wyjściu | Czym się kończy |
|---|---|---|
| Staging + hosting | PHP 8.2+, MySQL 8 / MariaDB 10.6, OPcache, backup | Akceptacja parametrów technicznych |
| WP + Woo + szablon | Działający szkielet sklepu z wyglądem | Zatwierdzenie wyglądu na 3 podstronach |
| Produkty | Katalog z cenami, wariantami, wagami | Import CSV i weryfikacja 10 losowych SKU |
| Płatności i kurierzy | Tryb testowy bramki i API kuriera | Testowa etykieta i transakcja sandbox |
| Testy i publikacja | Pusty debug.log, poprawne maile, zamówienie gościa | Przekazanie do obsługi + szkolenie |
Zanim zaczniesz cokolwiek przyspieszać, ustal, gdzie realnie tracisz sekundy. Poniżej siedem miejsc, które najczęściej psują czas ładowania sklepu na WooCommerce — każde z narzędziem do wykrycia.
wp_postmeta i brak indeksów. Filtry po atrybutach przy 10 tys. produktów generują zapytania po 0,8–2 s. Włącz Query Monitor (zakładka Queries, sortowanie po czasie) oraz slow query log (long_query_time = 1). Powtarzalny wzorzec w logu → indeks na meta_key i cache wyniku w transient na 15–30 min. Testuj na kopii bazy, nie na produkcji./cart i /checkout. Bloki koszyka dociągają React i potrafią dołożyć 1–2 s względem klasycznego szablonu.img ma atrybuty srcset oraz sizes./kategoria/ i /?product_cat= oraz pod adresami z parametrami filtrów. Rozwiązanie: canonical, noindex na widoki filtrowane, normalne linki /page/2/.head bez defer, piksel reklamowy ładowany synchronicznie, iframe mapy Google. Fix: defer/async, lazy load iframe, czat dopiero po pierwszym scrollu./cart — HIT oznacza błąd konfiguracji. Wykluczenia: /cart, /checkout, /my-account, cookie woocommerce_items_in_cart.Kolejność prac i podział na etapy opisujemy przy okazji organizacji wdrożenia WooCommerce w Bełżcu. Same progi metryk, do których warto się odwoływać, znajdziesz w dokumentacji Web Vitals.
| Objaw w sklepie | Narzędzie | Na co patrzeć |
|---|---|---|
| Kategoria z filtrami otwiera się dłużej niż 2 s | Query Monitor + slow query log | Zapytania do wp_postmeta powyżej 0,5 s |
| Checkout wolny na telefonie | WebPageTest, profil 3G | LCP i liczba skryptów na /checkout |
| Dużo kodu JS/CSS, który nic nie robi | DevTools → Coverage | Unused bytes powyżej 60% |
| Koszyk pusty po dodaniu produktu | Nagłówki HTTP | X-Cache: HIT na /cart |
Warstwa infrastruktury to najłatwiejsze miejsce na przepalenie budżetu. Zasada jest prosta: dobierasz hosting do liczby produktów i ruchu, nie do ambicji.
Shared hosting wystarcza, gdy masz do 1000–2000 produktów, do 30–50 tys. odsłon miesięcznie i nie robisz importów z ERP. Warunki, których nie odpuszczaj: PHP 8.1 lub nowszy, OPcache, MySQL 8 albo MariaDB 10.4+, HTTP/2, minimum 1 GB RAM na proces. Zapytaj dostawcę o limit IOPS i max_children — one kończą się pierwsze przy skoku ruchu.
VPS z Nginx i PHP-FPM wchodzi, gdy sklep ma ponad ok. 5000 produktów, cron importujący stany, niestandardowe moduły albo gdy shared przewraca się przy 20 równoczesnych użytkownikach. Przy 4 GB RAM policz pm.max_children z realnego zużycia procesu PHP (np. 4 GB / 80 MB ≈ 40–50), ustaw pm=dynamic, opcache.memory_consumption=256 i włącz fastcgi_cache.
CDN — przy klientach z Narola, Lubaczowa i Zamościa serwer w Warszawie odpowiada w 10–30 ms. CDN tego w widoczny sposób nie skróci; 30–100 zł miesięcznie nic nie zmieni. Ma sens, gdy serwer stoi za granicą, gdy masz setki zdjęć produktowych, gdy ruch idzie z całej Polski albo gdy potrzebujesz osłony przed DDoS.
Pełnostronicowy cache konfiguruj z wykluczeniami od pierwszego uruchomienia: /cart, /checkout, /my-account, /?add-to-cart=, cookies woocommerce_items_in_cart i woocommerce_cart_hash, a także dla zalogowanych. Bez tego pierwszy test po włączeniu cache kończy się pustym koszykiem.
Kopie zapasowe: baza codziennie (retencja 14–30 dni), pliki — uploads, motywy, wtyczki — raz w tygodniu, wszystko poza serwerem: S3, Backblaze lub inny dostawca. Raz na kwartał odtwórz kopię na subdomenie testowej i sprawdź, czy sklep wstaje. Kopia, której nie odtworzyłeś, nie istnieje. Konfigurację środowiska dla mniejszych sklepów pokazujemy przy WooCommerce w Zwierzyńcu, a warianty dla większego ruchu — przy organizacji wdrożenia WooCommerce w Lublinie. Progi czasu odpowiedzi serwera opisuje Google Search Central — Core Web Vitals.
| Skala sklepu | Hosting | Dodatki |
|---|---|---|
| do 2000 produktów, do 50 tys. odsłon/mies. | dobry shared: PHP 8.1+, OPcache, HTTP/2 | cache wtyczką, kopie poza serwerem |
| 2–5 tys. produktów, import stanów, ok. 100 tys. odsłon | VPS 4 GB, Nginx + PHP-FPM + fastcgi_cache | monitoring, cron poza szczytem |
| ponad 5 tys. produktów, B2B, ERP | VPS 8 GB lub serwer dedykowany | CDN i zapasowa maszyna |
Integracje to miejsce, w którym sklep przestaje być sklepem, a zaczyna być systemem. Tu też najczęściej wraca pytanie: gotowa wtyczka czy własny moduł.
Punkty odbioru InPost i wysyłka DPD/DHL. Różnica nie jest kosmetyczna. API (ShipX, WebAPI DPD, DHL24) pozwala utworzyć przesyłkę z panelu sklepu, dostać etykietę PDF od razu i cyklicznie odpytywać statusy. Plik CSV to eksport zamówień i ręczne wgrywanie do panelu kuriera — sensowne do ok. 10 przesyłek dziennie, powyżej zjada czas i generuje pomyłki. Najczęstszy błąd przy punktach InPost: kod punktu nie zapisuje się w metadanych zamówienia, gdy klient zmieni metodę dostawy już po wyborze punktu.
Statusy i numery przesyłek. Reguły ustal przed startem: opłacone → „W realizacji”, nadanie → „Wysłane” plus numer w mailu i w panelu klienta. Ręczne przepisywanie numeru to 40–60 s na zamówienie; przy 30 zamówieniach dziennie daje 20–30 minut. To najbardziej opłacalna automatyzacja w całym sklepie.
Integracja z ERP. Ustal kierunek przepływu i zapisz go jako zasadę: stany magazynowe idą z ERP do sklepu, zamówienia ze sklepu do ERP. Dopasowanie po SKU albo EAN — bez tego powstaną duplikaty pozycji. Ryzyko nadpisania: jeśli sklep sam odejmuje stan przy zamówieniu, a ERP synchronizuje się co 15 minut, stany się rozjadą. Rozwiązanie: magazyn zarządzany wyłącznie przez ERP, w sklepie blokada edycji stanu. Synchronizuj kolejką, nie zapytaniem przy każdym wejściu na kartę produktu.
Kiedy własny moduł ma sens: brak wsparcia wtyczki (6–12 miesięcy bez aktualizacji), specyficzne B2B — cenniki per klient, limity kredytowe, zamówienia zbiorcze — albo integracja z wewnętrznym systemem, którego nie da się podłączyć gotowym konektorem. Koszt to zwykle 40–120 godzin pracy plus 15–20% rocznie na utrzymanie. Warto, gdy oszczędność czasu albo różnica w procesie sprzedaży jest policzalna. Podstawy konfiguracji znajdziesz w dokumentacji WooCommerce, a przykłady wdrożeń w mniejszych firmach — przy Wdrożeniach WooCommerce w Frampolu i organizacji wdrożenia w Józefowie.
| Kryterium | Gotowa wtyczka | Własny moduł |
|---|---|---|
| Czas wdrożenia | 1–3 dni | 2–6 tygodni |
| Koszt początkowy | abonament od kilkudziesięciu zł/mies. | 40–120 godzin pracy |
| Aktualizacje i wsparcie | po stronie autora wtyczki | po Twojej stronie, 15–20% wartości rocznie |
| Nietypowe B2B i ceny indywidualne | zwykle brak | pełna kontrola nad logiką |
Sklep, który działa, nie znaczy sklep, który jest utrzymywany. Najdroższe awarie w WooCommerce wynikają zwykle z trzech rzeczy: nieaktualizowanej wtyczki, konta administratora bez drugiego czynnika i braku monitoringu. Żadna z nich nie daje objawów aż do dnia, w którym sklep przestaje przyjmować zamówienia.
Aktualizacje. WordPressa, WooCommerce i wtyczek nie aktualizuje się na produkcji. Najpierw staging — kopia sklepu z tą samą wersją PHP i kopią bazy produkcyjnej (jeśli zawiera dane klientów, zanonimizowaną). Kolejność pracy: kopia bazy i plików, aktualizacja, test koszyka, płatności, maili i etykiet. Dopiero potem produkcja, w oknie niskiego ruchu. Standard: przegląd aktualizacji raz w miesiącu plus reakcja na krytyczne łatki bezpieczeństwa w ciągu 24–48 godzin.
Dostępy. Weryfikacja dwuetapowa obowiązkowa dla każdego konta z rolą Administrator. Kont na tej roli maksymalnie dwa — jedno techniczne, jedno właścicielskie. Do codziennej pracy wystarcza rola Shop Manager: zamówienia, produkty, kupony, bez dostępu do wtyczek, motywu i plików. Dostęp byłego pracownika lub agencji to najczęstsza przyczyna „niespodziewanych” zmian w sklepie. Odbieraj go tego samego dnia, w którym kończy się współpraca.
Monitoring. Cztery rzeczy do mierzenia: dostępność (test co 1–5 minut, alert SMS), czas odpowiedzi serwera, błędy PHP oraz kolejka maili transakcyjnych. Ta ostatnia jest niedoceniana — Action Scheduler potrafi się zapchać i wtedy zamówienia są, a potwierdzeń nie ma. Sprawdź, ile zadań czeka w kolejce i czy wysyłka nie stoi.
SLA wpisz do umowy: czas reakcji (np. 4 godziny w dni robocze), czas naprawy, kanał zgłoszeń i osoba po drugiej stronie. Obietnica w mailu nie zadziała, gdy w piątek o 18:00 padnie bramka płatności. Zakres funkcji zamówień, maili i harmonogramu zadań opisuje dokumentacja WooCommerce — warto ją przejrzeć przed podpisaniem umowy utrzymaniowej.
| Obszar | Minimum | Jak sprawdzić |
|---|---|---|
| Aktualizacje | Staging + okno produkcyjne raz w miesiącu | Wersje WP, WooCommerce i wtyczek, lista zmian |
| Dostępy | 2FA dla adminów, maks. 2 konta z rolą Administrator | Lista użytkowników w WP, konfiguracja wtyczki 2FA |
| Kopie zapasowe | Dzienna kopia bazy i plików, test odtworzenia raz na kwartał | Log backupu, próbne odtworzenie na staging |
| Monitoring | Dostępność co 1–5 min, alert SMS, błędy PHP | Panel monitoringu, historia incydentów |
| Maile transakcyjne | Stały podgląd kolejki wysyłki | Action Scheduler, logi SMTP |
Zanim wezwiesz pomoc, sprawdź logi. W większości przypadków odpowiedź jest w slow query log, w logu wtyczki płatności albo w logu integracji — nie w kodzie szablonu. Cztery sytuacje, które wracają najczęściej:
| Objaw | Prawdopodobna przyczyna | Jak sprawdzić | Naprawa |
|---|---|---|---|
| Sklep wolny po dodaniu produktów | Brak indeksów w bazie danych | Slow query log, Query Monitor | Dodać indeksy na meta_key i product_id, przebudować tabele, włączyć cache obiektowy |
| Pusty koszyk po płatności | Agresywny cache pełnostronicowy | Wykluczenia w konfiguracji cache (URL i cookies) | Wykluczyć /koszyk/, /kasa/, /moje-konto/ oraz cookies sesji WooCommerce |
| Duplikaty potwierdzeń zamówień | Podwójne zdarzenia webhooka | Logi wtyczki płatności | Odbierać zdarzenia idempotentnie, po identyfikatorze zdarzenia |
| Brak etykiet kurierskich | Wygasły token API | Logi integracji, panel kuriera | Odświeżyć token, ustawić alert przed wygaśnięciem |
Nie każdy rosnący sklep potrzebuje zmiany platformy. Ale istnieją progi, po których rozwijanie WooCommerce staje się droższe niż uporządkowana migracja.
Sygnały. Pierwszy: katalog powyżej 10 000 SKU z wariantami. Przy kilkudziesięciu tysiącach wariantów tabela postmeta rośnie do milionów wierszy, a filtrowanie po atrybutach wymaga własnych indeksów, cache obiektowego (Redis) i cache pełnostronicowego z wykluczeniami. Drugi: kilka tysięcy zamówień miesięcznie — pomaga włączenie HPOS, ale raporty, eksporty i księgowość nadal obciążają bazę. Trzeci: rozbudowana logika B2B — ceny per klient, grupy cenowe, limity kredytowe, faktury, zatwierdzanie zamówień. W WooCommerce da się to zbudować wtyczkami, ale każda dokłada zapytania i kolejny punkt awarii.
Jak policzyć próg opłacalności. Zestaw koszt utrzymania i rozwoju w 12 miesiącach z kosztem migracji. Migracja przy 5 000 SKU to realnie 150–400 godzin: katalog, szablon, integracje, płatności, testy. Jeśli dziś wydajesz 2 000–3 000 zł miesięcznie na doraźne naprawy wydajności, rocznie to 24 000–36 000 zł. Gdy migracja zwraca się w 12–18 miesięcy i zdejmuje problem, którego nie da się rozwiązać konfiguracją, warto ją zaplanować. Kalkulację roboczą znajdziesz też w materiałach o wdrożeniach WooCommerce w Lublinie.
Bezpieczna migracja. Kolejność: inwentaryzacja adresów URL (sitemap, logi serwera, crawl), mapowanie stary → nowy adres w arkuszu, przekierowania 301 dla każdego adresu, testy na staging — minimum 200 zamówień różnymi metodami płatności, z kodem rabatowym, zwrotem i fakturą. Dopiero potem przełączenie DNS. Po starcie sprawdź dane strukturalne produktów — to one sterują tym, jak sklep wygląda w wynikach wyszukiwania.
| Kryterium | WooCommerce | PrestaShop |
|---|---|---|
| Katalog 10 000+ SKU | Wymaga indeksów, cache obiektowego i optymalizacji zapytań | Zwykle wydajniejszy natywnie na dużych katalogach |
| Logika B2B | Budowana wtyczkami — każda dokłada złożoność | Funkcje B2B w rdzeniu: grupy, ceny, limity |
| Ekosystem | Bardzo szeroki, łatwo dopasować funkcje | Węższy, ale bardziej przewidywalny |
| Koszt wejścia | Niski próg startowy, wyższe koszty doraźne przy skali | Wyższy próg startowy, mniej nieplanowanych prac |
Zamawianie sklepu „pod klucz” za stałą cenę bez spisanego zakresu.
Jak wykryć: Oferta zawiera cenę i termin, ale nie ma listy funkcji, liczby produktów, liczby stref dostawy ani limitu poprawek.
Jak naprawić: Zamień jedną cenę na rozbicie na etapy z liczbą godzin. Zapytaj wprost: co jest w cenie, co jest zmianą zakresu i jak jest wyceniane.
Praca bezpośrednio na produkcji zamiast na kopii testowej.
Jak wykryć: Wykonawca prosi o dostęp do działającej strony i mówi, że „będzie robił wieczorem, gdy nie ma ruchu”.
Jak naprawić: Wymagaj środowiska staging z kopią bazy produkcyjnej, ale z wyłączonymi płatnościami i wysyłką do kurierów. Wtedy testy nie generują prawdziwych zamówień ani etykiet.
Import produktów z pliku CSV o złej strukturze bez wcześniejszego czyszczenia.
Jak wykryć: Po pierwszym imporcie pojawiają się duplikaty SKU, puste atrybuty, encje HTML w nazwach (np. ó) i produkty bez kategorii.
Jak naprawić: Prześlij próbkę 50 rekordów przed pełnym importem. Ustal, kto normalizuje plik: Ty czy wykonawca — i czy to jest wliczone w godziny.
Włączanie wtyczek cache bez wykluczenia koszyka, checkoutu i logowania.
Jak wykryć: Po dodaniu produktu koszyk się „zeruje”, a po zalogowaniu użytkownik widzi treści dla niezalogowanych.
Jak naprawić: Wyklucz z cache pełnostronicowego adresy koszyka, zamówienia i konta klienta. Przetestuj to na koncie testowym przed publikacją, nie po.
Brak kryteriów akceptacji przed publikacją.
Jak wykryć: Odbiór polega na zdaniu „wygląda dobrze”. Nikt nie sprawdza logów, maili transakcyjnych ani druku etykiety.
Jak naprawić: Ustal pisemną listę: brak błędów krytycznych w logach, poprawne maile transakcyjne, testowe zamówienie z płatnością, druk etykiety kurierskiej.
Ustalanie liczby kurierów i metod płatności dopiero w trakcie testów.
Jak wykryć: W połowie projektu pojawia się pytanie „a dodamy jeszcze DHL i płatność odroczoną?” i przesuwa się termin publikacji.
Jak naprawić: Zamroź listę integracji na etapie wyceny. Każda strefa dostawy to osobny cennik, test i pozycja w checklistie startowej.
Największy koszt wdrożenia WooCommerce nie wynika z ceny szablonu, ale z nieustalonego zakresu: liczby SKU, stref dostawy, wariantów i integracji. Ustal te parametry przed podpisaniem umowy, wymagaj rozbicia wyceny na godziny i środowiska staging. Wtedy porównasz oferty na jednej skali, a nie na deklaracjach. Checklista powyżej to gotowa lista pytań, które warto zadać jeszcze przed startem projektu.
To zależy od zakresu, nie od lokalizacji. Prostą realizację dla MŚP zamykamy zwykle w 40–60 godzinach, sklep z integracjami i funkcjami B2B to 60–80 godzin, a warianty produktów, wielojęzyczność i dodatkowe moduły dochodzą do 80–120 godzin. Godziny to czas pracy zespołu, nie dni kalendarzowe — dwa tygodnie kalendarza mogą oznaczać 40 godzin pracy.
Jest odwrotnie. Stała cena za „sklep pod klucz” zawiera bufor na ryzyko wykonawcy — płacisz za niepewność, także wtedy, gdy projekt pójdzie gładko. W rozliczeniu godzinowym widzisz, na co idą godziny, ale pod dwoma warunkami: ustalasz limit (np. 80 h) i dostajesz raport z postępu. Bez limitu i raportu żadna forma rozliczenia Cię nie ochroni.
WooCommerce obsłuży i 50, i 5000 SKU — problemem nie jest liczba produktów, ale infrastruktura i struktura bazy. Przy 1000+ SKU minimum to 2 GB RAM, PHP 8.2+, MySQL 8 lub MariaDB 10.6 i włączony OPcache. Zakres i ograniczenia samego systemu opisuje oficjalna dokumentacja WooCommerce.
Poproś o rozbicie na godziny według etapów: konfiguracja WordPressa i WooCommerce, szablon, produkty, płatności, kurierzy, testy, szkolenie. Oferta bez takiego rozbicia prawie zawsze kończy się dopłatami. Jeśli wykonawca nie potrafi wskazać, ile godzin zajmie import 3000 SKU, to nie zna jeszcze Twojego projektu.
Zwykle tak, bo praca zaczyna się od pomiaru, a nie od włączania kolejnej wtyczki cache. Najpierw szukamy wąskich gardeł: wolnych zapytań do wp_postmeta, ciężkiego checkoutu, obrazów bez WebP. Punkt odniesienia dają Core Web Vitals według web.dev oraz dokumentacja Google Search Central — to jedyne sensowne, mierzalne kryterium.
Staging jest potrzebny zawsze, gdy sklep już sprzedaje albo gdy w projekcie są płatności i integracja z kurierami. Kopia bazy produkcyjnej daje realne dane do testów, ale wysyłkę do kurierów i płatności na stagingu trzeba wyłączyć — inaczej testy wygenerują prawdziwe etykiety i obciążenia. Sama kopia plików tego nie załatwia.
Jeśli chcesz zweryfikować swoją wycenę wdrożenia albo sprawdzić, gdzie obecny sklep traci czas ładowania, napisz do nas — przejrzymy zakres i podamy widełki godzinowe bez zobowiązań.