icon

Cyfrowe bezpieczeństwo zaczyna się tutaj zarówno dla firm, jak i osób prywatnych.

Bezpieczny WordPress = bezpieczny biznes. Usuwanie wirusów, aktualizacje, monitoring i pełna ochrona Twojej strony.

Błąd krytyczny WordPress – komunikat „Witryna napotkała błąd krytyczny” oraz diagnostyka i naprawa problemu

“Witryna napotkała błąd krytyczny” – Kompletny przewodnik diagnostyki i naprawy (Edycja 2025)

„Witryna napotkała błąd krytyczny” – Kompletny Przewodnik Diagnostyki i Naprawy (Edycja 2025)

W roku 2025 „Błąd Krytyczny” to już nie tylko kwestia zepsutej wtyczki. Coraz częściej jest to objaw niekompatybilności z PHP 8.3 lub cichej infekcji malware typu Hidden Admin. Ten poradnik to nie zestaw banałów – to techniczna procedura, której używamy w WPOchrona.pl do ratowania sklepów i serwisów naszych klientów.

1. Diagnoza Techniczna: Co tak naprawdę się stało?

Komunikat o błędzie krytycznym to tylko wierzchołek góry lodowej. WordPress “połyka” właściwy błąd, aby nie pokazywać go odwiedzającym. Aby naprawić stronę, musimy zmusić system do mówienia prawdy.

Krok 1: Włączanie “Czarnej Skrzynki” (Debug Log)

Edycja pliku wp-config.php to absolutna podstawa. Nie używaj domyślnych ustawień, użyj tej konfiguracji, aby zapisać błędy do pliku, a nie wyświetlać ich klientom:

// Wklej to w wp-config.php NAD linią "That's all, stop editing"
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false ); // Ważne: Ukrywa błędy na ekranie
@ini_set( 'display_errors', 0 );

Po dodaniu tego kodu odśwież stronę z błędem, a następnie otwórz plik /wp-content/debug.log przez FTP.

Co znajdziesz w logach?

  • Fatal Error: Uncaught Error: Oznacza, że kod przestał działać całkowicie. Spójrz na ścieżkę pliku. Jeśli widzisz /wp-content/plugins/elementor/, masz winowajcę.
  • Allowed memory size exhausted: Serwer ma za mało RAM. Zwiększ memory_limit w php.ini lub wp-config.php.

Pułapka “Białej Strony”

Jeśli log jest pusty, a strona biała, problem może leżeć w serwerze (błąd 500) lub w pliku .htaccess. Wtedy musisz sprawdzić error_log serwera Apache/Nginx w panelu hostingu.

2. Nowy wróg nr 1: PHP 8.2/8.3 a stare wtyczki

Rok 2025 to czas masowej migracji hostingów na PHP 8.3. Wiele starszych wtyczek, które działały na PHP 7.4, teraz powoduje natychmiastowe błędy krytyczne.

Dlaczego strona padła po aktualizacji serwera?

W PHP 8.x wiele ostrzeżeń (Warnings) zamieniono na błędy krytyczne (Fatal Errors). Przykład: Odwołanie do nieistniejącej zmiennej w tablicy kiedyś było ignorowane, teraz “zabija” stronę.

Rozwiązanie doraźne: Cofnij wersję PHP do 8.0 lub 7.4 w panelu hostingu (jeśli możliwe), aby odzyskać dostęp, a następnie zaktualizuj wszystkie wtyczki.

3. Błąd krytyczny jako objaw ataku (Analiza Forenzyczna)

Często błąd krytyczny pojawia się, gdy haker nieudolnie wstrzyknie złośliwy kod. W 2025 roku obserwujemy plagę infekcji, które modyfikują pliki systemowe WordPressa.

Objawy infekcji w plikach

Szukaj w pliku index.php lub wp-config.php ciągów znaków wyglądających jak losowy bełkot. Hakerzy używają kodowania Base64, aby ukryć swoje działania.

eval(base64_decode('...'));

Jeśli widzisz “eval” połączone z “base64”, na 99% Twoja strona jest zainfekowana.

Ukryci Administratorzy

Nowoczesny malware tworzy “niewidzialnych” użytkowników. Nie zobaczysz ich w zakładce “Użytkownicy”. Musisz zajrzeć bezpośrednio do bazy danych.

SQL Query: Jak znaleźć ukrytego hakera?

