Rekomendacje produktów w WooCommerce spowalniają sklep?
Sprawdź, czy opóźnione lub nieaktualne rekomendacje wynikają z kolejki, harmonogramu czy cache. Oto ścieżka diagnozy dla sklepu WooCommerce.
Czy rekomendacje mogą spowalniać sklep?
Jeśli korzystasz z rozszerzenia WooCommerce Product Recommendations i widzisz wolniejsze strony, nieaktualne propozycje albo komunikat „Now generating recommendations”, sprawdź kolejkę zadań, harmonogram WordPressa i ustawienia cache. Ten poradnik jest dla właścicieli sklepów, którzy chcą ustalić, czy problem dotyczy samego generowania rekomendacji, czy sposobu ich wyświetlania.
Rozszerzenie generuje listy w tle, aby nie wykonywać kosztownych operacji na bazie danych przy każdym wyświetleniu strony. Domyślnie pierwsza wizyta po upływie okresu odświeżania uruchamia ponowne generowanie. To może oznaczać chwilowo starsze propozycje, ale utrzymujący się komunikat o generowaniu lub narastająca kolejka wymagają sprawdzenia zadań w tle. WooCommerce opisuje ten mechanizm i domyślny okres odświeżania.
Najpierw sprawdź kolejkę
W panelu przejdź do WooCommerce → Status → Recommendations Queue. Zobaczysz tam oczekujące zadania ponownego generowania oraz zadania zakończone błędem. Jeśli liczba zadań nie maleje albo błędy wracają, problem może dotyczyć harmonogramu, środowiska hostingowego lub bazy danych. Dokumentacja WooCommerce podaje, co zawiera kolejka i jak interpretować powtarzające się błędy.
Następnie sprawdź WooCommerce → Status → Scheduled Actions i poszukaj zadań oznaczonych prl. W Narzędzia → Stan witryny przejrzyj komunikaty dotyczące zaplanowanych zdarzeń, crona i żądań zwrotnych (loopback). WooCommerce zaleca te kontrole, gdy komunikat o generowaniu nie znika po kolejnych wizytach na stronie. Lista kontrolna rozszerzenia opisuje te kroki diagnostyczne.
Co może oznaczać pełna kolejka
Powiadomienie o pełnej kolejce wskazuje, że część zadań działających w tle nie wykonuje się poprawnie. W Site Health sprawdź błędy dotyczące loopbacków oraz zaplanowanych akcji. Dokumentacja WooCommerce wymienia jako częstą przyczynę sytuację, w której hosting nie potrafi rozwiązać adresu 127.0.0.1; w takim przypadku przekaż szczegóły błędu dostawcy hostingu. FAQ WooCommerce wyjaśnia tę zależność.
Nie czyść kolejki jako pierwszego kroku. Najpierw zapisz, które zadania oczekują lub kończą się błędem, i sprawdź, czy harmonogram działa. Narzędzie WooCommerce → Status → Tools → Clear Product Recommendations queue może pomóc, gdy kolejka utknęła z powodu błędu serwera lub konfliktu, ale samo jej wyczyszczenie nie naprawi przyczyny. WooCommerce opisuje tę funkcję jako narzędzie do czyszczenia zablokowanej kolejki.
Oddziel problem kolejki od problemu cache
Cache strony może serwować gotową, starszą stronę zamiast aktualnie wygenerowanej treści rekomendacji. W efekcie produkty mogą nie wyświetlać się, być nieaktualne albo nie uwzględniać warunków widoczności. Gdy sklep używa cache, sprawdź WooCommerce → Settings → Recommendations → Deployments rendering → Use AJAX. WooCommerce wskazuje, że AJAX pozwala ominąć cache strony dla rekomendacji w określonych sytuacjach. Może jednak sprawić, że lista pojawi się dopiero po załadowaniu strony, a czas oczekiwania zależy między innymi od serwera i połączenia odwiedzającego. Szczegóły są w FAQ rozszerzenia.
Jeśli cache nie jest używany, rozważ wyłączenie renderowania AJAX. Dokumentacja wydajnościowa WooCommerce podaje, że bez cache rekomendacje mogą być wtedy generowane efektywniej i mniej obciążać serwer. Nie zmieniaj tej opcji w ciemno: najpierw ustal, czy cache działa na poziomie wtyczki, hostingu lub CDN, a potem sprawdź efekt na stronie produktu i w katalogu. WooCommerce opisuje różnicę między tymi ustawieniami.
Dostosuj odświeżanie do sklepu
W ustawieniach rozszerzenia znajdź Cache Regeneration Period. Domyślna wartość wynosi 24 godziny; można ją zmienić, aby dopasować świeżość rekomendacji do potrzeb sklepu. Krótszy okres oznacza częstsze odświeżanie, więc przed zmianą sprawdź obciążenie i status kolejki. Dłuższy okres ogranicza częstotliwość generowania, ale propozycje mogą dłużej nie uwzględniać zmian w katalogu. WooCommerce opisuje ustawienie okresu regeneracji cache.
Nie każda nieaktualna lista oznacza awarię. WooCommerce wskazuje, że na stronie bez odwiedzin odświeżenie może zostać wyzwolone dopiero przy kolejnej wizycie; nowy produkt może więc pojawić się w rekomendacjach z opóźnieniem. To zachowanie warto odróżnić od stale rosnącej kolejki lub zadań zakończonych błędem. Wyjaśnia to lista kontrolna rozszerzenia.
Ogranicz koszt generowania
Przejrzyj silniki rekomendacji i wzmacniacze (amplifiers), które wpływają na kolejność wyników. Każdy wzmacniacz może wymagać osobnego zapytania, po czym listy są łączone. WooCommerce zaleca, by nie używać wielu wzmacniaczy bez konkretnej potrzeby; zacznij od sprawdzenia, czy można uprościć reguły, zachowując oczekiwane produkty. Mechanizm i zalecenie opisano w poradniku wydajnościowym.
Przy dużym katalogu możliwe jest ograniczenie tempa dodawania zadań do kolejki. Dokumentacja opisuje filtr wc_prl_generation_task_throttle, który pozwala wydłużyć domyślne minutowe ograniczenie. To kompromis: rozkłada pracę w czasie, ale zbyt długie ograniczenie może opóźnić gotowe rekomendacje. Zmianę kodu powierz administratorowi lub deweloperowi, a po wdrożeniu obserwuj zarówno obciążenie, jak i czas oczekiwania kolejki. Opis filtra i jego skutków znajduje się w dokumentacji WooCommerce.
Dla większej kontroli WooCommerce opisuje również uruchamianie kolejki przez WP-CLI, na przykład w okresie mniejszego obciążenia. Jest to rozwiązanie administracyjne: wymaga dostępu do WP-CLI i świadomej konfiguracji, bo rozszerzenie można ustawić tak, by generowanie było obsługiwane wyłącznie przez niestandardowe polecenie. Dokumentacja podaje polecenie wp wc prl process-generation-queue i jego opcje.
Krótka ścieżka diagnozy
- Otwórz WooCommerce → Status → Recommendations Queue i zanotuj oczekujące oraz nieudane zadania.
- W Scheduled Actions sprawdź zadania
prl; w Site Health poszukaj problemów z cronem, harmonogramem i loopbackami. - Ustal, czy działa cache strony. Jeśli tak, sprawdź opcję Use AJAX i porównaj zachowanie rekomendacji po zmianie.
- Sprawdź okres regeneracji cache oraz złożoność silników i wzmacniaczy.
- Po każdej zmianie obserwuj, czy kolejka się opróżnia, a rekomendacje pojawiają się i odświeżają zgodnie z oczekiwaniem.
Jeżeli po tych kontrolach zadania nadal kończą się błędem, zbierz informacje z kolejki, Scheduled Actions i Site Health dla administratora hostingu lub dewelopera. Taki zestaw pozwala rozmawiać o konkretnym problemie harmonogramu lub serwera, zamiast od razu wyłączać rekomendacje albo cache.