Najważniejsze w 30 sekund
- Treści i zamówienia są bezpieczne w bazie danych – psuje się tylko kod, który je wyświetla.
- Najpierw sprawdź e-mail administratora: WordPress zwykle podaje winną wtyczkę i link do trybu odzyskiwania.
- Brak e-maila? Włącz debug.log i przeczytaj, który plik wywołał błąd.
- Najczęstsza naprawa: wyłączenie wtyczki przez zmianę nazwy jej folderu.
Strona nie działa, a Ty nie masz czasu? Naprawię ją za Ciebie →
2
źródła, które wskażą winowajcę: e-mail i debug.log
5.2
od tej wersji WordPress ma tryb odzyskiwania
0
utraconych wpisów – treści są w bazie danych
1 folder
zmiana jego nazwy wyłącza wszystkie wtyczki
Najpierw: nie panikuj i zrób kopię
Błąd krytyczny oznacza, że PHP natrafił na problem, którego nie umie obejść, i przerwał wyświetlanie strony. Twoje wpisy, strony i zamówienia są bezpieczne – leżą w bazie danych, a błąd dotyczy kodu, który je wyświetla.
Zanim cokolwiek zmienisz, zrób kopię zapasową plików i bazy. Większość hostingów ma do tego przycisk w panelu, a w Zenbox kopie robią się automatycznie kilka razy dziennie – przed naprawą warto mieć pewność, że najnowsza jest na miejscu.
Błąd krytyczny prawie zawsze ma jedną przyczynę, którą widać w e-mailu albo w logu. Zgadywanie trwa godzinami – czytanie logu kilka minut.
Mapa naprawy w 6 krokach
Idź po kolei i zatrzymaj się, gdy strona zacznie działać. Większość awarii kończy się na kroku 1 albo 3.
1
Sprawdź e-mail i tryb odzyskiwania
WordPress zwykle sam podaje winną wtyczkę i daje link do logowania mimo błędu.
2
Włącz zapisywanie błędów
Plik debug.log pokaże dokładną ścieżkę do pliku, który przerwał działanie strony.
3
Wyłącz wtyczki
Zmiana nazwy folderu plugins wyłącza wszystkie naraz – bez logowania do panelu.
4
Sprawdź motyw
Zmiana nazwy folderu motywu przełącza stronę na motyw domyślny.
5
Sprawdź PHP i limit pamięci
Zła wersja PHP albo za mało pamięci to dwie kolejne częste przyczyny.
6
Wgraj od nowa pliki WordPressa
Gdy uszkodził się rdzeń, np. po przerwanej aktualizacji.
Krok 1: Sprawdź e-mail i użyj trybu odzyskiwania
Otwórz skrzynkę, na którą przychodzą powiadomienia z WordPressa (adres administratora z Ustawienia → Ogólne). Szukaj wiadomości „Twoja witryna ma problem techniczny”. WordPress pisze w niej, która wtyczka lub motyw spowodowały błąd, i dołącza specjalny link.
Ilustracja: tak wygląda błąd krytyczny dla odwiedzającego (po lewej) i e-mail z linkiem do trybu odzyskiwania (po prawej).
Kliknij link i zaloguj się. Trafisz do panelu, a winna wtyczka będzie oznaczona na liście wtyczek. Wyłącz ją – strona od razu wróci dla odwiedzających. Potem sprawdź, czy wtyczka nie ma aktualizacji, albo poszukaj zamiennika.
Nie ma e-maila? Zajrzyj do spamu. Jeśli strona nie wysyła maili w ogóle, link nie dojdzie – wtedy przejdź do kroku 2, a później skonfiguruj wysyłkę według poradnika WordPress nie wysyła e-maili – konfiguracja SMTP.
Krok 2: Włącz zapisywanie błędów do pliku
Połącz się z serwerem przez FTP albo Menedżer plików w panelu hostingu i otwórz plik wp-config.php w głównym katalogu strony. Nad linią „That's all, stop editing!” wpisz (a jeśli WP_DEBUG już tam jest, zmień tylko wartość):
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Odśwież stronę z błędem. Komunikat zapisze się w pliku wp-content/debug.log, a odwiedzający go nie zobaczą. Szukaj linii z PHP Fatal error:
/plugins/nazwa/
Błąd wywołała wtyczka z tego folderu. Przejdź do kroku 3 i wyłącz tylko ją – zmień nazwę jej folderu.
/themes/nazwa/
Winny jest motyw. Przejdź do kroku 4.
Allowed memory size
Zabrakło pamięci PHP. Przejdź do kroku 5.
/wp-includes/ lub /wp-admin/
Błąd w plikach rdzenia – najczęściej po przerwanej aktualizacji. Przejdź do kroku 6.
Krok 3: Wyłącz wtyczki bez logowania do panelu
Wtyczki to najczęstsza przyczyna, zwłaszcza zaraz po aktualizacji. W Menedżerze plików wejdź do wp-content i zmień nazwę folderu plugins na plugins-off. WordPress nie znajdzie wtyczek i wyłączy je wszystkie naraz.
Ilustracja: zmiana nazwy folderu plugins w Menedżerze plików. Tak samo zrobisz to w programie FTP, np. FileZilli.
1
Sprawdź stronę
Działa? Winna jest któraś wtyczka. Nie działa? Przywróć nazwę plugins i przejdź do kroku 4.
2
Przywróć nazwę folderu
Zmień plugins-off z powrotem na plugins. Wtyczki zostaną wyłączone w panelu.
3
Włączaj wtyczki po kolei
W panelu Wtyczki włączaj je pojedynczo i po każdej odśwież stronę. Ta, po której błąd wróci, jest winowajcą.
Znasz winną wtyczkę z logu albo e-maila? Nie wyłączaj wszystkich – zmień nazwę tylko jej folderu, np. stary-formularz na stary-formularz-off. Reszta strony działa dalej, a Ty nie musisz włączać wtyczek od nowa.
Nie chcesz grzebać w plikach serwera?
Znajdę przyczynę błędu, przywrócę stronę i sprawdzę, czy problem nie wróci przy następnej aktualizacji. Pilne awarie traktuję priorytetowo.
Zgłoś awarię →Krok 4: Sprawdź motyw
Jeśli wyłączenie wtyczek nie pomogło, podejrzany jest motyw. W wp-content/themes zmień nazwę folderu aktywnego motywu. WordPress przełączy się na motyw domyślny (np. Twenty Twenty-Five) – o ile jest zainstalowany, więc nie usuwaj go nigdy z serwera.
Częsty winowajca to własne zmiany w pliku functions.php. Jeden brakujący średnik czy nawias potrafi wyłączyć całą stronę. Cofnij ostatnią zmianę, a nowy kod dodawaj przez motyw potomny albo wtyczkę typu Code Snippets – ta druga sama wyłącza fragment, który powoduje błąd.
Krok 5: Wersja PHP i limit pamięci
Zła wersja PHP
Stara wtyczka nie działa na nowym PHP, a nowa na zbyt starym. Błąd pojawił się zaraz po zmianie PHP? Wróć do poprzedniej wersji w panelu hostingu i zajrzyj do poradnika o migracji PHP.
Za mało pamięci
W logu widzisz Allowed memory size exhausted? Dodaj w wp-config.php linię define( 'WP_MEMORY_LIMIT', '256M' );. Jeśli nie pomaga, limit trzeba podnieść też w ustawieniach PHP hostingu.
Krok 6: Wgraj od nowa pliki WordPressa
Rzadziej przyczyną są uszkodzone pliki rdzenia, np. po aktualizacji przerwanej w połowie. Pobierz tę samą wersję WordPressa z wordpress.org, rozpakuj ją i wgraj na serwer foldery wp-admin i wp-includes, nadpisując stare.
Nie nadpisuj folderu wp-content ani pliku wp-config.php. W wp-content są Twoje motywy, wtyczki i wszystkie wgrane zdjęcia, a w wp-config.php – dane do bazy danych. Nadpisanie ich nowymi plikami z wordpress.org skasuje Twoją stronę.
Po naprawie: posprzątaj
- Wyłącz debugowanie – ustaw WP_DEBUG na false.
- Usuń plik debug.log – zawiera ścieżki serwera, których nie powinni widzieć obcy.
- Usuń foldery z końcówką -off albo przywróć ich nazwy, żeby nie zostały martwe kopie.
- Zaktualizuj lub wymień winną wtyczkę – inaczej błąd wróci.
Jak uniknąć błędu krytycznego w przyszłości
Tak błąd wraca
- aktualizacja wszystkich wtyczek naraz
- brak kopii zapasowej przed zmianami
- kod wklejony prosto do functions.php
- porzucone wtyczki bez aktualizacji
- zmiana PHP bez testu
Tak masz spokój
- aktualizacje pojedynczo, z kontrolą strony
- kopia zapasowa przed każdą zmianą
- własny kod przez Code Snippets
- nieużywane wtyczki usunięte
- test na kopii strony (staging)
Podsumowanie
Błąd krytyczny to prawie zawsze wtyczka, motyw albo wersja PHP. E-mail z trybem odzyskiwania i plik debug.log zwykle wskazują winowajcę w kilka minut, a zmiana nazwy folderu wyłącza go bez logowania do panelu. Jeśli strona nadal nie działa – albo nie chcesz ryzykować – pomogę.
Awaria strony
Naprawię błąd krytyczny na Twojej stronie
Zajmę się wszystkim od diagnozy po zabezpieczenie na przyszłość:
- Diagnoza – znajdę wtyczkę, motyw lub ustawienie, które powoduje błąd
- Szybki powrót strony – najpierw przywrócę działanie dla klientów
- Trwała naprawa – aktualizacja, zamiennik albo poprawka kodu
- Kopia zapasowa przed każdą zmianą
- Sprzątanie – wyłączony debug, usunięte logi i pozostałości
Odpowiadam zwykle w ciągu 12 godzin, pilne awarie mają pierwszeństwo.