Błąd krytyczny po aktualizacji WordPressa to zwykle efekt poważnego błędu PHP, który uniemożliwia załadowanie strony. Dobra wiadomość: w większości przypadków da się szybko przywrócić działanie witryny, jeśli podejdziesz do problemu krok po kroku.

Czym jest „błąd krytyczny” w WordPressie?

Komunikat „W witrynie wystąpił błąd krytyczny” pojawia się, gdy WordPress napotka błąd na tyle poważny, że nie jest w stanie wyświetlić strony – najczęściej chodzi o fatalny błąd PHP wywołany przez wtyczkę, motyw lub plik WordPressa.

Od kilku wersji WordPress ma wbudowany mechanizm trybu odzyskiwania (recovery mode) – gdy wykryje błąd krytyczny, w wielu przypadkach wysyła do administratora e-mail z informacją i specjalnym linkiem do logowania w trybie naprawczym.

Błąd krytyczny po aktualizacji pojawia się szczególnie często, gdy:

  • aktualizowana wtyczka lub motyw nie jest zgodny z używaną wersją WordPressa lub PHP,
  • występuje konflikt pomiędzy wtyczkami lub między wtyczką a motywem,
  • pliki aktualizacji nie wgrały się poprawnie lub zostały częściowo uszkodzone,
  • aktualizacja przerwała się z powodu limitów serwera (pamięć, czas wykonywania skryptów).

Zanim zaczniesz – podstawowe zasady bezpieczeństwa

Zanim podejmiesz jakiekolwiek działania naprawcze, zastosuj kilka prostych zasad:

  • nie panikuj – w większości przypadków to kwestia jednej wtyczki lub motywu,
  • zapisz sobie dostęp do hostingu (panel, FTP, dane do bazy danych),
  • jeśli hosting robi automatyczne kopie zapasowe, sprawdź, czy istnieje backup z czasu przed aktualizacją – to może być ostateczna deska ratunku,
  • pracuj spokojnie, krok po kroku – zaczynając od najprostszych rozwiązań i diagnozy.

Krok 1 – sprawdź mail od WordPressa i tryb odzyskiwania

Po wystąpieniu błędu krytycznego WordPress często wysyła na adres e-mail administratora wiadomość o tytule w stylu:

Twoja strona ma problem techniczny

W tym mailu znajdziesz informację, jaki komponent (wtyczka/motyw) spowodował błąd, oraz specjalny link do logowania w trybie naprawczym, który pozwala wejść do panelu nawet wtedy, gdy strona główna nie działa.

Jeśli wiadomość nie dotarła, sprawdź także folder SPAM w swojej skrzynce.

Jeżeli możesz zalogować się przez tryb odzyskiwania, wejdź do sekcji Wtyczki i wyłącz tę wtyczkę, którą WordPress wskazał jako problematyczną; jeśli błąd dotyczy motywu, przełącz się na domyślny motyw (np. Twenty Twenty-Three).

Często już samo wyłączenie wadliwej wtyczki lub motywu przywraca działanie strony.

Krok 2 – włącz tryb debugowania (WP_DEBUG) i przeanalizuj log

Jeśli nie masz dostępu do panelu lub mail z trybem odzyskiwania nie dotarł, kolejnym krokiem jest włączenie trybu debugowania w WordPressie.

  1. Zaloguj się na serwer przez FTP lub menedżera plików w panelu hostingu.
  2. Otwórz plik wp-config.php znajdujący się w głównym katalogu instalacji WordPressa.
  3. Znajdź lub dodaj linie odpowiedzialne za debugowanie i ustaw je w taki sposób (fragment między znacznikami PHP <?php a ?>):

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

  1. Zapisz plik i odśwież stronę (wejdź na stronę główną w przeglądarce).
  2. WordPress zapisze teraz szczegółowe informacje o błędzie w pliku wp-content/debug.log na serwerze.

Otwórz debug.log i sprawdź, jaki plik lub wtyczka generuje błąd (szukaj „Fatal error” lub „Uncaught error”) oraz czy pojawia się nazwa konkretnej biblioteki, motywu lub funkcji.

Ten plik to twoja mapa – wskazuje, gdzie dokładnie leży źródło problemu.

Krok 3 – wyłącz problematyczne wtyczki – krok po kroku

Najczęstsza przyczyna błędu krytycznego po aktualizacji to wtyczka, która po aktualizacji zaczęła rzucać błędy albo weszła w konflikt z inną.

