Komunikat „Wystąpił błąd krytyczny w tej witrynie” to nowsza, bardziej przyjazna wersja niesławnego „białego ekranu śmierci” (WSoD). Została wprowadzona w WordPressie 5.2, aby nie tylko poinformować o problemie, ale także aktywnie pomóc w jego rozwiązaniu.
Choć widok tego komunikatu jest stresujący, zazwyczaj problem jest w pełni naprawialny. Przyczyną może być konflikt wtyczek lub motywu, problemy z wersją PHP, wyczerpanie limitu pamięci, a nawet uszkodzone pliki. Poniższy poradnik przeprowadzi Cię przez wszystkie możliwe scenariusze – od najprostszych do bardziej zaawansowanych.
Sprawdź swoją skrzynkę e-mail i użyj Trybu Odzyskiwania (Recovery Mode)
To absolutnie najważniejszy i pierwszy krok. WordPress, gdy tylko wykryje błąd krytyczny, automatycznie wysyła wiadomość e-mail na adres e-mail administratora witryny.
- Znajdź e-mail: Poszukaj w swojej skrzynce odbiorczej (oraz w folderze Spam) wiadomości z tematem w stylu „Twoja witryna ma problem techniczny”.
- Przeczytaj treść: E-mail wskaże, który komponent (wtyczka lub motyw) najprawdopodobniej spowodował błąd.
- Użyj linku do odzyskiwania: Co najważniejsze, w mailu znajdziesz specjalny link do trybu odzyskiwania (recovery mode). Kliknij go.
Zostaniesz przeniesiony do panelu administracyjnego w specjalnej, bezpiecznej sesji, w której problematyczna wtyczka lub motyw są tymczasowo wstrzymane. Dzięki temu możesz bezpiecznie się zalogować, a następnie w sekcji Wtyczki
lub Wygląd -> Motywy
trwale deaktywować, zaktualizować lub usunąć wadliwy komponent.
Diagnostyka Ręczna, Gdy E-mail Nie Dotarł
Jeśli e-mail z jakiegoś powodu nie przyszedł (np. z powodu problemów z konfiguracją poczty na serwerze), musisz znaleźć przyczynę ręcznie.
Włącz tryb debugowania (WP_DEBUG)
To najskuteczniejsze narzędzie diagnostyczne. Zamiast ogólnego komunikatu, zobaczysz dokładny błąd, który powoduje problem.
- Połącz się z serwerem za pomocą klienta FTP (np. FileZilla) lub menedżera plików w panelu hostingu.
- Znajdź i edytuj plik
wp-config.php
w głównym katalogu WordPressa. - Odszukaj linię
define( 'WP_DEBUG', false );
i zmień ją na poniższy zestaw trzech linii: PHPdefine( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
WP_DEBUG', true
– włącza tryb debugowania.WP_DEBUG_LOG', true
– zapisuje wszystkie błędy do plikudebug.log
.WP_DEBUG_DISPLAY', false
– ukrywa błędy na stronie (nie będą widoczne dla odwiedzających).
- Odśwież stronę, która wyświetlała błąd. Teraz przejdź do folderu
wp-content
na serwerze – znajdziesz tam nowy plikdebug.log
. Otwórz go i przeczytaj ostatnie wpisy. Komunikat błędu (np. PHP Fatal error) wskaże Ci ścieżkę do pliku, który jest przyczyną problemu, np./wp-content/plugins/nazwa-wtyczki/plik.php
. Dzięki temu wiesz, który komponent jest winny.
Pamiętaj! Po rozwiązaniu problemu przywróć poprzednie ustawienia w wp-config.php
(define( 'WP_DEBUG', false );
).
Ręczna dezaktywacja wtyczek i motywów
Jeśli logi błędów są niejasne, pozostaje metoda „brute force”, czyli wyłączanie komponentów po kolei.
- Wyłącz wtyczki: Zmień nazwę folderu
wp-content/plugins
naplugins_off
. Jeśli strona wróci do życia, wiesz, że winna jest wtyczka. Zmień nazwę z powrotem naplugins
i wyłączaj każdą wtyczkę po kolei (zmieniając nazwy ich folderów wewnątrzwp-content/plugins
), aż znajdziesz winowajcę. - Wyłącz motyw: Jeśli wtyczki są w porządku, zmień nazwę folderu Twojego aktywnego motywu w
wp-content/themes
. WordPress automatycznie załaduje domyślny motyw (np. Twenty Twenty-Four).
Problemy z Konfiguracją Serwera i Plików
Czasami przyczyna leży głębiej – w konfiguracji serwera lub integralności plików.
Zwiększ limit pamięci PHP
Częstą przyczyną błędów krytycznych jest wyczerpanie limitu pamięci, zwłaszcza po instalacji rozbudowanej wtyczki (np. do e-commerce lub e-learningu).
- W pliku
wp-config.php
dodaj następującą linię kodu: PHPdefine('WP_MEMORY_LIMIT', '256M');
- Zapisz plik. Jeśli to rozwiązało problem, rozważ kontakt z hostingiem w celu trwałego zwiększenia limitu lub optymalizację strony.
Sprawdź i zaktualizuj wersję PHP
WordPress i jego komponenty wymagają nowoczesnych wersji PHP. Stara wersja może powodować błędy krytyczne.
- Sprawdź: W panelu hostingu znajdź ustawienia PHP. Upewnij się, że używasz zalecanej wersji (obecnie co najmniej 7.4, a najlepiej 8.0 lub wyższej).
- Zaktualizuj: Zmień wersję PHP na wyższą i sprawdź, czy strona działa.
Wgraj na nowo pliki rdzenia WordPressa
Rzadko, ale zdarza się, że pliki samego WordPressa ulegają uszkodzeniu podczas aktualizacji lub przez błąd serwera.
- Pobierz najnowszą, czystą wersję WordPressa ze strony
wordpress.org
. - Rozpakuj archiwum.
- Przez FTP usuń z serwera foldery
wp-admin
orazwp-includes
. - Wgraj na serwer świeże foldery
wp-admin
iwp-includes
z pobranego archiwum.
Ważne: Ten proces jest bezpieczny dla Twoich treści. Nie usuwaj folderu wp-content
ani pliku wp-config.php
.
Jak zapobiegać błędom krytycznym w przyszłości?
Wybieraj sprawdzone komponenty: Instaluj motywy i wtyczki tylko z oficjalnego repozytorium WordPressa lub od zaufanych, renomowanych twórców.
Używaj środowiska testowego (staging): Zawsze testuj aktualizacje i nowe wtyczki na kopii strony (staging), a nie na wersji produkcyjnej.
Rób regularne kopie zapasowe: Posiadanie aktualnego backupu to Twoja siatka bezpieczeństwa, która pozwala szybko przywrócić działającą wersję strony.
Aktualizuj ostrożnie: Nie aktualizuj wszystkiego naraz. Rób to pojedynczo, sprawdzając po każdej aktualizacji, czy strona działa.