Sklep WooCommerce „na Kraków” to nie adres w stopce, a konfiguracja dostaw, płatności i obsługi klienta z Małopolski. Technicznie wdrożenie wygląda tak samo jak dla każdego innego miasta — różnią się strefy dostaw (kody 30-xxx i 31-xxx), punkty odbioru, czas realizacji i komunikacja. Poniżej zebraliśmy błędy, które najczęściej psują sklepy sprzedające do Krakowa, oraz checklistę do przejścia przed startem i przed każdym sezonem. Kolejność prac przy samym wdrożeniu opisaliśmy w artykule o sklepach WooCommerce w Łodzi — proces jest identyczny, zmienia się tylko mapa dostaw.
Fraza „sklepy WooCommerce Kraków” ma dwa znaczenia. Pierwsze: szukasz firmy z siedzibą w Krakowie. Drugie: szukasz sklepu, który poprawnie obsłuży klientów z Krakowa i Małopolski. To drugie kryje się za wyszukiwaniem najczęściej — i ono ma realne przełożenie na sprzedaż.
WooCommerce nie nakłada żadnych ograniczeń geograficznych. Instalacja stoi na hostingu, na którym stoi, i sprzedaje do dowolnego regionu. Siedziba w Krakowie nie daje więc przewagi technicznej. Daje przewagę operacyjną: krótszą drogę przy zwrotach, możliwość własnej dostawy, obsługę odbiorów osobistych i szybszą reakcję przy reklamacjach.
Co realnie zmienia lokalizacja:
Kraków jest jednym z największych rynków e-commerce w Polsce. Nie podajemy tu konkretnej liczby, bo publiczne raporty różnią się metodologią i rokiem badania — sięgnij po dane ze źródła, które podaje próbę i zakres.
WooCommerce wygrywa przy katalogu do ~500 SKU, prostych wariantach i standardowych integracjach. Przy 2000+ SKU, rozbudowanych wariantach i logice B2B sensowniejszy bywa PrestaShop — porównanie z wdrożeniem PrestaShop pokazuje, gdzie kończy się wygoda WooCommerce. Kolejność prac przy samym wdrożeniu WooCommerce jest identyczna dla każdego miasta, zmienia się tylko mapa dostaw.
Nie ma jednej ceny sklepu WooCommerce. Jest liczba godzin pomnożona przez stawkę. W polskich agencjach stawka za pracę nad WooCommerce w 2025 roku mieści się zwykle w przedziale 120–200 zł netto za godzinę. Doświadczony freelancer: 80–150 zł/h. To punkt wyjścia do każdej rozmowy o budżecie.
W roboczogodziny wchodzi zawsze: konfiguracja hostingu, SSL, WordPressa i WooCommerce, kopia zapasowa; instalacja i szablonowanie motywu; struktura katalogu, import produktów, warianty, kategorie i filtry; metody płatności (Przelewy24 lub PayU, BLIK, karta, pobranie, przelew); metody wysyłki, integracja Paczkomatów, kurierzy, etykiety; strony informacyjne, regulamin, polityka prywatności; testy mobilne, wydajność, Core Web Vitals; szkolenie i dokumentacja.
| Scenariusz | Zakres | Roboczogodziny | Widełki netto (2025) |
|---|---|---|---|
| Prosty sklep do ~200 SKU | gotowy motyw, 2 metody płatności, 2 kurierów, brak integracji | 80–140 h | 12 000 – 28 000 zł |
| Sklep 500–2000 SKU | warianty, integracja ERP/księgowa, 3+ kurierów, Paczkomaty przez API | 200–400 h | 30 000 – 80 000 zł |
| Migracja z innej platformy | mapowanie produktów i zamówień, przekierowania 301, odtworzenie SEO | 120–300 h | 20 000 – 60 000 zł |
Konfigurację zaczynasz w WooCommerce → Ustawienia → Wysyłka → Strefy wysyłki. Pierwszy błąd to jedna strefa „Polska” na cały kraj. Powinny być co najmniej trzy: Kraków, Małopolska i reszta Polski. Strefa krakowska rozpoznaje kody 30-xxx i 31-xxx, małopolska — 32-xxx.
| Strefa | Kody pocztowe | Metody | Uwagi |
|---|---|---|---|
| Kraków | 30-xxx, 31-xxx | InPost Paczkomat, kurier DPD/DHL, odbiór osobisty | dostawa 24 h przy wysyłce do 12:00 |
| Małopolska | 32-xxx | InPost Paczkomat, kurier | czas realizacji +1 dzień roboczy |
| Polska | pozostałe | InPost Paczkomat, kurier | strefa bazowa — nie zostawiaj jej pustej |
| Zagranica (UE) | kraje UE | kurier | osobne stawki, rozliczenie VAT OSS |
Kolejność metod w koszyku ustawiasz przeciąganiem w WooCommerce → Ustawienia → Płatności. Praktyczny układ: BLIK, karta, szybki przelew (Przelewy24, PayU), a na końcu przelew tradycyjny. Metody, których nie obsługujesz — czek, płatność przy odbiorze dla wysyłek kurierskich — po prostu wyłącz. Każda dodatkowa opcja to jedno pytanie więcej i jedna okazja, żeby klient wyszedł z koszyka.
Prowizje policz przed wdrożeniem, nie po. Operator liczy zwykle procent od transakcji, czasem plus opłatę za wypłatę środków. Przykład: koszyk 149 zł i prowizja 1,5% to 2,24 zł. Przy 800 zamówieniach miesięcznie daje to około 1,8 tys. zł. Różnica 0,3 p.p. między operatorami to już ponad 350 zł miesięcznie. Stawki negocjuje się wolumenem, a nie przyjmuje z cennika — jeśli chcesz porównać to z resztą budżetu, rozkładamy go w artykule o tym, ile realnie kosztuje wdrożenie sklepu.
Webhooki to miejsce, w którym ginie najwięcej zamówień. Klient płaci, wraca na stronę, a w panelu widzisz status pending. Najczęstsze przyczyny:
Diagnostykę zaczynasz od WooCommerce → Status → Logi i panelu operatora. Trwałe rozwiązanie to cron, który po 10 minutach dopytuje operatora o status i sam przestawia zamówienie na „przetwarzane”.
Faktury wystawiaj po statusie „przetwarzane”, nigdy po „oczekiwanie na płatność” — inaczej system księgowy generuje dokumenty do zamówień, które nigdy nie zostały opłacone. Integracje (Fakturownia, inFakt, wFirma, Subiekt) łączy się przez API z regułą „wystaw po zmianie statusu”. KSeF: harmonogram obowiązkowego e-fakturowania był przesuwany, więc termin i zakres dla Twojej firmy potwierdź u księgowego przed wyborem wtyczki.
Pułapka numer jeden: brak obsługi nieudanej płatności. Klient, któremu bank odrzucił transakcję, zostaje z pustym koszykiem i bez żadnej wiadomości — WooCommerce domyślnie powiadamia administratora, nie kupującego. Skonfiguruj mail z linkiem do ponownej płatności (endpoint /checkout/order-pay/{ID}/?pay_for_order=true&key=...) oraz wtyczkę odzyskującą porzucone koszyki.
| Objaw | Typowa przyczyna | Co sprawdzić najpierw |
|---|---|---|
| Zamówienie „pending”, klient twierdzi, że zapłacił | webhook nie dotarł do sklepu | logi WooCommerce i URL powiadomień w panelu operatora |
| Klient wraca na stronę z komunikatem o błędzie | brak obsługi nieudanej transakcji | mail z linkiem order-pay, wtyczka do porzuconych koszyków |
| Zamówienie jest, faktury nie ma | faktura wystawiana tylko na statusie „zakończone” | reguły w integracji z systemem księgowym |
Shared hosting wystarcza małemu sklepowi: do około 100 zamówień i 5 tys. wizyt miesięcznie, katalog poniżej 500 produktów, kilkanaście wtyczek. Powyżej tego progu zaczynają się objawy, które trudno przypisać do jednej przyczyny: panel administracyjny otwiera się po 5–8 sekund, publikacja produktu kończy się timeoutem, a w szczycie sezonu baza zamówień blokuje całą stronę. Pierwszy sensowny przeskok to VPS: 4 vCPU, 8 GB RAM, dysk NVMe, PHP 8.2/8.3 z OPcache i MySQL 8 lub MariaDB 10.6+.
Zanim dołożysz kolejne GB pamięci, włącz w WooCommerce HPOS (High-Performance Order Storage) — zamówienia przenoszą się z tabeli postmeta do dedykowanych tabel i przy kilku tysiącach zamówień różnicę widać gołym okiem. Sprawdź tylko zgodność wtyczek w sekcji Status.
Object cache (Redis) włączasz wtedy, gdy wąskim gardłem jest baza: katalog z filtrami i koszyki zalogowanych klientów generują setki zapytań na jedno żądanie. Cache stron to inna sprawa — musi omijać /koszyk, /zamowienie, /moje-konto oraz ciastka woocommerce_items_in_cart i wp_woocommerce_session_*. Bez tego klient po dodaniu produktu zobaczy pusty koszyk, a przy błędnie ustawionym Varnishu — koszyk innej osoby.
Core Web Vitals mierz na danych rzeczywistych, nie w Lighthouse: LCP poniżej 2,5 s, INP poniżej 200 ms, CLS poniżej 0,1 na 75. percentylu. Dane znajdziesz w Search Console i w PageSpeed Insights w sekcji „Dane użytkowników”. Największy zysk daje konwersja zdjęć do WebP lub AVIF — to typowo 25–35% mniej bajtów przy porównywalnej jakości. Nie lazy-loaduj zdjęcia LCP i dodaj mu fetchpriority="high".
Hosting w USA bez CDN to dodatkowe kilkadziesiąt do około 150 ms na każde połączenie; przy kilkudziesięciu żądaniach i kilku rundach DNS/TCP/TLS robią się z tego sekundy. I ostatnia rzecz: kopia zapasowa trzymana na tym samym VPS to nie kopia. Baza i pliki powinny lecieć codziennie do zewnętrznego storage (S3, Backblaze B2), z retencją 30 dni i testem odtworzenia raz na kwartał. Co jeszcze warto uszczelnić, opisujemy w tekście o administracji serwerami w Krakowie i błędach, które kosztują.
| Metryka | Wartość akceptowalna (75. percentyl) | Gdzie mierzyć |
|---|---|---|
| LCP | do 2,5 s | Search Console → Core Web Vitals, PageSpeed Insights (dane użytkowników) |
| INP | do 200 ms | Search Console, RUM (np. web-vitals w JS) |
| CLS | do 0,1 | Search Console, PageSpeed Insights |
Frazy lokalne, które realnie konwertują, są konkretne: „sklep [kategoria] Kraków”, „dostawa tego samego dnia Kraków”, „wysyłka 24h Kraków”, plus nazwy dzielnic — Nowa Huta, Podgórze, Krowodrza, Dębniki, Prądnik — w opisie strefy dostawy i punktów odbioru. Nie upychaj „Kraków” w każdym zdaniu. Lepiej raz, ale z informacją, której klient szuka: od jakiej kwoty dostawa jest darmowa, ile trwa realizacja do kodów 30- i 31-, gdzie są punkty odbioru.
Google Business Profile ma sens także bez sklepu stacjonarnego, ale tylko jeśli realnie obsługujesz klientów z Krakowa. Ustawiasz profil jako „obszar działania”, ukrywasz adres i wskazujesz zasięg (np. Kraków i 30 km wokół). Jeśli prowadzisz odbiór osobisty, pokaż adres i godziny — bez tego Google nie ma podstaw, żeby traktować Cię jako firmę lokalną.
Dane strukturalne: Product z Offer (cena, waluta, dostępność) to podstawa, bo to one dają cenę i status dostępności w wynikach. AggregateRating dodawaj wyłącznie przy realnych opiniach — fałszywe oznaczenia kończą się ręcznym działaniem. LocalBusiness lub Store tylko wtedy, gdy masz punkt obsługi klienta. Waliduj wszystko w Rich Results Test i pilnuj raportu wzbogaconych wyników w Search Console; Google pokazuje wyłącznie znaczniki zgodne ze specyfikacją (dane strukturalne obsługiwane przez Google).
Treści lokalne trzymaj na stronie kategorii (300–600 znaków nad lub pod listą produktów) oraz na osobnej stronie o dostawie. Nie twórz strony „sklep [kategoria] Kraków”, która dubluje kategorię — to prosta droga do kanibalizacji. Opis producenta możesz wykorzystać jako specyfikację, ale dopisz własne 2–3 zdania. Warianty produktu (rozmiar, kolor) potrzebują odrębnych opisów albo canonicala na wariant główny.
Linkowanie wewnętrzne: z artykułu poradnikowego prowadź 2–4 linki do kategorii i konkretnych produktów, z opisową kotwicą („kurtki puchowe z dostawą w Krakowie”), nigdy „zobacz więcej”. Te same zasady sprawdzają się przy wdrożeniu sklepu WooCommerce w Warszawie — zmienia się tylko mapa dostaw.
| Typ strony | Co na niej umieścić | Czego unikać |
|---|---|---|
| Kategoria | 300–600 znaków własnego opisu, informacja o dostawie w Krakowie | kopiowania opisu producenta w całości |
| Produkt | unikalne 2–3 zdania, specyfikacja, zdjęcia | identycznych opisów we wszystkich wariantach |
| Strona dostawy i odbioru | strefy, kody 30-/31-, punkty odbioru, czas realizacji | osobnej strony „sklep X Kraków” duplikującej kategorię |
Migracja z PrestaShop, Shopera czy autorskiego CMS-a do WooCommerce ma jedną wspólną zasadę: dane traci się nie na etapie kopiowania produktów, a na etapie adresów URL i wariantów. Dlatego kolejność prac jest sztywna.
Dalsza część procesu — konfiguracja, strefy dostaw, integracje — wygląda identycznie jak w naszej liście kroków dla Łodzi: organizacja wdrożenia WooCommerce krok po kroku.
| Etap | Typowy czas | Sygnał, że coś poszło źle |
|---|---|---|
| Audyt i eksport danych | 1–3 dni | Brak pełnej listy URL-i, brak informacji o linkach zewnętrznych |
| Mapowanie SKU i wariantów | 1–5 dni | Znikają stany magazynowe lub zdjęcia wariantów |
| Przekierowania 301 | 1–2 dni | Skok 404 w Search Console w pierwszym tygodniu |
| Testy na stagingu | 2–4 dni | Błąd płatności wychodzi dopiero po starcie |
| Okno migracji i przełączenie DNS | 2–6 h | Zamówienia złożone w starym sklepie po zamrożeniu |
Wdrożenie kończy się w dniu startu. Od tego momentu sklep pracuje 24/7 i to opieka decyduje, czy w Black Friday koszyk się nie wysypie. Sensowna umowa SLA ma sześć konkretnych punktów — nie trzydzieści stron ogólników.
Jak opieka składa się na cały budżet projektu, rozpisaliśmy w tekście o cenach sklepów internetowych w 2025. Jeśli sklep stoi na własnym serwerze, przed podpisaniem SLA przejdź też checklistę błędów w administracji serwerami.
| Element SLA | Minimum w umowie | Pytanie do wykonawcy |
|---|---|---|
| Aktualizacje | 1x/mc + krytyczne łatki 48–72 h | Czy testujecie na stagingu i co dokładnie sprawdzacie po zmianie? |
| Monitoring | Kontrola co 1–5 min, kanał zgłoszeń awarii | Ile wynosi czas reakcji, a ile czas naprawy? |
| Backupy | 1x/dzień, retencja 30 dni, kopia offsite | Kiedy ostatnio odtwarzaliście backup i gdzie leży? |
| Bezpieczeństwo | WAF, limit logowania, 2FA, skan malware | Kto odpowiada za skutki włamania i czyszczenie? |
| Raport | 1 strona miesięcznie z uptime i błędami checkoutu | Czy raport zawiera liczbę nieudanych płatności? |
| Cena | Stawka miesięczna + stawka za prace poza SLA | Co jest w abonamencie, a co płatne dodatkowo? |
Jedna strefa dostaw na całą Polskę, bez podziału na kody 30-xxx i 31-xxx
Jak wykryć: Wejdź w WooCommerce → Ustawienia → Dostawa. Jeśli widzisz jedną strefę „Polska” z jednym cennikiem, klient z Krakowa płaci tyle samo co klient z Gdańska, mimo że realny koszt dostawy jest inny.
Jak naprawić: Utwórz osobną strefę „Kraków i Małopolska” (kody 30-* i 31-*) z własnym cennikiem i progiem darmowej dostawy, a drugą strefę zostaw dla reszty kraju. Warunki w obu strefach zapisz, żeby dało się je odtworzyć przy zmianie cennika kuriera.
Waga i wymiary produktów wpisane „na oko”, bez opakowania
Jak wykryć: Zważ 3–5 najlepiej sprzedających się produktów razem z kartonem i porównaj z wagą wpisaną w karcie produktu. Różnica powyżej 20% oznacza, że cennik wysyłki liczy się na błędnych danych.
Jak naprawić: Uzupełnij wagę i wymiary dla wszystkich SKU z uwzględnieniem opakowania, a potem przelicz metody wysyłki na nowych danych. Sprawdź też, czy plugin kuriera nie wymaga wagi gabarytowej osobno.
Wybór Paczkomatu tylko w koszyku, bez mapki na karcie produktu i bez walidacji punktu
Jak wykryć: Przejdź całą ścieżkę zakupu na telefonie. Jeśli numer punktu można wybrać dopiero w podsumowaniu albo koszyk przepuszcza zamówienie bez wybranego punktu, część klientów zrezygnuje lub zablokuje realizację.
Jak naprawić: Wstaw mapkę punktów InPost również na karcie produktu, a w koszyku zablokuj przejście dalej, dopóki punkt nie jest wybrany. Ustaw czytelny komunikat przy błędzie wczytywania mapki.
Przelew tradycyjny jako pierwsza metoda płatności, brak BLIK-a
Jak wykryć: Sprawdź kolejność bramek w WooCommerce → Płatności oraz to, czy BLIK jest dostępny bez wychodzenia ze sklepu i bez zakładania konta.
Jak naprawić: Ustaw BLIK i szybkie przelewy na górze listy, przelew tradycyjny na końcu. Każdą metodę przetestuj realnym zamówieniem za 1 zł i sprawdź, jaki status dostaje po opłaceniu.
Brak webhooków i niejasne statusy zamówień — zamówienia zostają na „pending”
Jak wykryć: Złóż testowe zamówienie każdą metodą płatności i sprawdź, czy status sam zmienia się na „przetwarzanie” czy „w realizacji”. Jeśli musisz klikać ręcznie, webhook nie działa.
Jak naprawić: Skonfiguruj adres powiadomień (webhook) w panelu operatora płatności i w pluginie WooCommerce, przetestuj na środowisku testowym, ustaw automatyczne maile do klienta i do obsługi. Punkt wyjścia: dokumentacja WooCommerce.
Brak planu na limity punktów odbioru w okresie świątecznym
Jak wykryć: W listopadzie i grudniu sprawdź, co dzieje się w sklepie, gdy plugin zwróci błąd wyboru punktu, który nie przyjmuje już przesyłek. Najczęściej dowiesz się o tym z maila od klienta.
Jak naprawić: Przygotuj komunikat z podpowiedzią innego punktu w okolicy, monitoruj błędy generowania etykiet i miej gotowy scenariusz awaryjny: wysyłka kurierem na adres bez dopłaty dla klienta.
Sklep WooCommerce dla klientów z Krakowa wygrywa konfiguracją, nie adresem: strefy dostaw po kodach 30-xxx i 31-xxx, poprawnie wpisane wagi, mapka Paczkomatów z walidacją punktu i BLIK na górze listy płatności. Najczęstsze wpadki dotyczą dokładnie tych czterech miejsc, a nie samej technologii. Przejdź checklistę przed startem i powtórz ją przed każdym sezonem — większość problemów wykryjesz wtedy, gdy jeszcze nikt nie stracił zamówienia. Wycenę i zakres prac warto ustalić po zebraniu wymagań, bo sklep „na papierze” bywa droższy niż w rozmowie.
Nie. WooCommerce nie ma żadnych ograniczeń geograficznych — możesz sprzedawać z dowolnego miejsca do dowolnego miejsca. Lokalizacja zmienia coś innego: strefy dostaw, dostępne punkty odbioru, czas realizacji i treści na stronie pod lokalne wyszukiwania. Adres siedziby firmy ma znaczenie głównie dla faktur i danych kontaktowych, nie dla zasięgu sprzedaży.
W praktyce sprawdzają się dwie do trzech: Kraków (kody 30-xxx), reszta Małopolski (31-xxx) i pozostała część Polski. Każda dodatkowa strefa to kolejny cennik do pilnowania przy zmianach u kurierów, więc nie mnoż ich bez powodu. Jeśli różnice w kosztach dostawy między miastem a resztą regionu są niewielkie, jedna strefa małopolska w zupełności wystarczy.
Najczęstsze przyczyny to brak walidacji wybranego punktu w koszyku albo punkt, który nie przyjmuje już przesyłek. Drugi przypadek nasila się przed świętami, gdy sieć punktów jest przeciążona. Rozwiązanie po stronie sklepu to blokada przejścia dalej bez wybranego punktu oraz jasny komunikat z propozycją innego punktu w okolicy.
Zrób po jednym zamówieniu testowym każdą metodą: BLIK, szybki przelew, karta, przelew tradycyjny. Sprawdź nie tylko to, czy pieniądze dotarły, ale też czy status zamówienia zmienił się automatycznie i czy klient dostał maila. Punkt odniesienia do konfiguracji znajdziesz w dokumentacji WooCommerce.
Tylko przy stałym, przewidywalnym wolumenie zamówień z miasta. Policz koszt kierowcy, paliwa i czasu pakowania i zestaw to z marżą na zamówieniu — jeśli pojedyncze zamówienia są tanie, dostawa samego dnia zjada zysk. Sensowna jest wtedy, gdy obsługujesz produkty o wyższej wartości lub klientów B2B z okolic Krakowa.
WooCommerce dobrze działa przy katalogu do kilkuset produktów, prostych wariantach i standardowych integracjach. PrestaShop częściej wybierają sklepy z tysiącami SKU, rozbudowanymi wariantami i potrzebami B2B. Organizację takiego wdrożenia opisaliśmy w artykule o sklepach PrestaShop w Poznaniu — logika planowania jest podobna.
Od listy wymagań, nie od wyceny. Zapisz liczbę SKU i wariantów, metody dostawy i płatności, integracje z ERP lub księgowością oraz to, kto po starcie będzie obsługiwał zamówienia. Dopiero na tej podstawie da się rzetelnie policzyć godziny pracy. Widełki kosztowe rozpisaliśmy w artykule o cenach sklepów internetowych w 2025.
Jeśli chcesz przejść tę checklistę z kimś, kto robi to na co dzień, napisz do nas — powiemy wprost, co w Twoim sklepie wymaga poprawy, a co działa dobrze. Wystarczy krótki opis katalogu, dostaw i płatności.