Błędy krytyczne i tryb awaryjny WordPressa
Od wersji 5.2 WordPress wykrywa błędy krytyczne PHP, które wyłączają stronę, np. po aktualizacji wtyczki niezgodnej z wersją PHP. Gdy taki błąd wystąpi, WordPress wysyła na adres e-mail administratora witryny wiadomość „Twoja witryna ma problemy techniczne” z linkiem do trybu awaryjnego. W trybie awaryjnym wtyczka lub motyw powodujące błąd są wstrzymane dla osoby, która weszła przez link, więc może ona zalogować się do panelu i naprawić problem, a klienci nadal widzą błąd.
Ten mechanizm jest darmowym alarmem, ale tylko pod warunkiem, że ktoś czyta skrzynkę ustawioną jako adres administratora. W wielu sklepach jest to adres osoby, która stawiała stronę kilka lat temu. Sprawdź go w Ustawieniach ogólnych WordPressa. Programista może też zmienić adres dla samych wiadomości trybu awaryjnego stałą RECOVERY_MODE_EMAIL w pliku wp-config.php, opisaną w zapowiedzi tej funkcji na make.wordpress.org.
| Źródło sygnału | Co wykrywa | Gdzie ustawić lub sprawdzić |
|---|
| Monitor dostępności | brak odpowiedzi strony, błędy serwera | usługa zewnętrzna, panel hostingu, Jetpack |
| Tryb awaryjny WordPressa | błędy krytyczne PHP | adres e-mail administratora w Ustawieniach ogólnych |
| E-mail „Nieudane zamówienie” | płatności zakończone niepowodzeniem | WooCommerce, Ustawienia, E-maile |
| Dziennik zdarzeń | błędy WooCommerce i rozszerzeń, np. bramek | WooCommerce, Status, Dziennik zdarzeń |
| Zaplanowane działania | zadania w tle, które się nie wykonały | WooCommerce, Status, Zaplanowane działania |
| Stan witryny | problemy konfiguracji, nieaktualne komponenty | Narzędzia, Stan witryny |
Dziennik zdarzeń i Zaplanowane działania w WooCommerce
WooCommerce zapisuje informacje o błędach i ważnych zdarzeniach w Dzienniku zdarzeń, w menu WooCommerce, Status. Według dokumentacji deweloperskiej WooCommerce domyślnie wpisy trafiają do plików, nazwanych według źródła, czyli rozszerzenia lub części WooCommerce, i daty. W ustawieniach dziennika wybierasz sposób zapisu, okres przechowywania wpisów i minimalny poziom ważności, który ma być zapisywany. Bramki płatności i integracje kurierskie często logują tu szczegóły nieudanych połączeń, więc to pierwsze miejsce do sprawdzenia, gdy klient zgłasza problem z płatnością.
Obok jest zakładka Zaplanowane działania. To lista zadań wykonywanych w tle - wysyłka webhooków, synchronizacje, odnowienia subskrypcji, czyszczenie danych. Zwróć uwagę na zadania ze statusem „Niepowodzenie” i „Termin przekroczony”. Kilka nieudanych zadań raz na jakiś czas to normalne, ale rosnąca liczba przeterminowanych zadań oznacza, że kolejka nie nadąża albo się zatrzymała.
Częsta przyczyna to sposób uruchamiania zadań. Dokumentacja WordPressa wyjaśnia, że WP-Cron sprawdza listę zadań przy każdym wczytaniu strony, a nie działa stale jak systemowy cron. Przy małym ruchu, np. w nocy, zadania mogą się więc opóźniać. Rozwiązaniem jest wyłączenie wbudowanego mechanizmu stałą DISABLE_WP_CRON i ustawienie zadania cron na serwerze - zwykle w panelu hostingu. Taką zmianę warto zlecić osobie, która zna konfigurację serwera.
Monitoring zamówień i płatności - najważniejszy sygnał
Żaden monitor techniczny nie zastąpi pytania: czy zamówienia wpadają tak jak zwykle? Jeśli sklep we wtorek przed południem ma zwykle kilka zamówień na godzinę, a od trzech godzin nie ma żadnego, to sygnał do sprawdzenia checkoutu, nawet gdy wszystkie inne wskaźniki są zielone. Część narzędzi analitycznych i integratorów pozwala ustawić alert na brak zamówień w określonym czasie. W mniejszym sklepie wystarczy nawyk zerkania na listę zamówień w stałych porach dnia. Pamiętaj, że rytm zmienia się w czasie promocji, świąt i kampanii reklamowych, więc punktem odniesienia powinien być podobny dzień, a nie średnia z całego roku.
Drugi sygnał to zamówienia nieudane. WooCommerce ma e-mail „Nieudane zamówienie”, który trafia do sklepu, gdy płatność kończy się niepowodzeniem. Pojedyncze nieudane płatności zdarzają się zawsze, np. gdy klient zamknie okno banku. Warto jednak policzyć ich udział w zamówieniach i obserwować, czy nagle nie rośnie:
[#chart:woo78c]
Nagły wzrost odsetka nieudanych zamówień po aktualizacji wtyczki, zmianie w bramce płatności albo optymalizacji skryptów to czytelny znak, że trzeba przejść przez checkout ręcznie. Dobrym zwyczajem jest też zamówienie testowe po każdej większej zmianie w sklepie - opisujemy je w tekście o tym, jak bezpiecznie aktualizować wtyczki w WooCommerce.
Objawy awarii w sklepie WooCommerce i co sprawdzić najpierw
Gdy przychodzi alert albo zgłoszenie od klienta, liczy się szybka diagnoza. Najczęstsze objawy i pierwsze kroki:
[#chart:woo78b]
Integracje sklepu WooCommerce - ciche awarie
Najtrudniejsze do wykrycia są awarie, których klient w ogóle nie widzi. Zamówienie zostało złożone i opłacone, ale nie trafiło do systemu magazynowego, Base albo programu do faktur. Stany magazynowe przestały się synchronizować i sklep sprzedaje towar, którego już nie ma. Takie problemy wychodzą na jaw dopiero po kilku dniach, gdy klient pyta o przesyłkę.
Dlatego przy integracjach warto ustawić osobne punkty kontrolne. Porównuj raz dziennie liczbę zamówień w sklepie z liczbą zamówień w systemie, do którego trafiają. Sprawdzaj datę ostatniej synchronizacji stanów i cen - wiele integratorów pokazuje ją w panelu. W WooCommerce zajrzyj do zakładki Webhooki: webhook, który wielokrotnie kończy się błędem, może zostać wyłączony, a dane przestaną płynąć bez żadnego komunikatu na stronie sklepu.
Stan witryny i Status systemu raz w miesiącu
Część problemów nie wywołuje alertu, ale narasta. WordPress w menu Narzędzia, Stan witryny pokazuje problemy krytyczne i zalecane poprawki, np. nieaktualną wersję PHP, wyłączone wtyczki czy problemy z zadaniami zaplanowanymi. WooCommerce w zakładce Status systemu zbiera informacje o środowisku, wersjach rozszerzeń i nadpisanych szablonach w motywie. Raz w miesiącu przejrzyj oba ekrany i zapisz, co się zmieniło. To dobry moment, żeby wyłapać rzeczy, które za kilka tygodni mogłyby zatrzymać sprzedaż.
SSL, domena i poczta - awarie z kalendarza
Część awarii da się przewidzieć co do dnia. Wygasły certyfikat SSL sprawia, że przeglądarki pokazują ostrzeżenie zamiast sklepu, a wygasła domena wyłącza sklep i pocztę naraz. Większość hostingów odnawia darmowe certyfikaty automatycznie, ale automatyczne odnowienie też potrafi się nie udać, np. po zmianie ustawień DNS. Wiele monitorów dostępności sprawdza przy okazji termin ważności certyfikatu - włącz tę opcję. Termin domeny sprawdź u rejestratora i ustaw automatyczne odnowienie z aktualną kartą płatniczą.
Osobny temat to e-maile transakcyjne. Jeśli potwierdzenia zamówień trafiają do spamu albo w ogóle nie wychodzą, sklep działa, ale klienci dzwonią z pytaniem, czy zamówienie dotarło. Okresowo złóż zamówienie na adres w popularnej skrzynce i sprawdź, czy wiadomość dociera do odebranych.
Wydajność sklepu WooCommerce - monitoring długoterminowy
Nie każda awaria jest nagła. Sklep, który z miesiąca na miesiąc działa wolniej, traci sprzedaż powoli i trudno to zauważyć z dnia na dzień. Do obserwacji długoterminowej służy raport Core Web Vitals w Google Search Console, który pokazuje dane od prawdziwych użytkowników, oraz panel hostingu z wykorzystaniem zasobów serwera. Jak mierzyć i poprawiać te wskaźniki, opisujemy we wpisie szybkość sklepu WooCommerce - jak poprawić Core Web Vitals.
Kto reaguje na alert - prosta procedura
Monitoring bez procedury reakcji to tylko więcej e-maili. Spisz na jednej stronie:
kto dostaje alerty i kto jest zastępcą w czasie urlopu,
jak szybko trzeba zareagować w godzinach pracy, a jak poza nimi,
gdzie są dane dostępowe do hostingu, domeny i panelu sklepu,
jak wstrzymać sprzedaż, jeśli checkout nie działa, np. tryb „Już wkrótce” w WooCommerce,
gdzie są kopie zapasowe i kto może je odtworzyć.
Ostatni punkt jest kluczowy, gdy awaria wymaga powrotu do wcześniejszej wersji sklepu. Jak przygotować kopie i sprawdzić, czy da się je odtworzyć, piszemy w tekście kopie zapasowe WooCommerce - jak robić backup i testować odtwarzanie.
[#checklista] Lista kontrolna monitoringu: zewnętrzny monitor dostępności dla strony głównej, produktu i koszyka; alerty do dwóch osób w dwóch kanałach; aktualny adres e-mail administratora WordPressa; e-mail „Nieudane zamówienie” włączony; cotygodniowy przegląd Dziennika zdarzeń i Zaplanowanych działań; kontrola terminu SSL i domeny; spisana procedura reakcji.
Jak Vinson pomaga z monitoringiem sklepów WooCommerce
W Vinson budujemy i rozwijamy sklepy na WooCommerce oraz integrujemy je z Allegro i Base. Przy monitoringu:
ustawiamy monitor dostępności dla kluczowych stron sklepu i kierujemy alerty do właściwych osób,
sprawdzamy adres e-mail administratora, powiadomienia WooCommerce i dostarczalność e-maili,
przeglądamy Dziennik zdarzeń i Zaplanowane działania oraz poprawiamy uruchamianie zadań w tle,
pomagamy spisać procedurę reakcji na awarię razem z kopiami zapasowymi.
Więcej o współpracy znajdziesz na stronie sklepy na WooCommerce z Vinson.
Najczęściej zadawane pytania
Jak monitorować dostępność sklepu WooCommerce?
Użyj zewnętrznego monitora dostępności, który co kilka minut sprawdza sklep i wysyła alert, gdy strona nie odpowiada. Monitoruj nie tylko stronę główną, ale też kartę produktu i koszyk. Przykładem jest funkcja monitorowania przestojów w Jetpacku, która według dokumentacji sprawdza witrynę co pięć minut.
Gdzie są logi błędów w WooCommerce?
W panelu w menu WooCommerce, Status, w zakładce Dziennik zdarzeń. Wpisy są pogrupowane według źródła, np. rozszerzenia lub bramki płatności, i daty. W ustawieniach dziennika wybierasz sposób zapisu, okres przechowywania i minimalny poziom ważności wpisów.
Skąd wiem, że w sklepie nie działa płatność?
Sygnałem jest nagły wzrost liczby nieudanych zamówień albo brak zamówień w godzinach, w których zwykle wpadają. Włącz e-mail „Nieudane zamówienie” w ustawieniach WooCommerce i sprawdzaj Dziennik zdarzeń bramki. Po każdej większej zmianie złóż zamówienie testowe.
Co to jest tryb awaryjny WordPressa?
To mechanizm dostępny od WordPressa 5.2. Po błędzie krytycznym WordPress wysyła na adres administratora e-mail z linkiem, który pozwala zalogować się z wstrzymaną wtyczką lub motywem powodującym błąd. Dzięki temu można naprawić problem z poziomu panelu.
Dlaczego zadania w tle w WooCommerce się opóźniają?
WP-Cron uruchamia zadania przy wczytaniu strony, więc przy małym ruchu mogą one czekać. Opóźnienia powodują też błędy wtyczek i zbyt duża liczba zadań. Sprawdź zakładkę Zaplanowane działania i rozważ uruchamianie zadań przez cron na serwerze.
Dobry monitoring sklepu WooCommerce sprawia, że o awarii dowiadujesz się z alertu, a nie od klienta albo z raportu sprzedaży na koniec miesiąca. Jeśli chcesz ustawić monitoring i procedurę reakcji w swoim sklepie, sprawdź sklep na WooCommerce z Vinson - zaczniemy od przeglądu obecnych alertów i dzienników.