Wystąpił błąd krytyczny WordPress – co zrobić krok po kroku
- Typowe objawy
- Komunikat „Na tej stronie wystąpił błąd krytyczny” zamiast strony lub panelu
- Najczęstsza przyczyna
- Wtyczka lub motyw po aktualizacji, zmiana wersji PHP, brak pamięci
- Czas naprawy
- Zwykle od kilkunastu minut do 2 godzin, jeśli przyczyna jest w logu
- Czy zrobisz to sam?
- Tak, jeśli masz dostęp do FTP lub menedżera plików hostingu i umiesz edytować plik tekstowy
Szybka odpowiedź
Komunikat „Na tej stronie wystąpił błąd krytyczny” oznacza, że kod PHP wtyczki, motywu lub samego WordPressa przerwał działanie z błędem typu fatal. Najpierw poszukaj maila od WordPressa z linkiem do trybu odzyskiwania i wyłącz w nim wskazaną wtyczkę. Bez maila włącz WP_DEBUG_LOG w wp-config.php, odczytaj z wp-content/debug.log ścieżkę do winnego pliku i wyłącz ten dodatek, zmieniając nazwę jego katalogu przez FTP. Twoje treści i zamówienia w bazie danych zwykle są nienaruszone.
Ten komunikat wygląda groźnie, bo zastępuje całą stronę jednym zdaniem. W praktyce to jeden z wdzięczniejszych błędów do naprawy. WordPress od wersji 5.2 przechwytuje błędy krytyczne PHP, zamiast pokazywać pustą stronę, i w wielu przypadkach sam podpowiada, który dodatek zawinił. Trzeba tylko wiedzieć, gdzie tej podpowiedzi szukać.
Poniżej opisuję kolejność, w której sprawdzam takie awarie. Zaczynam od najszybszych i najbezpieczniejszych kroków. Każdy kolejny daje więcej informacji, ale wymaga trochę więcej dostępu do serwera.
Co oznacza komunikat „wystąpił błąd krytyczny”
Błąd krytyczny (w PHP: Fatal error) to sytuacja, w której interpreter PHP nie może wykonać dalej kodu i przerywa generowanie strony. Typowe powody: wywołanie funkcji, która nie istnieje, wyczerpanie pamięci, błąd składni w pliku albo przekazanie danych złego typu do funkcji, która w nowszym PHP już tego nie toleruje.
Zanim WordPress zamknie połączenie, jego mechanizm obsługi błędów sprawdza, co się stało, wysyła przeglądarce kod HTTP 500 i wyświetla krótki komunikat. Treść tego komunikatu zależy od tego, gdzie jesteś i czy działa tryb odzyskiwania. To ważna wskazówka, dlatego warto przyjrzeć się, który wariant widzisz.
Starsze instalacje (WordPress 5.2) pokazywały w tym miejscu zdanie o tym, że witryna ma problemy techniczne. Od wersji 5.3 komunikat mówi wprost o błędzie krytycznym. W wersjach od 5.3 do 5.6 link pod nim prowadził do poradnika o debugowaniu WordPressa, od wersji 5.7 prowadzi do strony z rozwiązywaniem typowych problemów. Jeśli widzisz wariant z linkiem do debugowania, strona działa na WordPressie sprzed kilku lat i aktualizacja będzie jednym z zadań po naprawie. Niezależnie od brzmienia mechanizm jest ten sam.
W aktualnym polskim WordPressie (sprawdzone na wersji 7.1) komunikat brzmi: „W witrynie wystąpił krytyczny błąd.”, a w panelu i na stronie logowania dochodzi zdanie o instrukcjach w skrzynce e-mail administratora.

