WordPress to najpopularniejszy CMS na świecie — i niestety dlatego często bywa celem ataków. Jeśli zauważyłeś przekierowania na dziwne strony, wyskakujące reklamy, spadek pozycji w Google, komunikat “Ta witryna może być zhakowana” albo hosting zablokował Twoją stronę, to możliwe, że masz malware na WordPressie.

W tym poradniku pokażę Ci sprawdzone sposoby, jak usunąć wirusa z WordPressa:

  • metodę przez Wordfence Security (gdy masz dostęp do wp-admin),
  • metodę przez FTP / menedżer plików (gdy panel WP nie działa),
  • dodatkowe opcje: kopia zapasowa, narzędzia hostingu, WP-CLI, czyszczenie bazy danych i wzmocnienie zabezpieczeń po infekcji.

Objawy zainfekowanego WordPressa (malware) — jak rozpoznać problem?

Najczęstsze sygnały:

  • przekierowania (redirect) na strony z reklamami lub scamem,
  • nowe konta administratora, których nie tworzyłeś,
  • podejrzane pliki w wp-content/uploads/ (np. .php),
  • zmienione pliki core WordPressa (np. w wp-includes/, wp-admin/),
  • powolne działanie strony i wysokie zużycie CPU,
  • ostrzeżenia w Google Search Console / przeglądarce,
  • hosting informuje o wysyłce spamu lub wykrytym malware.

Jeśli masz 2–3 z powyższych objawów, potraktuj to jako incydent bezpieczeństwa i działaj od razu.

Zanim zaczniesz: zrób kopię (nawet zainfekowaną)

Nawet jeśli strona jest zawirusowana:

  1. Zrób kopię plików przez FTP (lub z panelu hostingu).
  2. Zrób eksport bazy danych (phpMyAdmin lub panel hostingu).
  3. Zapisz też logi serwera, jeśli są dostępne.

To ułatwi odzyskanie danych i analizę, gdyby coś poszło nie tak.

Metoda 1: Usuwanie malware przez Wordfence Security (gdy działa wp-admin)

Jeśli możesz zalogować się do wp-admin, Wordfence to jedna z najszybszych dróg do diagnozy i wstępnego czyszczenia.

Krok 1: Zainstaluj i uruchom skan

  1. Wejdź: Wtyczki → Dodaj nową → Wordfence Security.
  2. Po instalacji: Wordfence → Scan.
  3. Uruchom pełny skan i poczekaj na raport.

Na co patrzeć w wynikach Wordfence:

  • zmodyfikowane pliki rdzenia (core) WordPressa,
  • pliki z “unknown file” w dziwnych miejscach,
  • podejrzane pliki w wp-content/uploads,
  • wykryte backdoory / eval / base64 / gzinflate (częste sygnatury).

Krok 2: Napraw pliki core i usuń podejrzane pliki

Wordfence zwykle daje opcje:

  • Repair (naprawa plików core),
  • Delete (usunięcie pliku),
  • podgląd różnic (diff) między plikiem a oryginałem.

Ważne: jeśli Wordfence wykrywa zmiany w plikach wtyczek lub motywu, a nie masz 100% pewności, że są legalne — lepiej:

  • usunąć wtyczkę/motyw,
  • wgrać świeżą kopię z oficjalnego źródła,
  • dopiero potem testować.

Krok 3: Zaktualizuj wszystko i zmień hasła

Po sprzątaniu:

  • aktualizuj WordPress, motyw i wtyczki,
  • zmień hasła: WP admin, FTP/SFTP, panel hostingu, baza danych,
  • wymuś wylogowanie wszystkich sesji użytkowników.

Krok 4: Włącz firewall i twarde zasady logowania

W Wordfence warto włączyć:

  • WAF (Web Application Firewall),
  • limit prób logowania,
  • blokadę podejrzanych IP,
  • 2FA dla kont administratorów.

Metoda 2: Usuwanie malware przez FTP (gdy nie możesz wejść do wp-admin)

Gdy nie da się zalogować do WordPressa (np. błąd 500, biały ekran, przekierowania), najczęściej działasz przez FTP/SFTP lub menedżer plików w hostingu.

Krok 1: Znajdź podejrzane pliki po dacie modyfikacji

To bardzo skuteczna metoda, bo malware często zostawia świeże ślady.

  1. Połącz się przez SFTP/FTP.
  2. Posortuj pliki i foldery po “Last modified / Data modyfikacji”.
  3. Zwróć uwagę na:
    • wp-content/uploads/ (pliki .php, .phtml, .ico z kodem),
    • wp-includes/ i wp-admin/ (tam raczej NIE powinno być nowych plików),
    • nowe, losowe katalogi typu wp-content/mu-plugins/ (czasem używane do backdoorów),
    • pliki o dziwnych nazwach: class-wp.php, wp-vcd.php, cache.php, xleet.php, wso.php.

Tip: bardzo często wirusy “udają” pliki systemowe, np. podobne nazwy do oryginalnych, ale z drobną różnicą.

Krok 2: Sprawdź kluczowe miejsca, które atakujący lubią najbardziej

Przejrzyj ręcznie (szukaj podejrzanego kodu):

  • wp-config.php (czy nie ma dopisanych include/require z dziwnych ścieżek),
  • .htaccess (przekierowania, podejrzane reguły, ukryte rewrite),
  • index.php w katalogu głównym,
  • pliki motywu: functions.php, header.php, footer.php.

