Klient klika „Dodaj do koszyka”, widzi potwierdzenie, a po przejściu do płatności koszyk jest pusty. Taki błąd w WooCommerce może dotyczyć wszystkich kupujących albo wyłącznie gości, jednego urządzenia czy określonej drogi wejścia. Zanim wyłączysz połowę sklepu, ustal dokładnie, kiedy zawartość znika.
Najczęściej trzeba rozdzielić trzy rzeczy: zapis sesji klienta, działanie pamięci podręcznej oraz sam interfejs koszyka. Ikona z liczbą „0” nie zawsze oznacza, że produkty naprawdę zniknęły. Pełna strona koszyka może nadal zawierać zamówione pozycje.
Odtwórz problem jako niezalogowany klient
Administrator bywa wyłączony z części mechanizmów cache, dlatego testowanie wyłącznie na zalogowanym koncie może dawać fałszywe poczucie, że sklep działa. Otwórz nowe okno prywatne, wejdź na stronę produktu, dodaj jedną pozycję i przejdź kolejno do pełnego koszyka oraz checkoutu.
Zapisz urządzenie, przeglądarkę, produkt, wybrany wariant i adres strony. Sprawdź, czy problem pojawia się od razu, po odświeżeniu, po zmianie waluty czy po przejściu z innej subdomeny. Powtórz test na zwykłym produkcie bez dodatkowej konfiguracji.
Jeśli błąd dotyczy jednego wariantu, wróć do jego dostępności i konfiguracji. Jeśli występuje na każdym produkcie, bardziej prawdopodobny staje się wspólny mechanizm sesji, cache albo przekierowania.
Odróżnij pustą ikonę od pustego koszyka
Porównaj mini-koszyk w nagłówku z pełną stroną koszyka. Gdy produkty są na pełnej stronie, ale licznik pokazuje zero, problem może leżeć w aktualizacji widoku, skrypcie motywu lub przechowywanej wersji fragmentu strony. Nie zaczynaj wtedy od kasowania wszystkich sesji klientów.
Jeśli pozycja znika również na pełnej stronie, sprawdź ciągłość sesji. Upewnij się też, że strona przypisana w ustawieniach WooCommerce rzeczywiście zawiera odpowiedni blok lub poprawny mechanizm koszyka. Sam wygląd sekcji przygotowanej w kreatorze nie gwarantuje, że działa ona jak koszyk.
Sprawdź wszystkie warstwy cache
Cache może działać we wtyczce, na serwerze hostingu i w CDN. Wyłączenie jednej wtyczki nie usuwa reguły, która nadal podaje starą wersję strony z innego miejsca. Poproś hosting o potwierdzenie, jak obsługiwane są strony koszyka, zamówienia i konta klienta.
Widoki zależne od sesji nie powinny być serwowane jako jedna wspólna, publicznie buforowana strona. Sprawdź wyłączenia dla faktycznych adresów używanych w sklepie. Jeśli koszyk ma niestandardowy adres, gotowa reguła odnosząca się tylko do domyślnej ścieżki może go nie obejmować.
Po poprawieniu reguł wyczyść odpowiednią pamięć podręczną i wykonaj nowy test. W sklepie korzystającym z bloków zweryfikuj również obsługę żądań używanych przez te bloki. Samo usunięcie strony koszyka z cache nie naprawi reguły CDN przechwytującej potrzebne żądania.
Sprawdź cookies i zgodność adresów
WooCommerce wykorzystuje cookies do obsługi koszyka i powiązania odwiedzającego z jego sesją. Wśród nich są woocommerce_cart_hash, woocommerce_items_in_cart i cookie o nazwie zaczynającej się od wp_woocommerce_session_. Ich dokładne zachowanie zależy również od aktywnych funkcji i rozszerzeń.
Sprawdź, czy sklep konsekwentnie używa HTTPS oraz tej samej wersji domeny. Przejście między adresem z „www” i bez „www”, błędne przekierowanie albo osadzony checkout mogą wymagać dodatkowej kontroli. Nie zmieniaj adresów witryny na działającym sklepie bez sprawdzenia konsekwencji dla logowania i płatności.
Przetestuj także konfigurację narzędzia do zarządzania zgodami. Powinno ono być poprawnie zintegrowane ze sklepem i nie psuć niezbędnego działania koszyka. Nie rozwiązuj problemu przez ogólne wyłączenie całego mechanizmu zgód; ustal, który konkretny skrypt lub cookie jest nieprawidłowo blokowany.
Nie usuwaj sesji wszystkich klientów jako pierwszego kroku
Narzędzie czyszczenia sesji klientów może usunąć zawartość aktywnych koszyków. To istotna różnica w porównaniu ze zwykłym odświeżeniem cache. Jeśli sklep właśnie sprzedaje, taka operacja może przerwać zakupy osobom, które nie miały wcześniej problemu.
Najpierw zbierz dowody: błędy w konsoli przeglądarki, nieudane żądania i odpowiednie wpisy w logach. Zapisz czas testu, aby można było odnaleźć zdarzenie. Nie kopiuj do publicznych zgłoszeń danych klientów, tokenów sesji ani szczegółów płatności.
Wtyczki i motyw sprawdzaj na kopii testowej
Jeśli problem zaczął się po zmianie motywu, aktualizacji lub uruchomieniu nowej funkcji, odtwórz tę konfigurację na kopii sklepu. Sprawdzaj pojedynczo optymalizację skryptów, opóźnione ładowanie, dodatki do koszyka, wybór waluty i rozszerzenia checkoutu.
Nie wyłączaj na próbę operatorów płatności w sklepie przyjmującym zamówienia. Kopia testowa powinna korzystać z trybu testowego płatności i nie wysyłać prawdziwych zamówień do magazynu.
Problemy z kolejką zadań to osobny obszar. Jeżeli równocześnie opóźniają się integracje, sprawdź Scheduled Actions w WooCommerce, ale nie zakładaj, że duża kolejka automatycznie tłumaczy znikający koszyk.
Sprawdź całą drogę po naprawie
Dodaj produkt jako gość, zmień ilość, usuń jedną pozycję, wróć do sklepu i ponownie otwórz koszyk. Następnie sprawdź kupon, dostawę oraz płatność testową. Powtórz próbę na telefonie i w drugiej przeglądarce.
Potwierdź, że zamówienie zapisuje się raz, ma właściwe pozycje i otrzymuje oczekiwany status. Jeżeli zakup działa, ale wiadomość nie dochodzi, przejdź do diagnostyki brakującego potwierdzenia zamówienia WooCommerce. Dzięki temu nie mieszasz usterki koszyka z odrębnym problemem poczty.