Błąd krytyczny przerywa wyświetlanie strony, ale niczego nie kasuje. Wpisy, produkty, zamówienia i zdjęcia leżą w bazie danych i na dysku. Kiedy usuniesz przyczynę, strona wraca w takim stanie, w jakim była przed awarią.
Od czego zacząć: mapa diagnostyki
Na schemacie widać kolejność, w której przechodzę przez możliwe przyczyny. Najwięcej czasu oszczędza jedno pytanie: czy masz mail od WordPressa. Jeśli nie, wszystko opiera się na logu błędów, a log prawie zawsze wskazuje konkretny plik.
Mail do administratora i tryb odzyskiwania
W polskim WordPressie ten mechanizm nazywa się w panelu trybem awaryjnym. W poradniku używam nazwy „tryb odzyskiwania” z dokumentacji (ang. recovery mode), ale na ekranie szukaj słowa „awaryjny”.
Gdy błąd pochodzi z konkretnej wtyczki albo motywu, WordPress wysyła wiadomość na adres e-mail administracji ustawiony w Ustawienia, Ogólne (albo na adres ze stałej RECOVERY_MODE_EMAIL, jeśli ktoś ją zdefiniował w wp-config.php). W angielskiej wersji temat brzmi „[Nazwa strony] Your Site is Experiencing a Technical Issue”. W polskiej instalacji brzmi „[Nazwa strony] Twoja witryna ma problemy techniczne”, więc szukaj w skrzynce słów „problemy techniczne” oraz nazwy swojej strony.
W treści maila znajdziesz trzy rzeczy, które od razu przydają się w naprawie: nazwę wtyczki lub motywu, który spowodował błąd, szczegóły błędu z nazwą pliku i numerem linii oraz specjalny link logowania.
-
Znajdź mail, także w spamie
WordPress wysyła go nie częściej niż raz na dobę. Jeśli awaria trwa od rana, a Ty skasowałeś pierwszą wiadomość, kolejna przyjdzie dopiero po upływie doby. Sprawdź folder spam, oferty i wszystkie skrzynki, które kiedyś mogły być wpisane jako adres administratora.
-
Kliknij link do trybu odzyskiwania
Link prowadzi do strony logowania z parametrem
action=enter_recovery_modei jednorazowymi kluczami. Po kliknięciu WordPress ustawia w przeglądarce specjalne ciasteczko i przekierowuje Cię na adreswp-login.php?action=entered_recovery_mode. Tam logujesz się zwykłym loginem i hasłem administratora. Link jest ważny około doby. Po tym czasie nie zadziała, a nowy przyjdzie dopiero przy kolejnym wystąpieniu błędu. -
Dezaktywuj wskazany dodatek
W trybie odzyskiwania winna wtyczka lub motyw jest wstrzymany tylko w Twojej sesji. Panel działa, ale odwiedzający nadal widzą błąd. Wejdź w Wtyczki: przy wadliwej wtyczce zobaczysz opis błędu. Kliknij „Wyłącz”. Jeśli winny jest motyw, w Wygląd, Motywy włącz inny, najlepiej domyślny motyw WordPressa.

