Cache w WooCommerce - jak ustawić pamięć podręczną bez psucia koszyka i checkoutu

Łukasz Palej

Łukasz Palej

Technical Implementation Expert

Cache w WooCommerce ustawiasz tak, by strony katalogu - strona główna, kategorie i karty produktów - były serwowane z pamięci podręcznej, a koszyk, zamówienie (checkout) i Moje konto zawsze generowały się na bieżąco dla konkretnego klienta. Do tego wykluczasz z cache ciasteczka WooCommerce, takie jak woocommerce_cart_hash, woocommerce_items_in_cart i wp_woocommerce_session_, żeby klient z produktami w koszyku nie dostał cudzej, zapisanej wcześniej wersji strony.

Pamięć podręczna to jeden z najtańszych sposobów na szybszy sklep na WordPressie. Źle ustawiona potrafi jednak zrobić więcej szkody niż pożytku: koszyk pokazuje stare produkty, klient nie może się zalogować, a zamówienie zatrzymuje się na błędzie w ostatnim kroku. W tym wpisie wyjaśniamy, jakie rodzaje cache spotkasz w sklepie WooCommerce, które strony i ciasteczka trzeba wykluczyć, jak skonfigurować popularne wtyczki i jak przetestować sklep po każdej zmianie ustawień.

