Przejęcie strony WordPress bardzo często nie daje od razu widocznych objawów. Strona działa poprawnie, panel administracyjny się otwiera, a mimo to w tle może działać złośliwy kod. Google potrafi wykryć takie zagrożenia szybciej niż właściciel strony i oznaczyć witrynę jako „Niebezpieczną”, co skutkuje spadkiem ruchu praktycznie do zera. Dlatego kluczowe jest wczesne wykrycie infekcji.
Dlaczego Google oznacza strony WordPress jako niebezpieczne
Google analizuje strony pod kątem:
- złośliwych skryptów JavaScript,
- przekierowań do stron phishingowych,
- wysyłania spamu,
- ukrytych iframe’ów i linków,
- podejrzanych plików PHP.
Często infekcja dotyczy tylko jednego pliku lub jednego użytkownika, ale to wystarczy, by domena trafiła na blacklistę.
Objawy przejęcia WordPressa, które łatwo przeoczyć
Najczęstsze sygnały ostrzegawcze:
- nagły wzrost liczby plików PHP w katalogach
uploads,
- dziwne pliki o losowych nazwach (
wp-vcd.php, class.api.php),
- spowolnienie strony bez wyraźnej przyczyny,
- wysyłka e-maili spamowych z serwera,
- nowe konta administratorów, których nikt nie tworzył,
- kod JavaScript wstrzykiwany do stopki lub nagłówka strony.
Jak sprawdzić WordPressa pod kątem złośliwego kodu bez wtyczek
Pierwszym krokiem powinno być ręczne sprawdzenie plików:
- porównaj pliki rdzenia WordPress z oryginalną paczką (np. przez WP-CLI),
- sprawdź katalogi:
/wp-content/uploads/
/wp-includes/
/wp-content/themes/
- wyszukaj podejrzane funkcje:
eval(
base64_decode(
gzinflate(
str_rot13(
preg_replace z modyfikatorem /e
Przykład polecenia:
grep -R "base64_decode" wp-content/
Wykrywanie przejęcia WordPressa przy pomocy WP-CLI
WP-CLI to jedno z najlepszych narzędzi do diagnostyki:
- sprawdzenie integralności plików:
wp core verify-checksums
wp user list
- sprawdzenie aktywnych wtyczek:
wp plugin list
Jeśli checksums się nie zgadzają – bardzo często oznacza to modyfikację plików przez atakującego.
Jak sprawdzić, czy WordPress nie wysyła spamu
Przejęte strony często służą do masowej wysyłki e-maili.
Co sprawdzić:
- logi serwera pocztowego,
- nagły wzrost zużycia CPU,
- foldery
tmp i mail,
- pliki PHP wywoływane przez cron.
W WordPressie warto też sprawdzić, czy ktoś nie podmienił funkcji wp_mail().
Ukryte przekierowania i złośliwy JavaScript
Bardzo częsty scenariusz:
- użytkownik widzi stronę normalnie,
- Googlebot lub użytkownik z telefonu jest przekierowywany na inną stronę.
Jak to wykryć:
- sprawdź stronę w trybie incognito,
- użyj różnych user-agentów,
- zeskanuj pliki JS w motywie,
- sprawdź
header.php i footer.php pod kątem iframe’ów.
Monitorowanie zmian w plikach jako wczesne ostrzeżenie
Najlepszą ochroną przed blacklistą Google jest szybka reakcja.
Warto wdrożyć:
- monitoring zmian plików (checksumy),
- logowanie modyfikacji plików PHP,
- alerty e-mail przy zmianach w katalogach systemowych,
- wersjonowanie WordPressa przez Git.
Dzięki temu infekcja jest wykrywana zanim Google ją zauważy.
Co zrobić natychmiast po wykryciu infekcji
Kolejność działań:
- wyłącz stronę (tryb konserwacji),
- zmień wszystkie hasła (WordPress, FTP, baza danych),
- usuń złośliwe pliki,
- przywróć czyste wersje rdzenia WordPress,
- sprawdź bazę danych (złośliwe skrypty w
wp_options),
- wykonaj ponowne skanowanie.
Dopiero po pełnym oczyszczeniu warto zgłaszać stronę do ponownej weryfikacji w Google Search Console.
Jak zapobiec ponownemu przejęciu WordPressa
Najczęstsze źródła infekcji:
- nieaktualne wtyczki,
- nulled themes,
- słabe hasła administratorów,
- brak ograniczeń dostępu do panelu.
Minimalny zestaw zabezpieczeń:
- regularne aktualizacje,
- ograniczenie logowania po IP,
- wyłączenie XML-RPC,
- monitorowanie plików,
- kopie zapasowe.
Podsumowanie
Przejęcie WordPressa rzadko wygląda jak spektakularny atak. Najczęściej jest ciche, niewidoczne i wykrywane dopiero wtedy, gdy Google ostrzeże użytkowników. Regularna diagnostyka, monitoring plików i szybka reakcja pozwalają wykryć infekcję wcześniej i uniknąć ogromnych strat w ruchu i reputacji strony.