Zrzut ekranuEkran Wtyczki po wejściu z linku z maila. Przy wstrzymanej wtyczce WordPress pokazuje typ błędu, plik i numer linii. W polskim WordPressie ten tryb nazywa się trybem awaryjnym: u góry jest przycisk „Wyjdź z trybu awaryjnego”, a przy wtyczce link „Wznów”. Zrzut z testowej instalacji WordPress 7.1, ścieżki zanonimizowane. -
Wyjdź z trybu odzyskiwania i sprawdź stronę
Na górnym pasku administracyjnym jest przycisk wyjścia z trybu odzyskiwania (w polskim WordPressie: „Wyjdź z trybu awaryjnego”). Kliknij go, a potem otwórz stronę w oknie prywatnym. Jeśli działa, masz czas na spokojne rozwiązanie problemu z wtyczką: aktualizację, cofnięcie wersji albo zamiennik.
- Błąd nie pochodzi z wtyczki ani motywu, tylko na przykład z rdzenia, z pliku
wp-config.phpalbo z wtyczki w katalogumu-plugins, która ładuje się wcześniej niż tryb odzyskiwania. - Adres administratora w ustawieniach jest stary, na przykład należy do byłego wykonawcy strony.
- Serwer nie wysyła poczty albo poczta z serwera trafia do spamu.
- Strona działa w trybie sieci (multisite). Tam tryb odzyskiwania nie jest dostępny.
- Mail wyszedł już wcześniej tego dnia, a WordPress odczekuje dobę przed następnym.
- Błąd wystąpił tylko na stronie dla odwiedzających. WordPress wysyła mail dopiero wtedy, gdy błąd pojawi się w panelu lub na stronie logowania, więc spróbuj wejść na
/wp-admin/.
Bez maila: włącz log błędów
Jeśli maila nie ma, przyczynę wskaże log. WordPress ma wbudowany tryb debugowania sterowany trzema stałymi (opisanymi w dokumentacji debugowania WordPressa) w pliku wp-config.php, który leży w głównym katalogu strony (zwykle public_html lub katalog nazwany jak domena).
-
Pobierz kopię pliku wp-config.php
Połącz się przez FTP albo otwórz menedżer plików w panelu hostingu. Zanim cokolwiek zmienisz, pobierz
wp-config.phpna dysk. Jeden zgubiony średnik w tym pliku wyłącza całą stronę, a kopia pozwala to cofnąć w kilka sekund. -
Ustaw stałe debugowania
Znajdź linię
define( 'WP_DEBUG', false );i zamień ją na poniższy blok. Wszystko musi się znaleźć powyżej komentarza/* That's all, stop editing! Happy publishing. */(w spolszczonych plikach ten komentarz bywa przetłumaczony).define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );WP_DEBUGwłącza raportowanie wszystkich błędów.WP_DEBUG_LOGzapisuje je do plikuwp-content/debug.log.WP_DEBUG_DISPLAYustawione nafalsesprawia, że błędy nie pojawią się na ekranie odwiedzających. ZamiasttrueprzyWP_DEBUG_LOGmożesz podać pełną ścieżkę do pliku poza katalogiem publicznym, na przykład'/home/konto/logi/wp-debug.log'. To bezpieczniejsze, bo domyślny plik wwp-contentbywa dostępny z przeglądarki. -
Wywołaj błąd jeszcze raz
Otwórz w przeglądarce stronę, na której pojawia się komunikat. Jeśli błąd występuje tylko przy konkretnej akcji (dodanie do koszyka, wysłanie formularza, zapis wpisu), powtórz ją. Dopiero wtedy błąd trafi do logu.
-
Otwórz wp-content/debug.log
Pobierz plik przez FTP albo otwórz go w menedżerze plików. Przewiń na sam koniec: najnowsze wpisy są na dole. Szukaj linii zawierającej
PHP Fatal error. Wpisy typuPHP Deprecated,PHP NoticeczyPHP Warningzwykle nie są przyczyną awarii, choć warto je zanotować.Przez SSH wystarczy jedno polecenie:
grep "PHP Fatal error" wp-content/debug.log | tail -n 5
Gdy debug.log się nie pojawia: log błędów hostingu
Jeśli błąd występuje bardzo wcześnie, zanim WordPress wczyta ustawienia debugowania, albo katalog wp-content nie ma praw zapisu, plik debug.log może w ogóle nie powstać. Wtedy szukaj logu samego serwera:
- plik
error_logw katalogu strony lub w katalogu, w którym wystąpił błąd (często tak jest na hostingach z cPanelem), - sekcja z logami w panelu hostingu, zwykle osobno log dostępu i log błędów dla każdej domeny,
- katalog z logami w katalogu domowym konta, jeśli masz dostęp przez SSH.
Nazwy menu różnią się między hostingami, dlatego jeśli nie możesz znaleźć logów, napisz do pomocy technicznej hostingu z prośbą o fragment logu błędów PHP z ostatniej godziny. Zwykle dostaniesz go szybko.