[#wazne] W skrócie: w WooCommerce cache stron włączasz dla katalogu, a wyłączasz dla koszyka, checkoutu i Mojego konta oraz dla odwiedzających z ciasteczkami sesji i koszyka WooCommerce. Wtyczki takie jak WP Super Cache rozpoznają te strony same, inne wymagają ręcznych wykluczeń. Cache obiektów (np. Redis) przyspiesza panel i dynamiczne strony, ale wymaga wsparcia hostingu. W Vinson budujemy i rozwijamy sklepy na WooCommerce oraz integrujemy je z Allegro i Base, w tym konfigurujemy cache tak, żeby nie psuł sprzedaży.

Czym jest cache w WooCommerce i jakie są jego rodzaje?

Cache, czyli pamięć podręczna, to zapisana wcześniej kopia wyniku pracy serwera, którą można oddać kolejnemu odwiedzającemu bez ponownego liczenia wszystkiego od zera. W sklepie WooCommerce każde wyświetlenie strony to praca PHP i wiele zapytań do bazy danych. Gdy strona kategorii jest w cache, serwer wysyła gotowy plik HTML, a nie składa go od nowa. To skraca czas odpowiedzi i odciąża hosting, zwłaszcza przy większym ruchu, np. w czasie kampanii reklamowej.

Problem polega na tym, że sklep internetowy nie jest zwykłą stroną firmową. Część treści jest taka sama dla wszystkich, a część zależy od klienta: zawartość koszyka, ceny po zalogowaniu, adres dostawy, zapisane zamówienia. Dlatego w sklepie działa zwykle kilka warstw cache naraz i każdą trzeba ustawić z myślą o tym, co zobaczy klient. Najczęściej spotkasz:

  • Cache stron (page cache) - gotowe pliki HTML całych podstron. Daje największy zysk szybkości, ale to on najczęściej psuje koszyk, jeśli nie ma wykluczeń.

  • Cache obiektów (object cache) - wyniki zapytań do bazy przechowywane w pamięci, np. w Redis lub Memcached. Przyspiesza strony, których nie da się zapisać w całości, w tym panel administracyjny.

  • Cache przeglądarki - pliki CSS, JavaScript, czcionki i obrazy zapisane na urządzeniu klienta, dzięki czemu kolejne podstrony ładują się szybciej.

  • CDN - sieć serwerów, która trzyma kopie plików statycznych, a czasem całych stron, bliżej odwiedzającego.

  • Cache po stronie serwera - mechanizmy hostingu, np. Varnish lub cache wbudowany w serwer, które działają niezależnie od wtyczek w WordPressie.

Każda z tych warstw działa w innym miejscu i inaczej się ją czyści. Tak wygląda podział w typowym sklepie WooCommerce:

[#chart:woo70a]

Które strony WooCommerce wykluczyć z cache?

Dokumentacja WooCommerce wymienia trzy strony, które muszą pozostać dynamiczne: Koszyk, Zamówienie (checkout) i Moje konto. Powód jest prosty - pokazują informacje przypisane do bieżącego klienta i jego koszyka. Jeśli taka strona trafi do cache, kolejny odwiedzający może zobaczyć cudzy koszyk albo formularz, który nie zadziała. Wiele wtyczek wyklucza te strony automatycznie, ale dokumentacja zaleca, żeby to sprawdzić, a nie zakładać.

Przy cache serwerowym typu Varnish dokumentacja WooCommerce zaleca pomijanie żądań do adresów /cart, /my-account, /checkout i /addons oraz każdego adresu zawierającego parametr ?add-to-cart=. W polskim sklepie adresy tych stron są zwykle przetłumaczone, np. /koszyk, /zamowienie i /moje-konto, więc wykluczenia muszą obejmować adresy faktycznie używane w Twoim sklepie, a nie tylko przykłady z dokumentacji.

Ciasteczka WooCommerce, które powinny wyłączać cache

Samo wykluczenie stron to za mało. Klient, który dodał produkt do koszyka, ogląda dalej kategorie i karty produktów, a nagłówek strony z licznikiem koszyka czy komunikatami powinien być dla niego aktualny. Dlatego dokumentacja WooCommerce wymienia ciasteczka, które warto wykluczyć z cache:

CiasteczkoDo czego służyJak długo działa
woocommerce_cart_hashśledzi zmiany zawartości koszykasesja
woocommerce_items_in_cartśledzi zmiany zawartości koszykasesja
wp_woocommerce_session_wiąże klienta z danymi koszyka w bazie2 dni
woocommerce_recently_viewedobsługuje widżet ostatnio oglądanych produktówsesja
store_notice[id komunikatu]pozwala zamknąć komunikat sklepusesja

W praktyce oznacza to regułę: jeśli odwiedzający ma ciasteczko koszyka lub sesji WooCommerce, dostaje stronę generowaną na bieżąco. Pozostali, czyli większość ruchu z reklam i wyszukiwarki, dostają szybką wersję z cache. Taki podział zachowuje większość zysku z pamięci podręcznej, a jednocześnie chroni koszyk przed pomyłkami.

Bezpłatna konsultacja WooCommerce
Sprawdź potencjał swojego sklepu WooCommerce
  • Przegląd sklepu, wtyczek i wydajności
  • Płatności, wysyłki i integracje
  • Plan rozwoju sklepu
Łukasz PalejKonsultację poprowadzi Łukasz Palej, Technical Implementation Expert

Jak skonfigurować wtyczki cache dla WooCommerce?

Każda wtyczka cache ma inny panel i inne nazwy opcji, ale zasada jest wspólna: wykluczone strony, wykluczone ciasteczka i ostrożność przy łączeniu oraz minifikacji skryptów. Dokumentacja WooCommerce opisuje kilka popularnych rozwiązań:

  • WP Super Cache - według dokumentacji jest natywnie zgodna z WooCommerce. Sklep sam sygnalizuje wtyczce, żeby nie zapisywała koszyka, zamówienia i Mojego konta.

  • W3 Total Cache - dokumentacja zaleca dodanie „mfunc” do opcji Ignored comment stems w ustawieniach minifikacji.

  • WP Rocket - wtyczka komercyjna spoza repozytorium wordpress.org. Dokumentacja WooCommerce zaleca wykluczenie koszyka, zamówienia i Mojego konta oraz unikanie minifikacji plików JavaScript.

  • LiteSpeed Cache - darmowa wtyczka z repozytorium wordpress.org. Jej funkcje cache stron, w tym obsługa WooCommerce, wymagają serwera LiteSpeed lub QUIC.cloud CDN. Optymalizacja obrazów, CSS i JS działa na każdym serwerze.

Jeśli hosting ma własny cache serwerowy, wtyczka w WordPressie nie zawsze nim steruje. Wtedy wykluczenia ustawia się w panelu hostingu albo zgłasza do pomocy technicznej. Dokumentacja WooCommerce opisuje typowy objaw takiej sytuacji: gdy hosting zapisuje w cache stronę Moje konto, reset hasła wraca w kółko do logowania. Rozwiązaniem jest poproszenie hostingu o wykluczenie tej strony.

[#uwaga] Nie włączaj dwóch mechanizmów cache stron naraz, np. wtyczki i cache serwerowego hostingu, jeśli nie wiesz, który z nich obsługuje wykluczenia. Dwie warstwy z różnymi regułami to częsta przyczyna sytuacji, w której koszyk raz działa, a raz nie, i trudno wskazać winowajcę.

Minifikacja i łączenie skryptów a checkout

Wtyczki cache często oferują też optymalizację plików: łączenie CSS i JS, minifikację, opóźnione ładowanie skryptów. Te funkcje nie są cache w ścisłym sensie, ale to one najczęściej psują checkout. Formularz zamówienia, metody płatności i dostawy opierają się na JavaScripcie WooCommerce i bramek płatności. Jeśli skrypt bramki zostanie opóźniony albo połączony w złej kolejności, przycisk zamówienia może nie reagować, a pole płatności się nie wyświetli.

Bezpieczna praktyka to wyłączenie optymalizacji JavaScript na stronach koszyka i zamówienia albo dodanie skryptów WooCommerce i bramek płatności do wyjątków. Dokumentacja WooCommerce przy WP Rocket wprost zaleca unikanie minifikacji JavaScript. O tym, jak uprościć sam formularz zamówienia, piszemy we wpisie o tym, jak skrócić checkout w WooCommerce i podnieść konwersję.

Kiedy czyścić cache w sklepie WooCommerce?

Większość wtyczek czyści zapisane strony automatycznie po edycji produktu lub wpisu. Ręczne czyszczenie przydaje się po zmianach, które dotyczą wielu stron naraz: po aktualizacji motywu, zmianie menu, stopki albo banera promocyjnego, po zmianie ustawień podatków i walut oraz po imporcie produktów. Uważaj na zmiany wykonywane poza panelem, np. aktualizacje cen i stanów z hurtowni, systemu ERP albo Base. Jeśli integracja zapisuje dane bezpośrednio w bazie, wtyczka cache może nie zauważyć zmiany i przez jakiś czas pokazywać klientom starą cenę lub produkt dostępny, którego już nie ma. Wtedy warto skrócić czas życia cache dla kart produktów albo ustawić czyszczenie po synchronizacji.

Cache obiektów i baza danych w WooCommerce

Cache stron nie pomoże tam, gdzie każda odsłona jest inna: w koszyku, na checkoucie, w panelu i u zalogowanych klientów. Tu przydaje się trwały cache obiektów (persistent object cache). WordPress ma wbudowany cache obiektów, ale domyślnie działa on tylko w trakcie jednego żądania. Dopiero zewnętrzny magazyn, np. Redis, pozwala przechowywać wyniki zapytań między odsłonami.

Popularną wtyczką do tego celu jest Redis Object Cache z repozytorium wordpress.org. Wtyczka łączy WordPress z serwerem Redis, ale sama go nie instaluje - Redis musi być dostępny na hostingu. Zanim go włączysz, zapytaj dostawcę, czy usługa jest w Twoim pakiecie i jak ją skonfigurować. Dokumentacja WooCommerce dodaje jedną wskazówkę do cache bazy danych: jeśli Twój system go oferuje, rozważ wykluczenie danych sesji, czyli wpisów _wc_session_.

Geolokalizacja klienta a pamięć podręczna

W ustawieniach ogólnych WooCommerce opcja „Domyślna lokalizacja klienta” decyduje, jak sklep ustala kraj odwiedzającego, np. do wyliczenia podatków i dostaw. Wariant z geolokalizacją wymaga klucza licencyjnego MaxMind. Przy włączonym cache stron zwykła geolokalizacja może dać złe wyniki, bo zapisana strona pokaże ceny lub komunikaty wyliczone dla pierwszego odwiedzającego. Dlatego WooCommerce ma osobny wariant: „Geolokalizacja (ze wsparciem pamięci podręcznej)”. Jeśli sprzedajesz tylko w Polsce, zwykle wystarczy prostsze ustawienie bez geolokalizacji.

Czas życia cache i zabezpieczenia formularzy

WordPress zabezpiecza formularze i żądania AJAX jednorazowymi kodami (nonce), które według dokumentacji WordPressa domyślnie są ważne przez jeden dzień. Jeśli strona z takim kodem leży w cache dłużej, część akcji może zwracać błąd, np. przy dodawaniu do koszyka z poziomu listy produktów lub w formularzach wtyczek. Dlatego czas życia cache stron warto ustawić krócej niż ważność tych kodów i sprawdzić, czy wtyczka cache odświeża strony automatycznie.

Poniżej zebraliśmy najczęstsze objawy źle ustawionego cache w sklepie WooCommerce i to, od czego zacząć poprawki:

[#chart:woo70b]

Mini koszyk w nagłówku i cart fragments

Licznik koszyka w nagłówku to miejsce, w którym cache stron i dynamika sklepu spotykają się na każdej podstronie. Przez lata WooCommerce aktualizował go skryptem cart fragments, który wysyłał dodatkowe żądanie do serwera przy każdej odsłonie. Od wersji 7.8 WooCommerce przestał ładować ten skrypt domyślnie na wszystkich stronach, a w kolejnych wersjach ograniczył go do sytuacji, w których jest potrzebny, np. przy widżecie koszyka.

Po tej zmianie część motywów musiała poprawić swój mini koszyk, bo licznik przestawał się odświeżać. Jeśli po aktualizacji WooCommerce albo motywu licznik w nagłówku pokazuje złą liczbę produktów, to częściej problem skryptów motywu niż samego cache. Sprawdź go w oknie prywatnym z wyłączonym cache, a dopiero potem szukaj winy w ustawieniach wtyczki.

Jak przetestować cache w sklepie WooCommerce?

Każdą zmianę ustawień cache testuj tak, jak robi to klient. Najlepiej najpierw na kopii sklepu, a po wdrożeniu jeszcze raz na produkcji. Przykładowa procedura testu po zmianie konfiguracji:

[#chart:woo70c]

Do tej listy dodaj testy sezonowe. Przed promocją sprawdź, czy nowa cena produktu od razu pojawia się na karcie produktu i w kategorii - jeśli nie, wtyczka nie czyści cache po edycji produktu. Przy progach darmowej dostawy upewnij się, że komunikat o brakującej kwocie liczy się dla bieżącego koszyka, a nie z zapisanej strony. Jak ustawić sam próg, opisujemy w tekście o tym, jak ustawić darmową dostawę w WooCommerce i nie stracić marży.

[#checklista] Lista kontrolna po wdrożeniu cache: koszyk, zamówienie i Moje konto poza cache; ciasteczka koszyka i sesji WooCommerce w wyjątkach; skrypty płatności nieopóźnione na checkoucie; tylko jeden mechanizm cache stron; czyszczenie cache po zmianie ceny i stanu; zamówienie testowe złożone po każdej zmianie ustawień.

Jak Vinson pomaga z cache w sklepach WooCommerce

W Vinson budujemy i rozwijamy sklepy na WooCommerce oraz integrujemy je z Allegro i Base. Przy konfiguracji cache patrzymy na cały sklep, a nie tylko na wynik testu szybkości:

  • dobieramy wtyczkę cache do serwera i pakietu hostingu,

  • ustawiamy wykluczenia stron i ciasteczek WooCommerce dla adresów używanych w Twoim sklepie,

  • sprawdzamy checkout z bramkami płatności po każdej zmianie optymalizacji skryptów,

  • pilnujemy, żeby zmiany cen i stanów z integracji, np. z Base, od razu były widoczne dla klientów.

Więcej o współpracy znajdziesz na stronie sklepy na WooCommerce z Vinson.

Najczęściej zadawane pytania

Czy cache w WooCommerce jest bezpieczny dla koszyka?

Tak, jeśli koszyk, zamówienie i Moje konto są wykluczone z cache stron, a odwiedzający z ciasteczkami koszyka i sesji WooCommerce dostają strony generowane na bieżąco. Problemy pojawiają się zwykle wtedy, gdy wykluczeń brakuje albo działają dwa mechanizmy cache naraz.

Które strony WooCommerce wyłączyć z pamięci podręcznej?

Dokumentacja WooCommerce wymienia Koszyk, Zamówienie (checkout) i Moje konto. Przy cache serwerowym warto też pomijać adresy z parametrem add-to-cart. Pamiętaj, że w polskim sklepie adresy tych stron są zwykle przetłumaczone.

Jaka wtyczka cache do WooCommerce?

Wybór zależy od serwera. WP Super Cache jest według dokumentacji WooCommerce natywnie zgodna ze sklepem, a LiteSpeed Cache sprawdza się na serwerach LiteSpeed, bo tylko tam działa jej cache stron. Jeśli hosting ma własny cache serwerowy, często lepiej oprzeć się na nim i nie dokładać drugiej warstwy.

Czy Redis przyspieszy sklep WooCommerce?

Trwały cache obiektów, np. Redis, może przyspieszyć strony dynamiczne, takie jak koszyk, checkout i panel, bo ogranicza liczbę zapytań do bazy. Wymaga jednak serwera Redis po stronie hostingu i wtyczki, np. Redis Object Cache. Efekt warto zmierzyć przed i po włączeniu.

Dlaczego po włączeniu cache klient nie może złożyć zamówienia?

Najczęstsze przyczyny to strona zamówienia zapisana w cache, opóźnione lub połączone skrypty bramki płatności albo nieaktualne kody zabezpieczeń w zapisanej stronie. Zacznij od wyłączenia optymalizacji JavaScript na checkoucie i sprawdzenia wykluczeń, a potem złóż zamówienie testowe w oknie prywatnym.

Dobrze ustawiony cache w WooCommerce przyspiesza katalog i reklamy, a koszyk i checkout zostawia w spokoju. Jeśli chcesz uporządkować pamięć podręczną, optymalizację skryptów i wydajność całego sklepu, sprawdź sklep na WooCommerce z Vinson - zaczniemy od przeglądu obecnej konfiguracji i testu zamówienia.

Jak skonfigurować wtyczki cache dla WooCommerce?

Każda wtyczka cache ma inny panel i inne nazwy opcji, ale zasada jest wspólna: wykluczone strony, wykluczone ciasteczka i ostrożność przy łączeniu oraz minifikacji skryptów. Dokumentacja WooCommerce opisuje kilka popularnych rozwiązań:

  • WP Super Cache - według dokumentacji jest natywnie zgodna z WooCommerce. Sklep sam sygnalizuje wtyczce, żeby nie zapisywała koszyka, zamówienia i Mojego konta.

  • W3 Total Cache - dokumentacja zaleca dodanie „mfunc” do opcji Ignored comment stems w ustawieniach minifikacji.

  • WP Rocket - wtyczka komercyjna spoza repozytorium wordpress.org. Dokumentacja WooCommerce zaleca wykluczenie koszyka, zamówienia i Mojego konta oraz unikanie minifikacji plików JavaScript.

  • LiteSpeed Cache - darmowa wtyczka z repozytorium wordpress.org. Jej funkcje cache stron, w tym obsługa WooCommerce, wymagają serwera LiteSpeed lub QUIC.cloud CDN. Optymalizacja obrazów, CSS i JS działa na każdym serwerze.

Jeśli hosting ma własny cache serwerowy, wtyczka w WordPressie nie zawsze nim steruje. Wtedy wykluczenia ustawia się w panelu hostingu albo zgłasza do pomocy technicznej. Dokumentacja WooCommerce opisuje typowy objaw takiej sytuacji: gdy hosting zapisuje w cache stronę Moje konto, reset hasła wraca w kółko do logowania. Rozwiązaniem jest poproszenie hostingu o wykluczenie tej strony.

[#uwaga] Nie włączaj dwóch mechanizmów cache stron naraz, np. wtyczki i cache serwerowego hostingu, jeśli nie wiesz, który z nich obsługuje wykluczenia. Dwie warstwy z różnymi regułami to częsta przyczyna sytuacji, w której koszyk raz działa, a raz nie, i trudno wskazać winowajcę.

Minifikacja i łączenie skryptów a checkout

Wtyczki cache często oferują też optymalizację plików: łączenie CSS i JS, minifikację, opóźnione ładowanie skryptów. Te funkcje nie są cache w ścisłym sensie, ale to one najczęściej psują checkout. Formularz zamówienia, metody płatności i dostawy opierają się na JavaScripcie WooCommerce i bramek płatności. Jeśli skrypt bramki zostanie opóźniony albo połączony w złej kolejności, przycisk zamówienia może nie reagować, a pole płatności się nie wyświetli.

Bezpieczna praktyka to wyłączenie optymalizacji JavaScript na stronach koszyka i zamówienia albo dodanie skryptów WooCommerce i bramek płatności do wyjątków. Dokumentacja WooCommerce przy WP Rocket wprost zaleca unikanie minifikacji JavaScript. O tym, jak uprościć sam formularz zamówienia, piszemy we wpisie o tym, jak skrócić checkout w WooCommerce i podnieść konwersję.

Kiedy czyścić cache w sklepie WooCommerce?

Większość wtyczek czyści zapisane strony automatycznie po edycji produktu lub wpisu. Ręczne czyszczenie przydaje się po zmianach, które dotyczą wielu stron naraz: po aktualizacji motywu, zmianie menu, stopki albo banera promocyjnego, po zmianie ustawień podatków i walut oraz po imporcie produktów. Uważaj na zmiany wykonywane poza panelem, np. aktualizacje cen i stanów z hurtowni, systemu ERP albo Base. Jeśli integracja zapisuje dane bezpośrednio w bazie, wtyczka cache może nie zauważyć zmiany i przez jakiś czas pokazywać klientom starą cenę lub produkt dostępny, którego już nie ma. Wtedy warto skrócić czas życia cache dla kart produktów albo ustawić czyszczenie po synchronizacji.

Cache obiektów i baza danych w WooCommerce

Cache stron nie pomoże tam, gdzie każda odsłona jest inna: w koszyku, na checkoucie, w panelu i u zalogowanych klientów. Tu przydaje się trwały cache obiektów (persistent object cache). WordPress ma wbudowany cache obiektów, ale domyślnie działa on tylko w trakcie jednego żądania. Dopiero zewnętrzny magazyn, np. Redis, pozwala przechowywać wyniki zapytań między odsłonami.

Popularną wtyczką do tego celu jest Redis Object Cache z repozytorium wordpress.org. Wtyczka łączy WordPress z serwerem Redis, ale sama go nie instaluje - Redis musi być dostępny na hostingu. Zanim go włączysz, zapytaj dostawcę, czy usługa jest w Twoim pakiecie i jak ją skonfigurować. Dokumentacja WooCommerce dodaje jedną wskazówkę do cache bazy danych: jeśli Twój system go oferuje, rozważ wykluczenie danych sesji, czyli wpisów _wc_session_.

Geolokalizacja klienta a pamięć podręczna

W ustawieniach ogólnych WooCommerce opcja „Domyślna lokalizacja klienta” decyduje, jak sklep ustala kraj odwiedzającego, np. do wyliczenia podatków i dostaw. Wariant z geolokalizacją wymaga klucza licencyjnego MaxMind. Przy włączonym cache stron zwykła geolokalizacja może dać złe wyniki, bo zapisana strona pokaże ceny lub komunikaty wyliczone dla pierwszego odwiedzającego. Dlatego WooCommerce ma osobny wariant: „Geolokalizacja (ze wsparciem pamięci podręcznej)”. Jeśli sprzedajesz tylko w Polsce, zwykle wystarczy prostsze ustawienie bez geolokalizacji.

Czas życia cache i zabezpieczenia formularzy

WordPress zabezpiecza formularze i żądania AJAX jednorazowymi kodami (nonce), które według dokumentacji WordPressa domyślnie są ważne przez jeden dzień. Jeśli strona z takim kodem leży w cache dłużej, część akcji może zwracać błąd, np. przy dodawaniu do koszyka z poziomu listy produktów lub w formularzach wtyczek. Dlatego czas życia cache stron warto ustawić krócej niż ważność tych kodów i sprawdzić, czy wtyczka cache odświeża strony automatycznie.

Poniżej zebraliśmy najczęstsze objawy źle ustawionego cache w sklepie WooCommerce i to, od czego zacząć poprawki:

[#chart:woo70b]

Mini koszyk w nagłówku i cart fragments

Licznik koszyka w nagłówku to miejsce, w którym cache stron i dynamika sklepu spotykają się na każdej podstronie. Przez lata WooCommerce aktualizował go skryptem cart fragments, który wysyłał dodatkowe żądanie do serwera przy każdej odsłonie. Od wersji 7.8 WooCommerce przestał ładować ten skrypt domyślnie na wszystkich stronach, a w kolejnych wersjach ograniczył go do sytuacji, w których jest potrzebny, np. przy widżecie koszyka.

Po tej zmianie część motywów musiała poprawić swój mini koszyk, bo licznik przestawał się odświeżać. Jeśli po aktualizacji WooCommerce albo motywu licznik w nagłówku pokazuje złą liczbę produktów, to częściej problem skryptów motywu niż samego cache. Sprawdź go w oknie prywatnym z wyłączonym cache, a dopiero potem szukaj winy w ustawieniach wtyczki.

Jak przetestować cache w sklepie WooCommerce?

Każdą zmianę ustawień cache testuj tak, jak robi to klient. Najlepiej najpierw na kopii sklepu, a po wdrożeniu jeszcze raz na produkcji. Przykładowa procedura testu po zmianie konfiguracji:

[#chart:woo70c]

Do tej listy dodaj testy sezonowe. Przed promocją sprawdź, czy nowa cena produktu od razu pojawia się na karcie produktu i w kategorii - jeśli nie, wtyczka nie czyści cache po edycji produktu. Przy progach darmowej dostawy upewnij się, że komunikat o brakującej kwocie liczy się dla bieżącego koszyka, a nie z zapisanej strony. Jak ustawić sam próg, opisujemy w tekście o tym, jak ustawić darmową dostawę w WooCommerce i nie stracić marży.

[#checklista] Lista kontrolna po wdrożeniu cache: koszyk, zamówienie i Moje konto poza cache; ciasteczka koszyka i sesji WooCommerce w wyjątkach; skrypty płatności nieopóźnione na checkoucie; tylko jeden mechanizm cache stron; czyszczenie cache po zmianie ceny i stanu; zamówienie testowe złożone po każdej zmianie ustawień.

Jak Vinson pomaga z cache w sklepach WooCommerce

W Vinson budujemy i rozwijamy sklepy na WooCommerce oraz integrujemy je z Allegro i Base. Przy konfiguracji cache patrzymy na cały sklep, a nie tylko na wynik testu szybkości:

  • dobieramy wtyczkę cache do serwera i pakietu hostingu,

  • ustawiamy wykluczenia stron i ciasteczek WooCommerce dla adresów używanych w Twoim sklepie,

  • sprawdzamy checkout z bramkami płatności po każdej zmianie optymalizacji skryptów,

  • pilnujemy, żeby zmiany cen i stanów z integracji, np. z Base, od razu były widoczne dla klientów.

Więcej o współpracy znajdziesz na stronie sklepy na WooCommerce z Vinson.

Najczęściej zadawane pytania

Czy cache w WooCommerce jest bezpieczny dla koszyka?

Tak, jeśli koszyk, zamówienie i Moje konto są wykluczone z cache stron, a odwiedzający z ciasteczkami koszyka i sesji WooCommerce dostają strony generowane na bieżąco. Problemy pojawiają się zwykle wtedy, gdy wykluczeń brakuje albo działają dwa mechanizmy cache naraz.

Które strony WooCommerce wyłączyć z pamięci podręcznej?

Dokumentacja WooCommerce wymienia Koszyk, Zamówienie (checkout) i Moje konto. Przy cache serwerowym warto też pomijać adresy z parametrem add-to-cart. Pamiętaj, że w polskim sklepie adresy tych stron są zwykle przetłumaczone.

Jaka wtyczka cache do WooCommerce?

Wybór zależy od serwera. WP Super Cache jest według dokumentacji WooCommerce natywnie zgodna ze sklepem, a LiteSpeed Cache sprawdza się na serwerach LiteSpeed, bo tylko tam działa jej cache stron. Jeśli hosting ma własny cache serwerowy, często lepiej oprzeć się na nim i nie dokładać drugiej warstwy.

Czy Redis przyspieszy sklep WooCommerce?

Trwały cache obiektów, np. Redis, może przyspieszyć strony dynamiczne, takie jak koszyk, checkout i panel, bo ogranicza liczbę zapytań do bazy. Wymaga jednak serwera Redis po stronie hostingu i wtyczki, np. Redis Object Cache. Efekt warto zmierzyć przed i po włączeniu.

Dlaczego po włączeniu cache klient nie może złożyć zamówienia?

Najczęstsze przyczyny to strona zamówienia zapisana w cache, opóźnione lub połączone skrypty bramki płatności albo nieaktualne kody zabezpieczeń w zapisanej stronie. Zacznij od wyłączenia optymalizacji JavaScript na checkoucie i sprawdzenia wykluczeń, a potem złóż zamówienie testowe w oknie prywatnym.

Dobrze ustawiony cache w WooCommerce przyspiesza katalog i reklamy, a koszyk i checkout zostawia w spokoju. Jeśli chcesz uporządkować pamięć podręczną, optymalizację skryptów i wydajność całego sklepu, sprawdź sklep na WooCommerce z Vinson - zaczniemy od przeglądu obecnej konfiguracji i testu zamówienia.

Czy ten artykuł był pomocny? Oceń go
Bądź pierwszą osobą, która oceni

Łukasz Palej

Technical Implementation Expert

Wdraża integracje i rozwiązania IT dla e-commerce: sklepy, feedy produktowe, przepływ danych między systemami.

Wdraża integracje i rozwiązania IT dla e-commerce: sklepy, feedy produktowe, przepływ danych między systemami.

★★★★★
Współpracowałeś z Vinson?
Twoja opinia pomoże innym sprzedawcom wybrać sprawdzoną agencję. Zajmie Ci to minutę.
Oceń nas na Trustpilot →
Potrzebujesz pomocy z tym tematem?

Sklep na WooCommerce z Vinson

Łukasz i nasz zespół pomogą Ci wdrożyć to na Twoim koncie - bez zobowiązań.

  • Analiza Twojego konta i obecnych działań
  • Konkretny plan poprawek do wdrożenia
  • Bezpłatna konsultacja – bez zobowiązań
4,9/5 ze 171 opiniiWdrażamy i rozwijamy sklepy WooCommerce
Łukasz Palej - Technical Implementation Expert
Łukasz PalejTechnical Implementation Expert

Przeczytaj także

Więcej porad z naszej bazy wiedzy - przesuń, aby zobaczyć kolejne artykuły.

1 / 1

Masz pytania? Chętnie porozmawiamy!

Masz pytania? Chętnie porozmawiamy!

Odpowiadamy w ciągu 24 godzin w dni robocze. Pierwsza rozmowa jest bezpłatna i do niczego nie zobowiązuje.

Masz pytania? Chętnie porozmawiamy!

Odpowiadamy w ciągu 24 godzin w dni robocze. Pierwsza rozmowa jest bezpłatna i do niczego nie zobowiązuje.

Bartłomiej Stokłosa, CEO Vinson Agency

Bartłomiej Stokłosa

CEO & Founder

"Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie - przyjdzie i to zrobi."

Bartłomiej Stokłosa, CEO Vinson Agency

Bartłomiej Stokłosa

CEO & Founder

"Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie - przyjdzie i to zrobi."

Zadzwoń

574 944 685

Adres

Kazimierza Wielkiego 7/7

32-700 Bochnia

Wybierz dogodny termin w kalendarzu - bez wymiany maili w tę i z powrotem.

Napisz do nas

Opisz krótko, czego potrzebujesz - oddzwonimy lub odpiszemy w ciągu 24 godzin w dni robocze.

Łukasz PalejNa zapytanie odpowie Łukasz Palej, Technical Implementation Expert

Napisz do nas

Opisz krótko, czego potrzebujesz - oddzwonimy lub odpiszemy w ciągu 24 godzin w dni robocze.

Łukasz PalejNa zapytanie odpowie Łukasz Palej, Technical Implementation Expert
4,9172 opinii klientów · Trustindex →