Resetujący się koszyk w WooCommerce to jeden z najbardziej frustrujących problemów w sklepie internetowym. Klient dodaje produkty, przechodzi do innej strony lub do kasy… i nagle koszyk jest pusty. Taka sytuacja bardzo często kończy się porzuconym zamówieniem i realną stratą sprzedaży.
Poniżej wyjaśniam dlaczego koszyk WooCommerce się resetuje oraz jak krok po kroku znaleźć i naprawić przyczynę.
Problem z sesjami WooCommerce
WooCommerce przechowuje dane koszyka w sesjach użytkownika. Jeśli sesja jest przerywana lub nie zapisywana poprawnie, koszyk znika.
Najczęstsze przyczyny:
- brak obsługi sesji na serwerze
- zbyt agresywne czyszczenie sesji
- błędna konfiguracja cache
Jak sprawdzić:
- sprawdź tabelę
wp_woocommerce_sessions w bazie danych
- upewnij się, że serwer nie blokuje zapisu sesji (np. przez memcached/redis)
Cache strony (LiteSpeed, WP Rocket, Cloudflare)
Cache jest najczęstszą przyczyną resetowania koszyka.
Jeśli strony:
- koszyka
- checkoutu
- „moje konto”
są cachowane, WooCommerce może serwować inną wersję koszyka niż aktualna.
Rozwiązanie:
- wyklucz z cache:
/cart
/checkout
/my-account
- wyłącz cache dla zalogowanych użytkowników
- w Cloudflare wyłącz cache HTML dla WooCommerce
Błędy w cookies (ciasteczkach)
WooCommerce używa cookies m.in.:
woocommerce_cart_hash
woocommerce_items_in_cart
wp_woocommerce_session_*
Jeśli cookies:
- nie zapisują się
- są nadpisywane
- są blokowane
koszyk nie działa poprawnie.
Częste powody:
- mieszanie HTTP i HTTPS
- niepoprawna domena cookie
- zgody RODO blokujące cookies przed akceptacją
Błędny adres URL strony (HTTP / HTTPS / WWW)
Jeśli sklep działa częściowo na:
http://
https://
- z
www i bez www
cookies są zapisywane dla innej domeny → koszyk znika.
Sprawdź:
- Ustawienia → Ogólne → Adres WordPressa i witryny
- certyfikat SSL
- wymuszenie jednego wariantu domeny
Konflikty z wtyczkami
Niektóre wtyczki ingerują w:
- sesje
- cookies
- zapytania AJAX
i mogą powodować reset koszyka.
Najczęściej problematyczne:
- wtyczki cache
- wtyczki bezpieczeństwa
- optymalizatory JS / CSS
- wtyczki RODO
Jak zdiagnozować:
- wyłącz wtyczki po kolei
- testuj koszyk w trybie incognito
- sprawdź konsolę JS w przeglądarce
Motyw niezgodny z WooCommerce
Źle napisany motyw może:
- usuwać fragmenty AJAX
- nadpisywać szablony WooCommerce
- błędnie obsługiwać fragmenty koszyka (
cart fragments)
Rozwiązanie:
- tymczasowo przełącz motyw na Storefront
- sprawdź, czy problem nadal występuje
- zaktualizuj motyw lub popraw nadpisane pliki
Błędy AJAX i REST API
WooCommerce aktualizuje koszyk przez AJAX. Jeśli:
admin-ajax.php zwraca błąd
- REST API jest blokowane
koszyk nie zapisuje stanu.
Sprawdź:
- konsolę przeglądarki (błędy 403 / 500)
- logi serwera
- ustawienia zabezpieczeń (WAF, firewall)
Serwer i hosting
Na tanich hostingach koszyk resetuje się przez:
- niskie limity PHP
- ubijanie procesów
- brak wsparcia dla WooCommerce
Zwróć uwagę na:
memory_limit
max_input_vars
max_execution_time
Kiedy koszyk resetuje się tylko u niezalogowanych
To klasyczny objaw:
- problemów z cookies
- cache
- zgód RODO
Zalogowani użytkownicy mają sesję w bazie, goście – tylko w cookies.
Jak zapobiec resetowaniu koszyka WooCommerce
✔️ wyklucz koszyk i checkout z cache
✔️ sprawdź HTTPS i domenę
✔️ popraw konfigurację cookies
✔️ przetestuj bez wtyczek cache
✔️ używaj motywu zgodnego z WooCommerce
✔️ monitoruj błędy JS i AJAX
Kiedy warto wezwać „pogotowie programistyczne”
Jeśli:
- koszyk resetuje się losowo
- problem występuje tylko u części użytkowników
- sprzedaż spada, a błędu nie widać
to znak, że przyczyna jest głębiej (cache serwera, sesje, CDN, hosting).