PHP Fatal error ze ścieżką do wtyczki. Nazwy menu różnią się między hostingami. Widok odtworzony na przykładowych danych.Jak czytać linię „PHP Fatal error” w logu
Linia błędu wygląda na nieczytelną, ale ma stałą budowę. Dla diagnozy liczą się trzy elementy: rodzaj błędu, nazwa funkcji lub opis problemu oraz ścieżka do pliku. Ścieżka mówi, czyj to kod.
create_function().Gdy w logu jest kilka linii, ważna jest pierwsza linia PHP Fatal error z czasem awarii. Pod nią często widać Stack trace, czyli listę wywołań, które doprowadziły do błędu. Jeśli sam błąd wskazuje plik rdzenia WordPressa, przejrzyj stack trace w poszukiwaniu pierwszej ścieżki z wp-content/plugins/ lub wp-content/themes/. Rdzeń rzadko psuje się sam. Częściej wtyczka przekazała mu złe dane.
| Fragment komunikatu | Co zwykle oznacza | Co zrobić |
|---|---|---|
Call to undefined function | Kod wywołuje funkcję usuniętą z PHP albo z innej, wyłączonej wtyczki | Zaktualizuj dodatek, sprawdź wersję PHP lub zależności |
Allowed memory size of … bytes exhausted | Skończył się limit pamięci PHP | Zwiększ WP_MEMORY_LIMIT, poszukaj wtyczki, która go zjada |
Uncaught TypeError | Funkcja dostała dane złego typu, częste po przejściu na PHP 8 | Zaktualizuj dodatek albo tymczasowo wróć do starszego PHP |
Parse error: syntax error | Błąd w składni pliku, często po ręcznej edycji | Przywróć plik z kopii lub cofnij swoją zmianę |
Cannot redeclare | Dwie wtyczki lub motyw i wtyczka definiują tę samą funkcję | Wyłącz jedną z nich, często starszą kopię tej samej wtyczki |
Failed opening required | Brakuje pliku, aktualizacja przerwała się w połowie | Zainstaluj ten dodatek lub rdzeń ponownie |
Wyłączenie wtyczek bez dostępu do panelu
Jeśli log wskazał wtyczkę albo nie masz żadnej wskazówki, a awaria wystąpiła po zmianach we wtyczkach, wyłącz je z poziomu plików. WordPress, który nie znajdzie katalogu aktywnej wtyczki, po prostu jej nie załaduje. Ustawienia wtyczki w bazie danych zostają, więc po przywróceniu nazwy nic nie tracisz.
-
Wyłącz jedną wtyczkę wskazaną w logu
W katalogu
wp-content/plugins/zmień nazwę katalogu winnej wtyczki, na przykład zstary-slidernastary-slider.off. Odśwież stronę. Jeśli działa, przyczyna jest potwierdzona. -
Bez wskazówki: wyłącz wszystkie naraz
Zmień nazwę całego katalogu
pluginsnaplugins.off. Jeśli strona wróci (zwykle z innym wyglądem, bo brakuje funkcji wtyczek), przyczyna leży w jednej z nich. Przywróć nazwęplugins, a potem wyłączaj wtyczki pojedynczo, zaczynając od ostatnio aktualizowanych. -
Pamiętaj o mu-plugins
Wtyczki z katalogu
wp-content/mu-plugins/ładują się zawsze i nie widać ich na zwykłej liście. Często instaluje je hosting albo wtyczka do cache. Jeśli log wskazuje ten katalog, wyłącz pojedynczy plik, zmieniając jego rozszerzenie z.phpna.php.off.
Z dostępem SSH i zainstalowanym WP-CLI zrobisz to samo szybciej. Opcje --skip-plugins i --skip-themes pozwalają uruchomić polecenie bez ładowania wtyczek i motywu, więc działa nawet wtedy, gdy strona jest całkowicie zepsuta:
# lista wtyczek z wersjami, bez ładowania ich kodu
wp plugin list --skip-plugins --skip-themes
# wyłączenie jednej wtyczki
wp plugin deactivate stary-slider --skip-plugins --skip-themes
# wyłączenie wszystkich wtyczek
wp plugin deactivate --all --skip-plugins --skip-themes
Przed wp plugin deactivate --all zapisz wynik wp plugin list --status=active --skip-plugins --skip-themes. Po naprawie włączysz z tej listy tylko to, co było aktywne. Na stronie sklepu wyłączenie wszystkich wtyczek wyłącza też WooCommerce, więc sklep przestaje przyjmować zamówienia do czasu ich ponownego włączenia.
Przełączenie motywu
Jeśli ścieżka w logu prowadzi do wp-content/themes/, winny jest motyw albo motyw potomny (child theme). Najczęściej plik functions.php po ręcznej edycji lub stary motyw kupiony lata temu, który nie był aktualizowany.
- Przez WP-CLI:
wp theme activate twentytwentyfive --skip-plugins --skip-themes. Nazwę domyślnego motywu, który masz zainstalowany, sprawdzisz poleceniemwp theme list --skip-plugins --skip-themes. - Przez FTP: zmień nazwę katalogu aktywnego motywu, na przykład dodając
.off. Gdy wejdziesz potem w Wygląd, Motywy, WordPress zauważy brak motywu i przełączy się na motyw domyślny, jeśli jest zainstalowany. Jeśli nie ma żadnego motywu domyślnego, wgraj go najpierw z wordpress.org.
Przełączenie motywu zmienia wygląd strony, a część ustawień, takich jak menu i widżety, trzeba będzie być może po powrocie przypisać ponownie. Dlatego traktuj to jako diagnozę, a nie rozwiązanie. Docelowo naprawiasz albo aktualizujesz swój motyw.
Limit pamięci PHP
Komunikat Allowed memory size of 134217728 bytes exhausted mówi, że skrypt próbował użyć więcej pamięci, niż pozwala ustawienie memory_limit (134217728 bajtów to 128 MB). Typowe sytuacje: duży import produktów, generowanie miniatur dużych zdjęć, rozbudowany kreator stron albo wtyczka, która wpadła w pętlę.
WordPress ma dwie stałe do sterowania pamięcią. Dodaj je w wp-config.php nad komentarzem „stop editing”:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
WP_MEMORY_LIMIT dotyczy strony, WP_MAX_MEMORY_LIMIT zadań w panelu, na przykład obróbki obrazów. WordPress może podnieść limit tylko do wartości, na którą pozwala serwer. Jeśli hosting ustawił twardy limit, zmiana w wp-config.php nic nie da i trzeba podnieść memory_limit w ustawieniach PHP w panelu hostingu albo poprosić o to pomoc techniczną.
Jeśli strona działała latami na 128 MB, a nagle potrzebuje 512 MB, to zwykle któraś wtyczka zachowuje się źle. Zwiększenie limitu przywraca stronę, ale warto sprawdzić w logu, który plik zużywał pamięć w chwili błędu.
Wersja PHP
Duża część błędów krytycznych pojawia się dzień po tym, jak hosting podniósł wersję PHP. Funkcje takie jak create_function() czy each() zostały usunięte w PHP 8.0, a wiele sytuacji, które w PHP 7.4 kończyły się ostrzeżeniem, w PHP 8 przerywa działanie strony. Stare wtyczki i motywy, których nikt nie aktualizował, przestają wtedy działać.
Wersję PHP sprawdzisz w panelu hostingu albo w WordPressie w Narzędzia, Zdrowie witryny, Informacje, sekcja Serwer (jeśli panel działa). Szybkie obejście to tymczasowy powrót do poprzedniej wersji PHP w panelu hostingu. Docelowe rozwiązanie to aktualizacja albo wymiana dodatku. Cały proces opisuję w artykule Strona nie działa po zmianie PHP.
Uszkodzone pliki rdzenia WordPress
Rzadziej przyczyną jest sam WordPress: aktualizacja przerwana w połowie z powodu limitu czasu, brak miejsca na dysku albo ręcznie skasowany plik. W logu zobaczysz wtedy ścieżki do wp-includes/ lub wp-admin/ i komunikaty w rodzaju Failed opening required.
Przez WP-CLI sprawdzisz pliki rdzenia z sumami kontrolnymi i pobierzesz je ponownie w tej samej wersji:
wp core verify-checksums --skip-plugins --skip-themes
wp core download --version=$(wp core version --skip-plugins --skip-themes) --force --skip-content
Bez SSH pobierz z archiwum wydań WordPressa paczkę w tej samej wersji, którą masz (numer jest w pliku wp-includes/version.php), rozpakuj ją na komputerze i wgraj przez FTP tylko katalogi wp-admin i wp-includes oraz pliki z głównego katalogu z wyjątkiem wp-config-sample.php. Nie wgrywaj katalogu wp-content, bo nadpiszesz swoje motywy i wtyczki.
W wp-config.php są dane dostępu do bazy, a w wp-content Twoje motywy, wtyczki i zdjęcia. Paczka WordPressa nie zawiera pliku wp-config.php, ale zawiera katalog wp-content z domyślnymi motywami, dlatego ten katalog pomiń przy wgrywaniu.
Jeśli pliki rdzenia zmieniły się bez Twojego udziału, a w katalogach pojawiły się obce pliki PHP, problem może nie być awarią, tylko włamaniem. Wtedy przeczytaj jak sprawdzić, czy strona została zhakowana.
W poniedziałek rano sklep pokazuje komunikat o błędzie krytycznym, a panel też nie działa. Właściciel nie dostał żadnego maila, bo adres administratora w ustawieniach należy do agencji, która robiła stronę kilka lat temu. Po włączeniu WP_DEBUG_LOG w logu widać Call to undefined function create_function() w pliku starej wtyczki do wyświetlania opinii. W piątek wieczorem hosting przełączył konto na PHP 8. Zmiana nazwy katalogu wtyczki przywraca sklep w kilka minut. Wtyczka nie miała aktualizacji od lat, więc docelowo zostaje zastąpiona inną, a adres administratora w ustawieniach zmieniony na adres właściciela.
Po naprawie: wyłącz debugowanie i zapobiegaj
Kiedy strona działa, posprzątaj po diagnostyce. Zostawione debugowanie to ryzyko bezpieczeństwa i źródło kolejnych problemów.
-
Przywróć ustawienia debugowania
W
wp-config.phpustawdefine( 'WP_DEBUG', false );i usuń dodane linieWP_DEBUG_LOG,WP_DEBUG_DISPLAYoraz@ini_set. Najprościej wgrać kopię pliku pobraną przed zmianami, jeśli w międzyczasie nie zmieniałeś w nim nic innego, na przykład limitu pamięci. -
Usuń debug.log
Plik
wp-content/debug.logzawiera ścieżki serwera i szczegóły kodu. Pobierz go na dysk, jeśli chcesz go zachować, a z serwera usuń. -
Zaktualizuj adres e-mail administratora
W Ustawienia, Ogólne wpisz adres, który naprawdę czytasz. Zmiana wymaga potwierdzenia linkiem wysłanym na nowy adres. Dzięki temu przy następnej awarii dostaniesz mail z linkiem do trybu odzyskiwania.
-
Rozwiąż przyczynę, a nie tylko objaw
Wyłączona wtyczka nie robi tego, do czego była potrzebna. Sprawdź, czy jest nowsza wersja zgodna z Twoim PHP, czy autor jeszcze ją rozwija, a jeśli nie, znajdź zamiennik. Jeśli awaria wystąpiła po aktualizacji, przeczytaj, jak cofnąć aktualizację i aktualizować bezpiecznie.
Kiedy nie robić tego samemu
Opisane kroki są bezpieczne, jeśli robisz kopię każdego pliku przed zmianą. Gdy jednak coś z poniższej listy dotyczy Twojej strony, rozważ zlecenie naprawy:
- sklep stoi, a każda godzina to utracone zamówienia,
- nie masz dostępu do FTP ani panelu hostingu, bo wszystko jest na koncie byłego wykonawcy (zobacz jak odzyskać dostęp do strony, hostingu i domeny),
- log wskazuje rdzeń WordPressa albo kod, którego nie rozumiesz, a stack trace ma kilkadziesiąt linii,
- winny jest motyw z dużą liczbą zmian wprowadzonych na zamówienie i jego wyłączenie rozsypuje całą stronę,
- po naprawie błąd wraca, na przykład co noc po automatycznych zadaniach.
Szersze omówienie cen i zakresu prac znajdziesz w artykule Ile kosztuje naprawa strony internetowej.
Strona dalej pokazuje błąd krytyczny?
Znajdę przyczynę w logach i przywrócę stronę. Naprawa jednej awarii w ramach Szybkiej Interwencji kosztuje 299 zł netto i obejmuje 7 dni gwarancji. Zgłoszenia awaryjne przyjmuję całą dobę.
Najczęstsze pytania
Czy błąd krytyczny oznacza, że straciłem stronę lub dane?
Prawie nigdy. Błąd krytyczny to przerwane wykonanie kodu PHP, a nie usunięcie plików czy bazy danych. Wpisy, zamówienia i zdjęcia zwykle są nienaruszone i wracają, gdy tylko usuniesz przyczynę, najczęściej wadliwą wtyczkę lub motyw.
Nie dostałem maila z linkiem do trybu odzyskiwania. Dlaczego?
WordPress wysyła ten mail tylko wtedy, gdy rozpozna, że błąd pochodzi z konkretnej wtyczki lub motywu i wystąpił w panelu lub na stronie logowania, i nie częściej niż raz na dobę. Mail trafia na adres e-mail administracji z ustawień ogólnych, który bywa nieaktualny, a wysyłka z serwera często ląduje w spamie albo nie działa wcale. Wtedy przyczynę znajdziesz w logu błędów.
Czy mogę zostawić włączone WP_DEBUG na stałe?
Nie na stronie produkcyjnej. Wyświetlane błędy zdradzają ścieżki na serwerze i szczegóły kodu, a plik debug.log w domyślnym miejscu bywa dostępny z przeglądarki i potrafi urosnąć do setek megabajtów. Po naprawie ustaw WP_DEBUG na false albo przynajmniej wyłącz wyświetlanie i przenieś log poza katalog publiczny.
Błąd krytyczny pojawia się tylko na jednej podstronie. Co to znaczy?
Że błędny kod uruchamia się tylko w określonej sytuacji, na przykład w koszyku sklepu, przy formularzu kontaktowym albo w konkretnym szablonie strony. Diagnostyka jest taka sama: wejdź na tę podstronę z włączonym logowaniem błędów i sprawdź w debug.log, który plik zgłasza błąd.
Czy przywrócenie kopii zapasowej naprawi błąd krytyczny?
Często tak, ale stracisz zmiany od dnia kopii, w sklepie także zamówienia. Lepiej najpierw sprawdzić log: jeśli winna jest jedna wtyczka, wystarczy ją wyłączyć albo cofnąć do poprzedniej wersji, co trwa kilka minut i nie rusza bazy danych.