Jak naprawić „Wystąpił błąd krytyczny w tej witrynie” w WordPressie?

Jak naprawić „Wystąpił błąd krytyczny w tej witrynie” w WordPressie?

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.

  1. Znajdź e-mail: Poszukaj w swojej skrzynce odbiorczej (oraz w folderze Spam) wiadomości z tematem w stylu „Twoja witryna ma problem techniczny”.
  2. Przeczytaj treść: E-mail wskaże, który komponent (wtyczka lub motyw) najprawdopodobniej spowodował błąd.
  3. 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.

  1. Połącz się z serwerem za pomocą klienta FTP (np. FileZilla) lub menedżera plików w panelu hostingu.
  2. Znajdź i edytuj plik wp-config.php w głównym katalogu WordPressa.
  3. 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 pliku debug.log.
    • WP_DEBUG_DISPLAY', false – ukrywa błędy na stronie (nie będą widoczne dla odwiedzających).
  4. Odśwież stronę, która wyświetlała błąd. Teraz przejdź do folderu wp-content na serwerze – znajdziesz tam nowy plik debug.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 na plugins_off. Jeśli strona wróci do życia, wiesz, że winna jest wtyczka. Zmień nazwę z powrotem na plugins i wyłączaj każdą wtyczkę po kolei (zmieniając nazwy ich folderów wewnątrz wp-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).

  1. W pliku wp-config.php dodaj następującą linię kodu: PHPdefine('WP_MEMORY_LIMIT', '256M');
  2. 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.

  1. Pobierz najnowszą, czystą wersję WordPressa ze strony wordpress.org.
  2. Rozpakuj archiwum.
  3. Przez FTP usuń z serwera foldery wp-admin oraz wp-includes.
  4. Wgraj na serwer świeże foldery wp-admin i wp-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.

Comments

No comments yet. Why don’t you start the discussion?

    Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *