Zhakowany WordPress to sytuacja, w której trzeba działać szybko, ale spokojnie. Objawy mogą być oczywiste, np. przekierowania na podejrzane strony, albo bardzo dyskretne, np. nagły spadek ruchu z Google, dziwne pliki na serwerze czy nowy administrator w panelu. Najważniejsze jest jedno. Nie usuwaj przypadkowych plików na ślepo. Najpierw zabezpiecz dostęp, wykonaj kopię, sprawdź źródło problemu i dopiero wtedy przejdź do czyszczenia.
Objawy zhakowanego WordPressa. Po czym poznać infekcję?
Nie każda awaria oznacza włamanie. Biały ekran, błąd 500, niedziałający panel albo problem po aktualizacji mogą wynikać z konfliktu wtyczki, motywu lub wersji PHP. Jeśli problem pojawił się zaraz po aktualizacji, instalacji dodatku albo zmianie motywu, najpierw sprawdź, czy nie chodzi o konflikt techniczny. W tym pomoże artykuł o tym, jak rozpoznać, gdy wtyczka lub motyw psuje WordPressa.
Infekcja zwykle daje jednak kilka charakterystycznych sygnałów. Warto zwrócić uwagę na:
- przekierowania na obce domeny, reklamy, podejrzane sklepy lub fałszywe strony logowania
- nowe linki, wpisy, podstrony albo treści, których nie dodawałeś
- ostrzeżenia w Google Search Console lub komunikaty przeglądarki o niebezpiecznej stronie
- nowych użytkowników w panelu WordPress, zwłaszcza z rolą administratora
- dziwne pliki PHP w katalogach, w których nie powinno ich być, np. w folderze z mediami
- nagły wzrost zużycia CPU, pamięci albo transferu
- wysyłkę spamu z domeny
- spadek widoczności strony w Google
- blokadę strony przez hosting lub komunikat o wykrytej infekcji
Najczęstsze przyczyny włamań na WordPressa
WordPress jest popularny, dlatego często staje się celem automatycznych skanów. W praktyce wiele włamań nie wynika z precyzyjnego ataku na konkretną firmę, ale z działania botów, które szukają znanych luk i słabych punktów.
Najczęstsze przyczyny to:
- Nieaktualne wtyczki i motywy – to jedna z najprostszych dróg do infekcji. Szczególnie ryzykowne są dodatki pobrane z nieoficjalnych źródeł, dawno nieaktualizowane albo pozostawione na stronie mimo że nie są już używane.
- Słabe hasła i brak 2FA
- Hasła typu admin123, powtarzanie tego samego hasła w wielu usługach albo brak uwierzytelniania dwuskładnikowego zwiększają ryzyko przejęcia konta. Jeśli widzisz wiele prób logowania, przeczytaj też poradnik o tym, jak zatrzymać ataki brute-force na WordPressie.
- Zbyt szerokie uprawnienia użytkowników – nie każdy użytkownik musi być administratorem. Jeśli osoba odpowiedzialna tylko za publikację wpisów ma pełny dostęp do ustawień, wtyczek i użytkowników, przejęcie jej konta może oznaczać duży problem.
- Brak kopii zapasowych – backup nie zapobiega włamaniu, ale bardzo ułatwia odzyskanie strony. Bez kopii trzeba zwykle czyścić pliki ręcznie, a to wydłuża cały proces.
- Brak monitorowania – jeśli nikt nie sprawdza logów, użytkowników, zmian w plikach i komunikatów z Google Search Console, infekcja może rozwijać się tygodniami. Im później ją zauważysz, tym trudniej ustalić, kiedy dokładnie doszło do problemu.
Jak naprawić zhakowanego WordPressa krok po kroku?
Naprawa zhakowanego WordPressa powinna mieć konkretną kolejność. Najpierw ogranicz szkody, potem zabezpiecz dostępy, wykonaj kopię, sprawdź pliki i użytkowników, a dopiero później usuwaj infekcję. Dzięki temu nie stracisz ważnych danych i łatwiej ustalisz, skąd wziął się problem.
1. Zabezpiecz stronę i dostępy
Zacznij od odcięcia atakującemu najprostszej drogi powrotu. Zmień hasła do wszystkich miejsc, które mogą mieć wpływ na stronę: panelu WordPress, hostingu, FTP/SFTP, bazy danych, poczty e-mail oraz kont administratorów. Nie używaj tego samego hasła w kilku usługach.
Jeśli jedno konto było przejęte, atakujący mógł próbować zalogować się tym samym hasłem w innych miejscach. Po zmianie haseł przejdź w WordPressie do sekcji Użytkownicy → Wszyscy użytkownicy. Sprawdź, czy nie ma tam kont, których nie rozpoznajesz. Zwróć szczególną uwagę na użytkowników z rolą administratora, dziwne adresy e-mail, losowe nazwy kont i profile utworzone niedawno. Podejrzane konta usuń, a jeśli były do nich przypisane treści, przekaż je prawidłowemu użytkownikowi.
Warto też wymusić wylogowanie aktywnych sesji. Jeśli atakujący nadal jest zalogowany w panelu, sama zmiana hasła może nie wystarczyć od razu. Technicznie można to zrobić przez zmianę kluczy bezpieczeństwa w pliku wp-config.php. Jeśli nie czujesz się z tym pewnie, zleć to osobie technicznej albo supportowi.
2. Wykonaj kopię strony przed czyszczeniem
To może brzmieć dziwnie, ale przed usuwaniem infekcji warto zrobić kopię plików i bazy danych. Nawet jeśli strona jest zainfekowana, taka kopia może pomóc w analizie i odzyskaniu elementów, które przypadkowo usuniesz podczas naprawy. Nie traktuj jej jednak jako czystego backupu. To raczej kopia robocza, która pozwala sprawdzić, jakie pliki zostały zmienione, kiedy pojawiły się podejrzane elementy i czy problem dotyczył tylko WordPressa, czy też innych katalogów na serwerze.
3. Przeskanuj pliki i sprawdź raport
Kolejny krok to skanowanie plików. Możesz skorzystać z narzędzia bezpieczeństwa, wtyczki antymalware albo wsparcia hostingu. W przypadku cyber_Folks pomoc techniczna może uruchomić skanowanie antywirusowe serwera, a raport wskaże ścieżki do podejrzanych plików. cyber_Folks opisuje ten proces w instrukcji dotyczącej zwalczania infekcji WordPress. Po otrzymaniu raportu nie patrz tylko na liczbę zainfekowanych plików. Ważne jest, gdzie się znajdują. Szczególnie podejrzane są pliki PHP w katalogu uploads, bo ten folder zwykle służy do przechowywania mediów, a nie wykonywalnego kodu.
Sprawdź też pliki:
.htaccess;wp-config.php;functions.php;- pliki aktywnego motywu;
- katalog
wp-content/uploads; - katalogi wtyczek;
- świeżo zmodyfikowane pliki o losowych nazwach.
Jeśli raport pokazuje pliki należące do rdzenia WordPressa, najczęściej bezpieczniej jest podmienić je na świeże pliki z oficjalnej paczki WordPressa niż ręcznie usuwać fragmenty kodu. Nie nadpisuj jednak katalogu wp-content bez sprawdzenia, bo tam są Twoje motywy, wtyczki i media.
4. Usuń złośliwe pliki i podejrzane dodatki
Po analizie raportu usuń pliki oznaczone jako zainfekowane. Jeśli nie masz pewności, czy dany plik jest potrzebny, porównaj go z czystą wersją WordPressa, motywu albo wtyczki. Możesz też poprosić support lub developera o ocenę. Lepiej poświęcić kilka minut na weryfikację niż usunąć plik, który odpowiada za działanie strony.
Następnie przejdź do wtyczek i motywów. Usuń wszystko, czego nie używasz. Dotyczy to również wyłączonych motywów i wtyczek. Wyłączony dodatek nadal znajduje się na serwerze, więc jeśli ma podatność, może stanowić ryzyko.
5. Sprawdź bazę danych
Infekcja nie zawsze siedzi wyłącznie w plikach. Czasem złośliwy kod trafia do bazy danych, np. do treści wpisów, widżetów, opcji motywu albo ustawień wtyczek. Dlatego po oczyszczeniu plików sprawdź również bazę. W panelu WordPress przejrzyj ostatnio edytowane wpisy, strony, menu, widżety i bloki HTML. Szukaj obcych linków, skryptów, ramek iframe, dziwnych przekierowań i treści, których nie dodawałeś.
6. Przywróć czyste pliki WordPressa
Jeżeli infekcja dotknęła plików systemowych WordPressa, pobierz świeżą paczkę z oficjalnego źródła i podmień pliki rdzenia. Nie pobieraj WordPressa z przypadkowych stron. W praktyce chodzi o to, aby odtworzyć czysty rdzeń WordPressa, ale zachować elementy indywidualne dla Twojej strony, czyli przede wszystkim wp-config.php oraz katalog wp-content. Ten katalog też trzeba sprawdzić, bo właśnie tam są motywy, wtyczki i pliki przesłane do biblioteki mediów.
7. Usuń backdoory, czyli ukryte furtki
Jednym z powodów, dla których infekcja wraca, są backdoory. To ukryte fragmenty kodu, które pozwalają atakującemu ponownie dostać się do strony nawet po zmianie haseł. Backdoor może wyglądać jak niepozorny plik PHP, fragment kodu w motywie albo dziwny wpis w bazie.
Dlatego nie wystarczy usunąć jednego pliku, który wyświetla spam. Trzeba sprawdzić, czy na serwerze nie ma dodatkowych punktów wejścia. Zwróć uwagę na:
- pliki o losowych nazwach;
- pliki PHP w folderach z obrazkami;
- świeżo zmodyfikowane pliki;
- fragmenty kodu z
eval; - podejrzane użycia
base64_decode; - bardzo długie, zaszyfrowane ciągi znaków;
- nowe zadania cron, których nie rozpoznajesz.
To etap, przy którym warto korzystać z raportu skanowania i wsparcia technicznego. Ręczne szukanie backdoorów bez doświadczenia może być trudne.
8. Sprawdź przekierowania i plik .htaccess
Jeśli użytkownicy są przekierowywani na obce strony, sprawdź plik .htaccess. To plik konfiguracyjny, który może zarządzać przekierowaniami. Atakujący często dopisują tam reguły, które kierują część ruchu na spamowe domeny. Podejrzane są zwłaszcza przekierowania do domen, których nie znasz, reguły zależne od urządzenia, przeglądarki albo wejścia z Google. Czasem właściciel strony widzi poprawną wersję, a przekierowanie uruchamia się tylko dla nowych użytkowników lub robotów wyszukiwarki. Po oczyszczeniu .htaccess wygeneruj go ponownie z WordPressa. W panelu przejdź do Ustawienia → Bezpośrednie odnośniki i zapisz ustawienia bez zmian. WordPress odtworzy standardowe reguły permalinków.
9. Zaktualizuj WordPressa, wtyczki i motywy
Po oczyszczeniu strony wykonaj aktualizacje. To ważne, bo jeśli zostawisz starą wersję wtyczki, przez którą doszło do włamania, problem może szybko wrócić. Po każdej większej aktualizacji przetestuj stronę główną, formularze, logowanie, najważniejsze podstrony, panel administracyjny i elementy sprzedażowe, jeśli masz sklep.
10. Sprawdź Google Search Console
Jeżeli Google oznaczyło stronę jako niebezpieczną, po usunięciu infekcji zaloguj się do Google Search Console i sprawdź komunikaty w sekcji dotyczącej bezpieczeństwa. Tam możesz zobaczyć, jakie adresy zostały oznaczone jako problematyczne. Po naprawie zgłoś stronę do ponownej weryfikacji. Nie rób tego zbyt wcześnie. Jeśli Google nadal znajdzie złośliwy kod, proces może się wydłużyć. Najpierw upewnij się, że pliki, baza, użytkownicy i przekierowania są sprawdzone. Warto też przejrzeć indeksowane adresy. Infekcje SEO potrafią tworzyć setki spamowych podstron, które trafiają do wyników wyszukiwania. Jeśli takie adresy istnieją, trzeba je usunąć, zwrócić poprawny status 404 lub 410 i poczekać na ponowne przetworzenie przez Google.
11. Przetestuj stronę po naprawie
Po czyszczeniu nie kończ pracy na komunikacie „strona działa”. Przetestuj najważniejsze funkcje:
- formularz kontaktowy;
- logowanie;
- panel WordPress;
- wyszukiwarkę;
- koszyk i płatności, jeśli masz sklep;
- wysyłkę e-maili;
- przekierowania;
- wersję mobilną;
- najważniejsze podstrony z ruchu organicznego.
Sprawdź też, czy strona nie obciąża nadmiernie serwera. Jeśli po infekcji nadal widzisz wysokie zużycie CPU, przyczyną mogą być pozostawione zadania cron, spamowe skrypty albo boty próbujące wrócić na stronę.

