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.phpw 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-contentna 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/pluginsnaplugins_off. Jeśli strona wróci do życia, wiesz, że winna jest wtyczka. Zmień nazwę z powrotem napluginsi 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.phpdodaj 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-adminorazwp-includes. - Wgraj na serwer świeże foldery
wp-adminiwp-includesz 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.