Jeśli w debug.log jest wskazana konkretna wtyczka

  1. Wejdź przez FTP do katalogu wp-content/plugins/.
  2. Znajdź folder tej wtyczki, np. elementor, contact-form-7 itp.
  3. Zmień nazwę folderu – np. z elementor na elementor-deaktywowana.

Zmiana nazwy folderu powoduje, że WordPress uzna wtyczkę za wyłączoną (nie znajdzie jej w systemie).

  1. Odśwież stronę – jeśli zaczęła działać, masz pewność, że ta wtyczka była źródłem błędu.

Jeśli nie wiesz, która wtyczka powoduje błąd

Możesz wyłączyć wszystkie wtyczki naraz:

  1. Zmień nazwę całego katalogu plugins na np. plugins-off.
  2. Odśwież stronę – jeśli działa, przyczyną błędu jest któraś z wtyczek.
  3. Przywróć nazwę katalogu plugins, a następnie wyłączaj wtyczki pojedynczo (z panelu lub przez zmianę nazw ich folderów), żeby znaleźć konkretną winowajczynię.

Gdy ustalisz, która wtyczka wywołuje błąd:

  • zostaw ją wyłączoną,
  • skontaktuj się z jej twórcami, zgłaszając problem po aktualizacji i czekając na poprawkę,
  • ewentualnie poszukaj alternatywnej wtyczki o podobnej funkcjonalności.

Krok 4 – sprawdź motyw – przełącz się na domyślny

Źródłem błędu może być również motyw, zwłaszcza jeśli jest mocno rozbudowany lub zawiera własny framework.

Jeśli plik debug.log wskazuje na folder wp-content/themes/nazwa-motywu, wykonaj:

  1. Przez FTP wejdź do katalogu wp-content/themes/.
  2. Zmień nazwę folderu aktualnie używanego motywu, np. z moj-motyw na moj-motyw-off.
  3. WordPress spróbuje automatycznie przełączyć się na domyślny motyw, jeśli jest dostępny (np. twentytwentythree).

Po odświeżeniu strony:

  • jeśli działa – przyczyną błędu był motyw,
  • możesz zostawić domyślny motyw lub zainstalować inny, stabilny,
  • w sprawie naprawy motywu skontaktuj się z jego autorem lub z programistą, który go stworzył.

Krok 5 – usuń plik .maintenance, jeśli aktualizacja się zawiesiła

Po każdej aktualizacji WordPress tworzy tymczasowy plik .maintenance, który oznacza, że strona jest w trybie konserwacji.

Jeżeli aktualizacja WordPressa lub wtyczki nie powiodła się, plik .maintenance może pozostać na serwerze i blokować normalne działanie witryny.

Aby to sprawdzić i naprawić:

  1. Połącz się z serwerem przez FTP lub menedżer plików w hostingu.
  2. Wejdź do głównego katalogu instalacji WordPressa (tam, gdzie jest wp-config.php).
  3. Jeśli zobaczysz plik .maintenance, usuń go.
  4. Odśwież stronę – w wielu przypadkach to wystarczy, aby zakończyć „zawieszoną” aktualizację i przywrócić działanie witryny.

Krok 6 – sprawdź wersję PHP i zwiększ limit pamięci

Wersja PHP

W panelu hostingowym (najczęściej w sekcji „PHP” lub „Ustawienia serwera”) sprawdź, jaką wersję PHP ma twoje konto i jakie wersje są rekomendowane przez WordPress oraz twórców wtyczek/motywów. Jeśli wtyczki wymagają np. PHP 8.1, a masz starszą wersję, przestaw wersję PHP na nowszą – zazwyczaj jednym przełącznikiem w panelu hostingu.

Limit pamięci

Zdarza się, że błąd krytyczny wynika z braku pamięci (Fatal error: Allowed memory size exceeded).

Możesz zwiększyć limit pamięci dla WordPressa, dodając w wp-config.php linijkę:

define('WP_MEMORY_LIMIT', '256M');

Najczęściej wartości 128M–256M są wystarczające dla typowych stron, ale wszystko zależy od liczby wtyczek i złożoności witryny.

Krok 7 – napraw bazę danych WordPress

Uszkodzona lub częściowo zaktualizowana baza danych może również powodować błędy krytyczne, szczególnie po aktualizacji WordPressa.