Kiedy lepiej zlecić usunięcie infekcji specjalistom?
Nie każdą infekcję warto usuwać samodzielnie. Jeśli masz prostą stronę, świeży backup i wiesz, która np. wtyczka spowodowała problem, możesz przejść przez podstawowe kroki samodzielnie. Są jednak bardziej skomplikowane sytuacje, w których lepiej nie ryzykować. Wszystko zależy od Twojego doświadczenia. W cyber_Folks możesz skorzystać z usługi usuwania wirusów ze strony na WordPress. To dobre rozwiązanie szczególnie wtedy, gdy strona firmowa, blog lub sklep ma znaczenie dla sprzedaży, widoczności w Google albo obsługi klientów.
Jak zmniejszyć ryzyko kolejnego włamania?
Bezpieczeństwo WordPressa najlepiej traktować jako stały proces, a nie jednorazową akcję po awarii. W praktyce największą różnicę robi kilka prostych zasad.
Regularnie aktualizuj WordPressa, wtyczki i motywy. Usuwaj dodatki, których nie używasz. Ogranicz liczbę administratorów. Włącz 2FA. Używaj silnych haseł. Regularnie twórz kopie zapasowe. Monitoruj Google Search Console i logi serwera. Rozważ WAF, szczególnie jeśli strona często łapie ruch botów.
Po naprawie warto przejść przez krótką checklistę:
- wszystkie hasła zostały zmienione
- nie ma nieznanych administratorów
- WordPress, wtyczki i motywy są aktualne
- usunięto nieużywane dodatki
- pliki
.htaccess,wp-config.phpifunctions.phpsą sprawdzone - w katalogu
uploadsnie ma podejrzanych plików PHP - Google Search Console nie pokazuje ostrzeżeń
- formularze, logowanie i najważniejsze podstrony działają poprawnie
- jest wykonana świeża, czysta kopia zapasowa
- 2FA i limit prób logowania są włączone.
Podsumowanie
Zhakowany WordPress nie zawsze oznacza utratę strony. Najważniejsze jest szybkie rozpoznanie objawów, zabezpieczenie dostępów, wykonanie kopii, skanowanie plików i usunięcie prawdziwej przyczyny infekcji. Nie kończ pracy na skasowaniu kilku podejrzanych plików. Po czyszczeniu zaktualizuj stronę, usuń zbędne wtyczki, zmień hasła, ogranicz uprawnienia i ustaw regularne kopie zapasowe. Dzięki temu nie tylko odzyskasz kontrolę nad stroną, ale też zmniejszysz ryzyko, że problem wróci.


Polecane dla Ciebie
WordPress 5.5 a SEO – wpływ na widoczność strony
11 sierpnia naszym oczom ukazała się kolejna aktualizacja jednego z najpopularniejszych CMSów na świecie. Mowa oczywiście o silniku WordPress, który […]
Jak planować wpisy blogowe w WordPressie?
Gdy jesteśmy blogerami to na koniec roku warto sobie zaplanować cele na kolejny rok naszego blogowania. Stworzenie planu publikacji pozwoli […]
Optymalizacja sklepu Woocommerce. 5 kroków
Zadbaj o wydajność swojego sklepu. Sprawdź jak przyspieszyć WooCommerce w praktyce – od cache’owania na LiteSpeed po HPOS, czyli rozwiązanie usprawniające obsługę zamówień.
Szukasz dalej?