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:
- Zrób kopię plików przez FTP (lub z panelu hostingu).
- Zrób eksport bazy danych (phpMyAdmin lub panel hostingu).
- 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
- Wejdź: Wtyczki → Dodaj nową → Wordfence Security.
- Po instalacji: Wordfence → Scan.
- 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.
- Połącz się przez SFTP/FTP.
- Posortuj pliki i foldery po “Last modified / Data modyfikacji”.
- Zwróć uwagę na:
wp-content/uploads/(pliki.php,.phtml,.icoz kodem),wp-includes/iwp-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.phpw 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:
- Pobierz czystą paczkę WordPressa (ta sama wersja lub nowsza).
- Usuń z serwera katalogi:
wp-admin/wp-includes/
- Wgraj je na nowo z paczki WordPressa.
- 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:nonelub 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.phpmotywu,.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.