Zaloguj się do phpMyAdmin i wykonaj to zapytanie, aby zobaczyć wszystkich administratorów, nawet tych ukrytych przez wtyczki malware:

SELECT u.ID, u.user_login, u.user_email 
FROM wp_users u 
INNER JOIN wp_usermeta m ON m.user_id = u.ID 
WHERE m.meta_key = 'wp_capabilities' 
AND m.meta_value LIKE '%administrator%';

Uwaga: Jeśli zobaczysz na liście użytkownika, którego nie tworzyłeś (często o nazwie typu “wp_support” lub “system”), natychmiast go usuń i zmień wszystkie hasła.

4. Narzędzia Pro: WP-CLI (Dla zaawansowanych)

Jeśli masz dostęp do terminala (SSH), możesz naprawić stronę w 3 minuty bez grzebania w plikach ręcznie. WP-CLI to potężne narzędzie linii komend.

Komenda: Weryfikacja Sum Kontrolnych

Ta komenda sprawdzi, czy pliki Twojego WordPressa różnią się od oryginałów w repozytorium (co oznacza infekcję lub uszkodzenie).

wp core verify-checksums

Jeśli komenda zwróci listę plików z błędem “Checksum failed”, wiesz dokładnie, co zostało zainfekowane.

Komenda: Wyłączenie wszystkich wtyczek

Ratunek, gdy nie działa wp-admin:

wp plugin deactivate --all

5. Case Study: Atak “Fake Patch” na WooCommerce

W połowie 2025 roku obsłużyliśmy serię zgłoszeń od sklepów WooCommerce. Właściciele otrzymywali e-maile podszywające się pod WordPress Security Team z prośbą o instalację “łatki bezpieczeństwa”.

Mechanizm Ataku

  • Klient klikał w link w e-mailu.
  • Pobierał wtyczkę o nazwie “WooCommerce Security Patch”.
  • Po aktywacji wtyczka tworzyła konto admina dla hakera i wysyłała dane bazy klientów na zewnętrzny serwer.

Skutki i Naprawa

  • Skutek: Wyciek danych 5000 klientów i blokada domeny przez Google Safe Browsing.
  • Koszt: 12 000 PLN (audyt prawny + informatyczny).
  • Lekcja: Nigdy nie instaluj wtyczek z linków w e-mailach. Oficjalne aktualizacje są TYLKO w w oficjalnych źródłach dystrybucji (kokpit wordpress, strona autora wtyczki, strona dystrybutora).

6. Procedura Ratunkowa 10 Kroków

  1. Zrób backup obecnego stanu (nawet zepsutego) – to Twoje ubezpieczenie.
  2. Sprawdź error_log i debug.log.
  3. Jeśli podejrzewasz wtyczkę: zmień nazwę folderu plugins na plugins_old przez FTP.
  4. Jeśli podejrzewasz motyw: zmień nazwę folderu aktywnego motywu (WordPress włączy motyw domyślny).
  5. Podmień pliki WordPress Core (wp-admin i wp-includes) na czyste, pobrane z wordpress.org.
  6. Zmień hasła do bazy danych i FTP.
  7. Sprawdź plik .htaccess czy nie ma dziwnych przekierowań.
  8. Przeskanuj bazę danych w poszukiwaniu `eval(base64…` (patrz sekcja 3).
  9. Zaktualizuj PHP do wersji zalecanej przez twórców Twoich wtyczek.
  10. Zainstaluj Firewall (WAF), np. Wordfence lub skorzystaj z ochrony serwerowej.

7. Checklista Bezpieczeństwa 2025

  • ✔ Czy masz backup off-site (poza serwerem strony)?
  • ✔ Czy używasz 2FA (dwuskładnikowego logowania)?
  • ✔ Czy zablokowałeś edycję plików w kokpicie? (define('DISALLOW_FILE_EDIT', true);)
  • ✔ Czy Twój hosting ma izolację zasobów (CloudLinux/CageFS)?

Brak któregokolwiek z tych elementów zwiększa ryzyko awarii o 70%.

Nie masz czasu na walkę z kodem?

Błąd krytyczny to paraliż biznesu. Nasi technicy usuwają awarie i odwirusowują strony średnio w 60 minut. Nie ryzykuj utraty danych.

Zleć Naprawę Strony (Czynne 24/7)

Analiza problemu jest bezpłatna. Płacisz tylko za efekt.

Zostaw odpowiedź

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *