Jeśli prowadzisz sklep na WooCommerce, prawdopodobnie znasz ten scenariusz: klient dodaje produkt do koszyka, przechodzi do zamówienia i… koszt dostawy nie pokazuje się wcale, jest dziwnie wysoki, zmienia się bez logiki albo pojawia się dopiero po odświeżeniu strony. W praktyce oznacza to utracone zamówienia, większą liczbę porzuconych koszyków i nerwowe próby „naprawienia czegoś na szybko”.
Problem z kosztami dostawy w WooCommerce jest szczególnie kłopotliwy, bo zwykle nie ma jednej przyczyny. Czasem winna jest strefa wysyłki. Czasem metoda dostawy. Czasem podatki, klasy wysyłkowe, wtyczka do kuriera, a czasem niestandardowy motyw lub inna wtyczka, która nadpisuje koszyk. Dlatego naprawa „na czuja” często kończy się kolejnym błędem albo zepsuciem innych elementów sklepu.
W tym artykule dostajesz praktyczne podejście: jak szybko zdiagnozować problem, co sprawdzić po kolei, jak bezpiecznie testować zmiany i kiedy nie warto już robić tego samodzielnie. To poradnik dla realnego biznesu, nie dla samej teorii.
Szybka odpowiedź
Jeżeli w WooCommerce koszty dostawy nie działają, zacznij od tych pięciu punktów:
- Sprawdź, czy masz poprawnie utworzoną strefę wysyłki i czy adres klienta do niej pasuje.
- Upewnij się, że do strefy przypisana jest przynajmniej jedna aktywna metoda dostawy.
- Zweryfikuj wagi, wymiary, klasy wysyłkowe i ustawienia produktów.
- Sprawdź, czy nie ma konfliktu z inną wtyczką, motywem lub cache.
- Przetestuj zamówienie w trybie prywatnym, na innym adresie i najlepiej na kopii stagingowej.
Jeżeli po tych krokach koszt dostawy nadal nie wyświetla się poprawnie, zwykle problem leży w logice wysyłki, konflikcie kodu albo w niestandardowej konfiguracji, którą warto powierzyć specjaliście.
Diagnoza problemu
Zanim zaczniesz cokolwiek zmieniać, ustal jak dokładnie objawia się problem. To ważniejsze, niż mogłoby się wydawać, bo inna naprawa jest potrzebna wtedy, gdy:
- koszt dostawy nie pokazuje się w koszyku,
- koszt dostawy pokazuje się dopiero na etapie finalizacji zamówienia,
- koszt jest zawsze zerowy,
- koszt jest za wysoki lub za niski,
- koszt zmienia się po wpisaniu kodu pocztowego,
- znikają metody dostawy po zmianie adresu,
- wyświetla się komunikat „Brak dostępnych metod wysyłki” albo podobny.
Najpierw odpowiedz sobie na kilka pytań diagnostycznych:
- Czy problem dotyczy wszystkich produktów, czy tylko wybranych?
- Czy występuje dla wszystkich adresów, czy tylko dla jednego kraju, miasta lub kodu pocztowego?
- Czy problem pojawił się po aktualizacji WooCommerce, WordPressa, motywu albo wtyczki?
- Czy dostawa działa dla niezalogowanego użytkownika, a nie działa dla zalogowanego?
- Czy problem występuje tylko na telefonie, tylko w przeglądarce Safari, czy wszędzie?
Takie rozróżnienie pozwala zawęzić obszar poszukiwań. Na przykład brak kosztu dostawy dla wszystkich produktów zwykle wskazuje na strefę wysyłki, metodę dostawy albo konflikt globalny. Natomiast błędna cena tylko dla wybranych produktów bardzo często oznacza problem z klasą wysyłkową, wagą, wymiarami albo regułami wtyczki przewoźnika.
Ważne: jeśli sklep działa na produkcji i generuje sprzedaż, nie testuj zmian „na żywym organizmie” bez planu. Złe ustawienie strefy wysyłki potrafi nagle wyłączyć dostawy dla całej Polski albo ustawić darmową wysyłkę tam, gdzie nie powinna się pojawić. To realne ryzyko finansowe.
Możliwe przyczyny
W WooCommerce koszty dostawy najczęściej psują się z jednej z poniższych przyczyn:
1. Błędna konfiguracja stref wysyłki
WooCommerce wylicza dostawę na podstawie stref wysyłki. Jeśli strefa nie obejmuje właściwego kraju, województwa, regionu lub kodu pocztowego, klient nie zobaczy żadnej metody dostawy. Częsty błąd to także zbyt ogólna strefa ustawiona niżej niż bardziej szczegółowa, przez co WooCommerce dobiera nie to, co powinien.
2. Brak aktywnej metody dostawy w strefie
Strefa sama w sobie nie wystarczy. Musi zawierać co najmniej jedną aktywną metodę, np. stałą stawkę, darmową dostawę, odbiór osobisty lub metodę z wtyczki kurierskiej. Czasem po imporcie, aktualizacji lub duplikacji sklepu metody są wyłączone albo usunięte.
3. Złe ustawienia produktów
Jeżeli produkt ma brakującą wagę, nieprawidłową klasę wysyłkową albo błędnie ustawiony wymiar, kalkulator dostawy może nie działać jak trzeba. Dotyczy to szczególnie sklepów z metodami opartymi na wadze lub wymiarach przesyłki.
4. Konflikt z wtyczką do wysyłki, płatności lub optymalizacji
Niektóre wtyczki zmieniają sposób działania koszyka i checkoutu. Dotyczy to zwłaszcza narzędzi do cache, optymalizacji JavaScript, dynamicznych kuponów, wielowalutowości, geolokalizacji oraz integracji z kurierami. Jedna wtyczka może ukryć koszt dostawy, zanim inna zdąży go obliczyć.
5. Problem z motywem lub nadpisaniem szablonów WooCommerce
Motyw lub child theme może nadpisywać pliki WooCommerce i wprowadzać własne modyfikacje koszyka. Jeśli po zmianie motywu problem znika, masz mocną przesłankę, że źródłem błędu jest front-end lub nadpisanie szablonu.
6. Cache i CDN
Koszty dostawy są dynamiczne, więc nie powinny być serwowane z cache jak zwykła strona. Jeśli sklep korzysta z agresywnego cache strony, cache fragmentów albo błędnie skonfigurowanego CDN, klient może widzieć stary koszt albo w ogóle nie zobaczyć aktualizacji po zmianie adresu.
7. Podatki i ustawienia cen
Niejasności wokół podatku VAT, wyświetlania cen brutto/netto oraz opcji „podatek wliczony w cenę wysyłki” potrafią sprawić wrażenie, że koszt dostawy jest błędny. Czasem sama metoda jest poprawna, ale wyświetlana kwota nie zgadza się z oczekiwaniem sklepu.
8. Wtyczka przewoźnika lub API zewnętrzne
Jeśli stawki pobierane są z API kuriera, problem może leżeć poza WooCommerce: błędny klucz API, limit zapytań, niedostępność serwera przewoźnika, niezgodność wymagań wtyczki, zła waluta albo brak danych adresowych. Wtedy WooCommerce jest tylko „miejscem, gdzie objaw się pokazuje”.
9. Niestandardowy kod lub funkcje w pliku functions.php
Ręcznie dodane fragmenty kodu do obliczania dostawy bywają bardzo użyteczne, ale też bardzo łatwo je zepsuć po aktualizacji. Jeden warunek logiczny, źle ustawiony priorytet czy błąd w nazwie klasy może zablokować cały proces wyliczania kosztów.
Rozwiązanie krok po kroku
Poniższy plan jest ułożony od najbezpieczniejszych i najprostszych czynności do bardziej technicznych. Dzięki temu minimalizujesz ryzyko przypadkowego popsucia sklepu.
Krok 1: Zrób kopię zapasową lub pracuj na stagingu
Zanim cokolwiek zmienisz, zabezpiecz sklep. Jeśli masz środowisko testowe, użyj jego. Jeśli nie, zrób pełny backup plików i bazy danych. To ważne zwłaszcza wtedy, gdy planujesz zmieniać strefy wysyłki, usuwać metody, aktualizować wtyczki albo testować kod.
Ostrzeżenie bezpieczeństwa: Nie testuj zmian na aktywnym sklepie w godzinach sprzedaży, jeśli problem wpływa na finalizację zamówień. Zła konfiguracja może tymczasowo wyłączyć możliwość zakupu.
Krok 2: Sprawdź strefy wysyłki
Przejdź do ustawień wysyłki w WooCommerce i dokładnie przeanalizuj kolejność oraz warunki stref. Upewnij się, że:
- masz strefę dla kraju lub regionu, który obsługuje sklep,
- strefa jest na odpowiednim miejscu na liście,
- zawiera właściwe kraje, województwa, kody pocztowe lub lokalizacje,
- nie ma konfliktu między strefą ogólną a bardziej szczegółową.
Jeśli masz kilka stref, pamiętaj, że WooCommerce wybiera pierwszą pasującą. Dlatego nieprawidłowa kolejność może sprawić, że klient z Warszawy trafi do strefy „Polska”, zamiast do strefy „Warszawa”, albo odwrotnie.
Krok 3: Sprawdź, czy w strefie jest metoda dostawy
Otwórz każdą strefę i upewnij się, że przypisana jest metoda dostawy. Zwróć uwagę na status aktywności. Czasem metoda jest dodana, ale wyłączona. Czasem jest dodana dwukrotnie i jedna wersja ma błędne ustawienia.
Zweryfikuj, czy metoda dostawy odpowiada temu, co chcesz osiągnąć:
- stała stawka dla określonej strefy,
- darmowa dostawa po spełnieniu warunku,
- odbiór osobisty,
- metoda z integracji kurierskiej,
- metoda zależna od wagi lub sumy zamówienia.
Krok 4: Zweryfikuj ustawienia produktów
Przejdź do produktów, które sprawiają problem, i sprawdź:
- czy mają uzupełnioną wagę, jeśli jej używasz w kalkulacji,
- czy mają prawidłowe wymiary, jeśli wtyczka kurierska tego wymaga,
- czy przypisana jest właściwa klasa wysyłkowa,
- czy produkty w wariantach mają ustawienia skopiowane poprawnie na poziomie wariantu.
Jeżeli problem dotyczy tylko niektórych wariantów, upewnij się, że nie tylko produkt nadrzędny, ale i wariant ma właściwe dane. To częsty, a pomijany detal.
Krok 5: Sprawdź klasy wysyłkowe
Jeśli używasz klas wysyłkowych, zweryfikuj ich przypisanie i reguły w metodzie dostawy. Błędna klasa może powodować, że produkt wpada do niewłaściwego progu cenowego albo nie jest liczony wcale. Czasem jedna źle nazwana klasa wystarczy, by metoda nie znalazła dopasowania.
Porównaj przypisanie klas z realną logiką wysyłki. Jeśli paczki lekkie i ciężkie mają być liczone inaczej, nie mieszaj ich w jednej klasie tylko dlatego, że „tak było szybciej”.
Krok 6: Przetestuj dostawę na kilku adresach
Sprawdź zamówienie dla różnych przypadków:
- adres z głównej strefy wysyłki,
- adres z innej strefy,
- adres z kodem pocztowym objętym wyjątkową regułą,
- adres krajowy i zagraniczny, jeśli sklep obsługuje eksport,
- różne koszyki: jeden produkt, kilka produktów, ciężki produkt, produkt z inną klasą.
Testuj w prywatnym oknie przeglądarki, najlepiej po wyczyszczeniu cache. Dzięki temu ograniczysz wpływ zapisanych sesji i starego cache.
Krok 7: Wyłącz na próbę wtyczki, które mogą powodować konflikt
Jeśli strefy i produkty są poprawne, a koszt dostawy nadal nie działa, wykonaj kontrolowany test konfliktu. Tymczasowo wyłącz, na stagingu lub poza godzinami pracy sklepu, kolejno wtyczki związane z:
- cache i optymalizacją,
- multicurrency,
- geolokalizacją,
- dynamicznymi kuponami,
- checkoutem i koszykiem,
- integracjami kurierskimi.
Jeśli po wyłączeniu jednej z nich wszystko zaczyna działać, masz winowajcę. Nie kończ na samym odkryciu problemu — sprawdź, czy da się zaktualizować wtyczkę, zmienić ustawienia albo zastąpić ją innym rozwiązaniem.
Krok 8: Sprawdź motyw i nadpisania WooCommerce
Jeżeli konfliktu nie ma po stronie wtyczek, przyjrzyj się motywowi. Na czas testu przełącz się na domyślny motyw WooCommerce kompatybilny z WordPressem, jeśli możesz to zrobić bez szkody dla produkcji. Jeżeli koszt dostawy zaczyna działać poprawnie, problem jest najpewniej w motywie lub w nadpisanym szablonie.
W praktyce oznacza to konieczność sprawdzenia plików szablonów, customowego JS oraz funkcji, które ingerują w koszyk, checkout lub wyświetlanie danych klienta.
Krok 9: Wyczyść cache po każdej zmianie
Po modyfikacji stref, metod i ustawień koniecznie wyczyść cache strony, cache wtyczki, cache serwera i — jeśli używasz CDN — również jego cache. W przeciwnym razie możesz patrzeć na starą wersję koszyka i błędnie uznać, że naprawa nie zadziałała.
Jeżeli stosujesz cache fragmentów, zwróć uwagę, czy koszyk i checkout nie są przypadkiem objęte nieprawidłowym cache’owaniem. To częsty błąd techniczny w sklepach, które były optymalizowane „na szybko”.
Krok 10: Sprawdź walutę, podatki i wyświetlanie cen
Jeśli sklep ma więcej niż jedną walutę lub różne stawki VAT, upewnij się, że koszt dostawy wyświetla się zgodnie z przyjętą logiką. Zwróć uwagę, czy cena ma być pokazywana brutto czy netto i czy konfiguracja podatkowa nie powoduje rozjazdu pomiędzy kwotą w koszyku a kwotą finalną.
W przypadku sklepów międzynarodowych warto też sprawdzić, czy geolokalizacja nie przestawia kraju klienta na podstawie niewłaściwej informacji i czy strefa wysyłki nie jest blokowana przez ustawienia kraju rozliczeniowego.
Krok 11: Przetestuj z wyłączonymi niestandardowymi fragmentami kodu
Jeśli do functions.php lub do własnej wtyczki dodano kod odpowiedzialny za koszty dostawy, przetestuj sklep bez tego fragmentu. Jeśli nie możesz go od razu wyłączyć w bezpieczny sposób, skopiuj logikę na staging, wyłączaj elementy po jednym i sprawdzaj, który warunek psuje obliczenia.
W takiej sytuacji ważna jest dokładność: nie usuwaj całej logiki tylko dlatego, że „coś nie działa”. Dobrze napisany kod bywa potrzebny, ale źle wstawiony może powodować błędy krytyczne lub nieczytelne problemy z koszykiem.
Krok 12: Zapisz konfigurację i wykonaj końcowy test end-to-end
Po naprawie wykonaj pełną próbę zakupu od początku do końca. Sprawdź koszyk, checkout, wybór adresu, metodę dostawy, podsumowanie zamówienia i maila potwierdzającego. Zapisz, jakie ustawienia zostały zmienione, aby w razie powrotu problemu łatwiej znaleźć źródło błędu.
Najczęstsze błędy
- Ustawianie strefy „Polska” bez wyjątków regionalnych mimo tego, że część wysyłek ma inne zasady.
- Dodanie metody dostawy, ale pozostawienie jej nieaktywnej.
- Brak wag w produktach przy metodach liczących koszt po wadze.
- Ignorowanie klas wysyłkowych, choć sklep je wykorzystuje.
- Wyłączenie cache tylko w przeglądarce, podczas gdy problem siedzi w cache serwera lub CDN.
- Testowanie zmian na produkcji bez backupu.
- Przekonanie, że problem jest w WooCommerce, choć faktycznie wywołuje go wtyczka przewoźnika albo motyw.
- Wprowadzanie wielu zmian naraz, przez co potem nie wiadomo, co naprawiło problem albo co go pogorszyło.
- Brak kontroli nad podatkami i walutami, co daje złudzenie błędnej ceny wysyłki.
- Nieprzetestowanie różnych adresów i wariantów produktów, więc naprawa działa tylko „na jednym przykładzie”.
Kiedy nie robić tego samodzielnie
Nie warto samodzielnie grzebać w ustawieniach, jeśli:
- sklep generuje stały przychód i każda minuta błędnej wysyłki oznacza realną stratę,
- problem pojawił się po aktualizacji i dotyczy procesu zakupowego na produkcji,
- korzystasz z kilku zewnętrznych integracji przewoźników, ERP lub WMS,
- masz własny kod wyliczający dostawę,
- koszt dostawy zależy od wielu warunków jednocześnie: kraju, wagi, kategorii, strefy, waluty i kwoty koszyka,
- nie masz środowiska testowego ani kopii zapasowej,
- nie jesteś pewien, czy problem dotyczy konfiguracji, czy błędu programistycznego.
W takich sytuacjach „samodzielna naprawa” często kończy się utratą czasu, chaosem w konfiguracji i większym ryzykiem dla sprzedaży niż sam problem początkowy.
Kiedy zgłosić się do specjalisty
Skontaktuj się ze specjalistą, gdy:
- koszt dostawy nadal nie działa po sprawdzeniu stref, metod i produktów,
- problem wraca po każdej aktualizacji,
- pojawiają się losowe różnice między koszykiem a checkoutem,
- sklep korzysta z niestandardowych reguł wysyłki lub integracji API,
- podejrzewasz konflikt motywu, ale nie chcesz ryzykować wyłączenia sprzedaży,
- potrzebujesz uporządkować całą logikę dostaw w sklepie, a nie tylko usunąć jeden błąd.
Specjalista nie tylko naprawi objaw, ale też sprawdzi, czy konfiguracja jest stabilna po aktualizacjach, czy reguły są logiczne i czy sklep nie ma ukrytych punktów awarii. To szczególnie ważne przy sklepach, które sprzedają na kilku rynkach albo korzystają z kilku przewoźników.
Podsumowanie
Problemy z kosztami dostawy w WooCommerce są zwykle skutkiem błędnej konfiguracji, konfliktu wtyczek, nieprawidłowych danych produktów albo nadpisanych szablonów. Klucz do rozwiązania polega na spokojnej diagnostyce: najpierw strefy wysyłki, potem metody, następnie produkty, klasy, cache, podatki i dopiero na końcu kod oraz integracje zewnętrzne.
Najgorsze, co można zrobić, to „naprawiać na ślepo”. Lepiej przejść przez uporządkowaną checklistę, testować w kontrolowany sposób i mieć backup. W wielu przypadkach problem da się rozwiązać bez kosztownych zmian, ale jeśli sklep jest złożony lub sprzedaż stoi, nie warto zwlekać z pomocą techniczną.
CTA do kontaktu
Jeśli koszty dostawy w WooCommerce nadal nie działają, a Ty nie chcesz ryzykować błędnej konfiguracji i utraty zamówień, skontaktuj się ze specjalistą. Pomożemy zdiagnozować źródło problemu, przywrócić poprawne naliczanie wysyłki i uporządkować ustawienia tak, aby sklep działał stabilnie także po aktualizacjach.