WordPress ma wbudowany mechanizm naprawy bazy danych:

  1. Otwórz plik wp-config.php.
  2. Dodaj linię:

define('WP_ALLOW_REPAIR', true);

  1. Zapisz plik.
  2. W przeglądarce wejdź na stronę naprawy bazy (w swojej domenie) pod ścieżkę /wp-admin/maint/repair.php.
  3. Uruchom proces naprawy i optymalizacji bazy danych (WordPress pokaże prosty formularz).

Po zakończeniu naprawy koniecznie usuń linię WP_ALLOW_REPAIR z wp-config.php – to funkcja serwisowa, której nie należy zostawiać na stałe.

Dodatkowo możesz użyć narzędzi w panelu hostingowym (np. phpMyAdmin) do sprawdzenia integralności tabel i ręcznej naprawy błędów, jeśli hosting udostępnia takie opcje.

Krok 8 – przeinstaluj rdzeń WordPressa – nadpisanie plików

Jeżeli błędy wskazują na pliki samego WordPressa (np. w folderze wp-admin lub wp-includes), warto nadpisać rdzeń WordPressa świeżą kopią.

Procedura jest bezpieczna dla treści, o ile nie ruszasz katalogu wp-content i pliku wp-config.php:

  1. Pobierz najnowszą wersję WordPressa z oficjalnego źródła (panel lub paczka instalacyjna).
  2. Rozpakuj ją na swoim komputerze.
  3. Przez FTP wgraj wszystkie pliki z wyłączeniem katalogu wp-content i pliku wp-config.php.
  4. Zgódź się na nadpisanie istniejących plików.

W ten sposób odświeżysz pliki WordPressa bez ruszania motywów, wtyczek i treści.

Krok 9 – przywróć kopię zapasową, gdy inne metody zawodzą

Jeśli debugowanie, wyłączanie wtyczek i motywów oraz naprawa bazy danych nie przyniosły efektu, najbardziej niezawodnym wyjściem jest przywrócenie kopii zapasowej witryny sprzed aktualizacji.

Sprawdź, czy twój hosting wykonuje automatyczne backupy oraz czy korzystasz z wtyczki backupowej (tworzącej kopie bazy i plików).

Przywrócenie backupu cofa stronę do stanu sprzed aktualizacji – możesz utracić zmiany wprowadzone po backupie (np. nowe wpisy, zamówienia), ale odzyskasz stabilną, działającą wersję witryny. Upewnij się, z jakiego dnia/godziny pochodzi kopia.

Gdy winna jest konkretna aktualizacja – jak się wycofać (rollback)

Często bywa tak, że błąd krytyczny pojawia się dokładnie po aktualizacji jednej wtyczki – pozostałe elementy działają poprawnie. Gdy już zidentyfikujesz winowajcę, masz kilka opcji:

  • wycofanie do poprzedniej wersji – skorzystaj z wtyczki umożliwiającej rollback do starszej wersji bez ręcznego wgrywania plików;
  • poczekanie na kolejną aktualizację – pozostaw problematyczną wtyczkę wyłączoną do czasu wydania poprawki;
  • tymczasowa zamiana wtyczki – wybierz inne rozszerzenie o podobnej funkcjonalności.

Podobne podejście można zastosować do motywów – jeśli nowa wersja motywu powoduje błędy, cofnij się do poprzedniej stabilnej wersji, jeśli masz jej kopię.

Błąd krytyczny przez konflikt wtyczek – jak diagnozować

Jednym z najtrudniejszych scenariuszy jest konflikt między dwoma lub więcej wtyczkami. Taki konflikt może ujawnić się dopiero po aktualizacji jednej z nich. Postępuj tak:

  • wyłącz wszystkie wtyczki i sprawdź, czy strona działa,
  • włączaj wtyczki po jednej, każdorazowo testując witrynę,
  • kiedy po włączeniu konkretnej wtyczki pojawi się błąd – masz pierwszy „podejrzany” element,
  • jeśli błąd występuje tylko przy równoczesnym włączeniu dwóch konkretnych wtyczek, to między nimi istnieje konflikt.

W takim przypadku:

  • wybierz, która funkcjonalność jest ważniejsza, i zostaw tylko tę wtyczkę,
  • albo poszukaj alternatywy dla jednej z nich,
  • zgłoś problem autorom wtyczek – często konflikt jest usuwany w kolejnych aktualizacjach.

Kiedy podejrzewać złośliwe oprogramowanie (malware)?

Choć większość błędów krytycznych po aktualizacji wynika z konfliktów i błędów kodu, czasem źródłem problemu może być zainfekowana witryna.

Podejrzenie malware jest zasadne, gdy:

  • błąd krytyczny pojawia się razem z dziwnymi przekierowaniami na obce strony,
  • w plikach widzisz niezrozumiały, zaszyfrowany kod,
  • hosting wysyła powiadomienia o zainfekowaniu konta.

W takiej sytuacji warto:

  • przeskanować stronę specjalistycznym narzędziem bezpieczeństwa (wtyczki do bezpieczeństwa WordPressa, skanery hostingu),
  • usunąć zainfekowane pliki lub przywrócić czystą kopię zapasową,
  • zadbać o aktualizację wszystkich komponentów i zmianę haseł (FTP, panel, baza).

Jak zapobiegać błędom krytycznym po aktualizacjach – dobre praktyki

1. Zawsze rób kopię zapasową przed ważną aktualizacją

Przed aktualizacją WordPressa, motywu lub dużej wtyczki:

  • wykonaj backup bazy danych,
  • wykonaj backup plików (przynajmniej katalogu wp-content),
  • upewnij się, że w razie problemu możesz łatwo przywrócić kopię.

2. Aktualizuj etapami, a nie wszystko naraz

Zamiast aktualizować kilkadziesiąt wtyczek jednym kliknięciem:

  • aktualizuj pojedynczo lub w małych grupach,
  • po każdej większej aktualizacji sprawdź działanie strony – czy ładuje się poprawnie, czy nie pojawiły się błędy,
  • notuj, co i kiedy aktualizowałeś – ułatwi to ewentualny rollback.

3. Korzystaj z środowiska testowego (staging)

Profesjonalne podejście to utrzymywanie kopii testowej strony, na której:

  • najpierw dokonujesz aktualizacji,
  • sprawdzasz działanie,
  • dopiero potem powtarzasz aktualizacje na stronie produkcyjnej.

4. Ogranicz liczbę wtyczek

Im więcej wtyczek, tym większa szansa na konflikt i błędy po aktualizacji:

  • usuwaj wtyczki, których nie używasz,
  • unikaj wielu wtyczek o pokrywających się funkcjach,
  • stawiaj na sprawdzone, popularne rozszerzenia z dobrym wsparciem.

5. Dbaj o aktualną wersję PHP i konfigurację serwera

Regularnie sprawdzaj:

  • czy wersja PHP na serwerze jest wspierana przez WordPressa i wtyczki,
  • czy limity pamięci i czasu wykonania skryptów są odpowiednie dla twojej strony,
  • czy hosting nie zgłasza problemów z twoim kontem (przeciążenia, błędy).

Podsumowanie – praktyczna checklista naprawy błędu krytycznego po aktualizacji

Jeśli po aktualizacji widzisz komunikat:

W witrynie wystąpił błąd krytyczny

możesz działać według tej krótkiej listy:

  1. Sprawdź mail administratora – czy przyszła wiadomość „Twoja strona ma problem techniczny” z linkiem do trybu odzyskiwania;
  2. Jeśli możesz wejść do panelu, wyłącz wskazaną wtyczkę lub motyw;
  3. Włącz WP_DEBUG i WP_DEBUG_LOG w wp-config.php, odśwież stronę i przeanalizuj plik wp-content/debug.log;
  4. Przez FTP wyłącz problematyczną wtyczkę (zmiana nazwy folderu) lub wszystkie wtyczki naraz (zmiana nazwy plugins);
  5. Sprawdź motyw – zmień nazwę folderu aktywnego motywu, aby WordPress użył domyślnego;
  6. Usuń plik .maintenance, jeśli aktualizacja utknęła w trybie konserwacji;
  7. Sprawdź wersję PHP i w razie potrzeby ją zaktualizuj; rozważ zwiększenie WP_MEMORY_LIMIT w wp-config.php;
  8. Włącz WP_ALLOW_REPAIR i uruchom naprawę bazy danych pod ścieżką /wp-admin/maint/repair.php, następnie usuń tę linię;
  9. Jeśli to nie pomaga – nadpisz pliki WordPressa świeżą kopią, nie ruszając wp-content i wp-config.php;
  10. Gdy wszystkie metody zawiodą, przywróć kopię zapasową sprzed aktualizacji.