Jak objawia się „koszyk nie działa" w WooCommerce?
Pod tym samym opisem klienci zgłaszają kilka różnych sytuacji: przycisk „Dodaj do koszyka" nic nie robi, licznik koszyka w nagłówku nie aktualizuje się mimo dodania produktu, strona koszyka pokazuje „Twój koszyk jest pusty" mimo dodanych produktów, albo strona kasy (checkout) w ogóle się nie ładuje lub zawiesza się na etapie płatności. Wszystkie mają wspólny mianownik, coś przerywa komunikację AJAX między przeglądarką a WordPress, albo blokuje zapisanie sesji koszyka.
Najczęstsze przyczyny problemów z koszykiem
1. Cache stron dynamicznych
To najczęstsza przyczyna, szczególnie po włączeniu nowej wtyczki cache albo skonfigurowaniu Cloudflare. Koszyk, kasa i moje konto to strony dynamiczne, muszą być inne dla każdego klienta i nie mogą być cache'owane jak zwykłe podstrony. Jeśli cache obejmie te strony, jeden klient może zobaczyć zawartość koszyka innego klienta, albo koszyk uporczywie pokazuje starą, zapisaną w cache wersję.
2. Konflikt wtyczek lub motywu blokujący JavaScript
Błąd JavaScript wywołany przez niekompatybilną wtyczkę, przestarzały motyw albo dwie wtyczki ładujące tę samą bibliotekę w różnych wersjach potrafi zatrzymać wykonywanie skryptu odpowiedzialnego za dodawanie do koszyka, mimo że reszta strony wygląda normalnie.
3. Problem z sesją WooCommerce lub cookies
WooCommerce trzyma zawartość koszyka w sesji powiązanej z cookie. Jeśli cookies są blokowane (przeglądarka, wtyczka RODO), certyfikat SSL jest niepoprawny, albo strona działa jednocześnie pod adresem z www i bez www, sesja się gubi i koszyk za każdym razem wraca pusty.
4. AJAX blokowany przez wtyczkę bezpieczeństwa lub WAF
Dodawanie do koszyka w WooCommerce działa przez żądanie AJAX do adresu zawierającego ?wc-ajax=add_to_cart. Zbyt agresywna reguła firewalla (wtyczka bezpieczeństwa albo reguła WAF w Cloudflare) potrafi zablokować takie żądania jako podejrzane, koszyk wygląda wtedy tak, jakby w ogóle nie reagował na kliknięcie.
5. Niezgodność wersji po aktualizacji
Aktualizacja WooCommerce, motywu albo PHP bez wcześniejszego testu na kopii strony to klasyczny scenariusz, w którym motyw lub wtyczka korzysta z funkcji, która zmieniła się lub została usunięta w nowszej wersji.
Jak zdiagnozować i naprawić koszyk krok po kroku
Krok 1: Sprawdź konsolę przeglądarki pod kątem błędów JavaScript
Wciśnij F12, przejdź do zakładki Console i kliknij „Dodaj do koszyka". Czerwony błąd w konsoli (najczęściej jQuery is not defined albo podobny) wskazuje na konflikt skryptów, zwykle spowodowany przez konkretną wtyczkę lub motyw.
Krok 2: Sprawdź, czy koszyk, kasa i moje konto są wykluczone z cache
W ustawieniach wtyczki cache poszukaj sekcji wykluczeń (exclude) i upewnij się, że adresy zawierające /koszyk/, /kasa/ i /moje-konto/ (lub angielskie odpowiedniki cart, checkout, my-account) są z niego wyłączone. Jeśli strona jest za Cloudflare, w regułach cache upewnij się, że te ścieżki mają ustawione Bypass, a nie Cache Everything.
Krok 3: Sprawdź żądanie AJAX w zakładce Network
Przy otwartych narzędziach deweloperskich, w zakładce Network, kliknij „Dodaj do koszyka" i znajdź żądanie zawierające wc-ajax=add_to_cart. Status 200 oznacza, że żądanie dotarło i zostało obsłużone, kod 403, puste żądanie albo brak go w ogóle na liście wskazuje na blokadę po drodze, najczęściej przez firewall lub regułę bezpieczeństwa.
Krok 4: Wyczyść sesje WooCommerce
W panelu WordPress wejdź w WooCommerce → Status → Narzędzia i użyj opcji czyszczenia sesji koszyka oraz danych przejściowych (transients). To naprawia problemy wynikające z uszkodzonych lub nieaktualnych danych sesji.
Krok 5: Sprawdź strony WooCommerce w ustawieniach
W WooCommerce → Ustawienia → Zaawansowane sprawdź, czy strony Koszyk, Kasa i Moje konto są poprawnie przypisane do istniejących podstron. Przypadkowe usunięcie lub zmiana jednej z tych stron w edytorze potrafi wyglądać dokładnie jak zepsuty koszyk.
Krok 6: Dezaktywuj wtyczki przez FTP, jeśli poprzednie kroki nie pomogły
Połącz się przez FTP, w wp-content/ zmień nazwę folderu plugins na plugins_disabled. Jeśli koszyk zaczął działać, przywróć nazwę i aktywuj wtyczki po jednej, testując koszyk po każdej, żeby znaleźć winowajcę bez ryzyka utraty ustawień sklepu.
Kiedy lepiej zadzwonić do specjalisty
Zepsuty koszyk to bezpośrednia utrata sprzedaży, każda godzina zwłoki kosztuje realne pieniądze, nie tylko czas. Jeśli sklep jest za Cloudflare i korzysta z wtyczki cache oraz wtyczki bezpieczeństwa jednocześnie, przyczyn bywa kilka naraz. Zadzwoń do mnie: 577 020 415, diagnozę zaczynam w ciągu godziny, a naprawę błędów WordPress wyceniam uczciwie, rozliczając co 15 minut.