Podejrzane wzorce w kodzie:

  • eval(, base64_decode(, gzinflate(, str_rot13(,
  • bardzo długie, “losowe” ciągi znaków,
  • zdalne pobieranie kodu: file_get_contents("http..."), curl_exec.

Krok 3: Najbezpieczniejsza opcja – podmień core WordPressa na świeży

Jeśli masz podejrzenie naruszenia plików systemowych:

  1. Pobierz czystą paczkę WordPressa (ta sama wersja lub nowsza).
  2. Usuń z serwera katalogi:
    • wp-admin/
    • wp-includes/
  3. Wgraj je na nowo z paczki WordPressa.
  4. W katalogu głównym podmień pliki core (np. wp-login.php, wp-settings.php) — nie ruszaj:
    • wp-content/ (tu masz motywy, wtyczki, media)
    • wp-config.php (z danymi dostępu)

Krok 4: Wtyczki i motywy — usuń i wgraj od nowa

Najczęstszy wektor infekcji to:

  • nieaktualna wtyczka,
  • motyw z niepewnego źródła (“nulled”),
  • porzucona wtyczka bez aktualizacji.

Dobra praktyka:

  • usuń podejrzane wtyczki/motywy,
  • wgraj świeże wersje z oficjalnych źródeł,
  • jeśli musisz zachować modyfikacje w motywie — przenieś je świadomie do child theme.

Inne skuteczne sposoby czyszczenia malware w WordPressie

1) Przywrócenie czystej kopii zapasowej (często najszybsze)

Jeżeli masz backup sprzed infekcji:

  • przywróć pliki + bazę,
  • od razu aktualizuj wszystko i zmień hasła,
  • i koniecznie usuń lukę (wtyczka/motyw/konto FTP), bo inaczej infekcja wróci.

2) Skaner i narzędzia bezpieczeństwa od hostingu

Wiele hostingów ma:

  • skan malware,
  • izolację plików,
  • przywracanie wersji,
  • WAF na poziomie serwera.

Warto to wykorzystać, bo potrafi wyłapać rzeczy poza WordPressem (np. w plikach tymczasowych).

3) WP-CLI (dla osób technicznych)

Jeśli masz SSH:

  • możesz szybciej przeinstalować core,
  • sprawdzić sumy kontrolne,
  • masowo wyłączyć wtyczki (gdy panel nie działa).

Przykład działań (konceptualnie):

  • dezaktywacja wtyczek,
  • reinstalacja rdzenia,
  • analiza nietypowych plików w wp-content.

4) Czyszczenie bazy danych (często pomijane, a ważne)

Malware potrafi siedzieć w bazie:

  • w wp_options (np. w polach autoload),
  • w treści wpisów (ukryte linki, spam),
  • w użytkownikach (nowe konta admina).

Co sprawdzić:

  • czy nie ma nowych adminów,
  • czy w ustawieniach strony nie ma podejrzanych URL,
  • czy w treści nie ma ukrytych linków (np. display:none lub zaszytego JS).

Jeśli nie czujesz się pewnie z SQL — lepiej zrobić to ostrożnie albo z pomocą specjalisty, bo łatwo usunąć coś, co jest potrzebne.

Po usunięciu wirusa: zabezpiecz WordPressa, żeby infekcja nie wróciła

Checklistę potraktuj jako “must have” po czyszczeniu:

  • ✅ aktualizacja WordPressa, motywów i wtyczek,
  • ✅ usunięcie nieużywanych wtyczek i motywów,
  • ✅ zmiana haseł (WP/FTP/hosting/DB) + włączenie 2FA,
  • ✅ ograniczenie dostępu do panelu (np. limit prób logowania, firewall),
  • ✅ wyłączenie edycji plików z panelu (DISALLOW_FILE_EDIT),
  • ✅ poprawne uprawnienia plików (typowo 644 pliki / 755 katalogi),
  • ✅ monitoring zmian plików i regularne skany,
  • ✅ regularne kopie zapasowe (automatyczne + przechowywane poza serwerem).

FAQ - Najczęstsze pytania

Często pomaga, ale nie zawsze usuwa wszystko (zwłaszcza backdoory ukryte w nietypowych miejscach lub w bazie). Najlepsze efekty daje połączenie: skan + ręczna weryfikacja + podmiana core/wtyczek.

Zwykle dlatego, że nie usunięto źródła infekcji (np. dziurawa wtyczka, stare hasło FTP, pozostawiony backdoor, konto admina).

Najczęściej w:

  • wp-content/uploads/,
  • functions.php motywu,
  • .htaccess,
  • oraz w bazie danych (wp_options).

Pro tip SEO/bezpieczeństwo: sprawdź też Google Search Console

Jeśli Google wykrył spam/hack, w Search Console mogą być:

  • alerty bezpieczeństwa,
  • ręczne działania,
  • nietypowe strony wygenerowane przez malware.

Po wyczyszczeniu możesz poprosić o ponowne sprawdzenie.

Chcesz żebym Ci pomógł z usuwaniem wirusa? Skontaktuj się ze mną:

Aby wypełnić ten formularz, włącz obsługę JavaScript w przeglądarce.
Forma Kontaktu
Adres E-mail

Awesome Works
Awesome Works

Related Posts