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?
- Czym jest „błąd krytyczny” w WordPressie?
- Zanim zaczniesz – podstawowe zasady bezpieczeństwa
- Krok 1 – sprawdź mail od WordPressa i tryb odzyskiwania
- Krok 2 – włącz tryb debugowania (WP_DEBUG) i przeanalizuj log
- Krok 3 – wyłącz problematyczne wtyczki – krok po kroku
- Krok 4 – sprawdź motyw – przełącz się na domyślny
- Krok 5 – usuń plik .maintenance, jeśli aktualizacja się zawiesiła
- Krok 6 – sprawdź wersję PHP i zwiększ limit pamięci
- Krok 7 – napraw bazę danych WordPress
- Krok 8 – przeinstaluj rdzeń WordPressa – nadpisanie plików
- Krok 9 – przywróć kopię zapasową, gdy inne metody zawodzą
- Gdy winna jest konkretna aktualizacja – jak się wycofać (rollback)
- Błąd krytyczny przez konflikt wtyczek – jak diagnozować
- Kiedy podejrzewać złośliwe oprogramowanie (malware)?
- Jak zapobiegać błędom krytycznym po aktualizacjach – dobre praktyki
- Podsumowanie – praktyczna checklista naprawy błędu krytycznego po aktualizacji
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.
- Zaloguj się na serwer przez FTP lub menedżera plików w panelu hostingu.
- Otwórz plik
wp-config.phpznajdujący się w głównym katalogu instalacji WordPressa. - Znajdź lub dodaj linie odpowiedzialne za debugowanie i ustaw je w taki sposób (fragment między znacznikami PHP
<?phpa?>):
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
- Zapisz plik i odśwież stronę (wejdź na stronę główną w przeglądarce).
- WordPress zapisze teraz szczegółowe informacje o błędzie w pliku
wp-content/debug.logna 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
- Wejdź przez FTP do katalogu
wp-content/plugins/. - Znajdź folder tej wtyczki, np.
elementor,contact-form-7itp. - Zmień nazwę folderu – np. z
elementornaelementor-deaktywowana.
Zmiana nazwy folderu powoduje, że WordPress uzna wtyczkę za wyłączoną (nie znajdzie jej w systemie).
- 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:
- Zmień nazwę całego katalogu
pluginsna np.plugins-off. - Odśwież stronę – jeśli działa, przyczyną błędu jest któraś z wtyczek.
- 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:
- Przez FTP wejdź do katalogu
wp-content/themes/. - Zmień nazwę folderu aktualnie używanego motywu, np. z
moj-motywnamoj-motyw-off. - 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ć:
- Połącz się z serwerem przez FTP lub menedżer plików w hostingu.
- Wejdź do głównego katalogu instalacji WordPressa (tam, gdzie jest
wp-config.php). - Jeśli zobaczysz plik
.maintenance, usuń go. - 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:
- Otwórz plik
wp-config.php. - Dodaj linię:
define('WP_ALLOW_REPAIR', true);
- Zapisz plik.
- W przeglądarce wejdź na stronę naprawy bazy (w swojej domenie) pod ścieżkę
/wp-admin/maint/repair.php. - 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:
- Pobierz najnowszą wersję WordPressa z oficjalnego źródła (panel lub paczka instalacyjna).
- Rozpakuj ją na swoim komputerze.
- Przez FTP wgraj wszystkie pliki z wyłączeniem katalogu
wp-contenti plikuwp-config.php. - 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:
- Sprawdź mail administratora – czy przyszła wiadomość „Twoja strona ma problem techniczny” z linkiem do trybu odzyskiwania;
- Jeśli możesz wejść do panelu, wyłącz wskazaną wtyczkę lub motyw;
- Włącz WP_DEBUG i WP_DEBUG_LOG w
wp-config.php, odśwież stronę i przeanalizuj plikwp-content/debug.log; - Przez FTP wyłącz problematyczną wtyczkę (zmiana nazwy folderu) lub wszystkie wtyczki naraz (zmiana nazwy
plugins); - Sprawdź motyw – zmień nazwę folderu aktywnego motywu, aby WordPress użył domyślnego;
- Usuń plik
.maintenance, jeśli aktualizacja utknęła w trybie konserwacji; - Sprawdź wersję PHP i w razie potrzeby ją zaktualizuj; rozważ zwiększenie
WP_MEMORY_LIMITwwp-config.php; - Włącz
WP_ALLOW_REPAIRi uruchom naprawę bazy danych pod ścieżką/wp-admin/maint/repair.php, następnie usuń tę linię; - Jeśli to nie pomaga – nadpisz pliki WordPressa świeżą kopią, nie ruszając
wp-contentiwp-config.php; - Gdy wszystkie metody zawiodą, przywróć kopię zapasową sprzed aktualizacji.