„Czy moja strona jest zainfekowana?" — to pytanie zadaje sobie każdy, kto dostał ostrzeżenie od Google, mail od hostingu albo zauważył spadek pozycji. Zanim zapłacisz za czyszczenie, możesz samodzielnie sprawdzić stronę w kilku darmowych narzędziach i w panelu WordPress. Ten poradnik to uporządkowana checklista: objawy infekcji, najlepsze darmowe skanery (Wordfence, Sucuri, Quttera, WPScan, VirusTotal), testy sklepu WooCommerce i lista miejsc w plikach oraz bazie, które trzeba sprawdzić ręcznie. Na końcu — co zrobić, gdy skaner coś znajdzie.
Najważniejsze: Kolejność sprawdzania: 1) objawy i Google Search Console (Problemy z bezpieczeństwem), 2) zewnętrzne skanery (Sucuri SiteCheck, Quttera, VirusTotal), 3) wtyczka bezpieczeństwa w WordPressie (Wordfence), 4) podatności wtyczek (WPScan), 5) ręczny przegląd plików (
uploads/,functions.php,.htaccess) i bazy (wp_options,wp_posts,wp_users), 6) test zakupowy w sklepie. Skaner wykrywa ślady — potwierdzenie i czyszczenie wymaga analizy.
Objawy infekcji — checklista
Zaznacz każdy objaw, który widzisz u siebie. Jeden wystarczy, żeby uruchomić diagnostykę
- przekierowania na obce strony (szczególnie z Google lub na telefonie),
- spamowe podstrony w Google (farmaceutyki, kasyna, obcy język),
- wyskakujące reklamy i nowe skrypty na stronie,
- ostrzeżenie „Ta witryna może cię zaatakować" lub czerwony ekran Safe Browsing,
- nowe konta administratora, nowe wtyczki, zmieniony motyw,
- nagłe spowolnienie strony i wysokie zużycie CPU na hostingu,
- maile od hostingu o limitach wysyłki albo o zawieszeniu konta,
- spadek pozycji i wyświetleń w Google Search Console bez wyraźnej przyczyny,
- dziwne zachowanie sklepu: nowe pola w formularzu, dodatkowe skrypty w koszyku,
- obce pliki w
wp-content/uploads/(zwłaszcza.php).
Google Search Console — sprawdzenie w 2 minuty
- Otwórz Google Search Console i wejdź w sekcję Bezpieczeństwo i ręczne działania („Problemy z bezpieczeństwem").
- Sprawdź, czy Google nie oznaczyło strony jako niebezpiecznej i czy nie ma próbek zainfekowanych URL-i.
- W zakładce Indeksowanie poszukaj podstron, których nie tworzyłeś — to typowy ślad spamu SEO.
- Zestaw nagły spadek wyświetleń z ostrzeżeniami bezpieczeństwa — infekcja często „kosi" widoczność całej domeny.
Darmowe skanery i narzędzia
- Sucuri SiteCheck (sitecheck.sucuri.net) — zewnętrzna weryfikacja strony: malware, blacklisty, błędy. Nie wymaga instalacji; pokazuje stronę tak, jak widzi ją bot.
- Quttera (quttera.com) — skan treści i plików pod kątem złośliwego kodu, także bez dostępu do serwera.
- VirusTotal (virustotal.com) — wrzuć pojedynczy podejrzany plik (np.
.phpz uploads); pokaże, czy jest znany jako malware. - WPScan (wpscan.com) — sprawdza podatności wtyczek i motywów; darmowa wersja wystarcza do weryfikacji znanych dziur.
- Wordfence (wtyczka) — skaner plików i bazy od środka; darmowa wersja wykrywa większość infekcji i pokazuje zmienione pliki.
- Skan hostingu — wiele hostingów ma detekcję malware po stronie serwera (poza zasięgiem wtyczek). Sprawdź panel hostingowy, zanim uznasz stronę za czystą.
- Google Safe Browsing — status strony w bazie zagrożeń Google: transparencyreport.google.com/safe-browsing.
Wskazówka: Łącz narzędzia zewnętrzne i wewnętrzne. Sucuri/Quttera widzą stronę „z ulicy", Wordfence — pliki na serwerze. Dopiero oba wyniki razem dają sensowny obraz.
Ręczny przegląd plików i bazy
Skanery nie widzą wszystkiego — backdoory i cloaking potrafią się maskować. Minimum ręcznej weryfikacji
wp-content/uploads/— każdy plik.phpto czerwona flaga; obrazy nie powinny być wykonywalne.functions.php,header.php,footer.php— szukajeval(,base64_decode,gzinflate,wp_redirecti skryptów z obcych domen..htaccess— porównaj z domyślną zawartością WordPressa; obce regułyRewriteRulena zewnętrzne domeny to klasyka.wp_options— sprawdźsiteurlihome, a także opcje z długim, zakodowanym kodem.wp_posts— posty i strony, których nie tworzyłeś; wstrzyknięty JavaScript w treści.wp_users/wp_usermeta— konta, których nie znasz, i uprawnieniaadministratortam, gdzie ich nie było.
Przykładowe zapytanie SQL sprawdzające podejrzane wpisy w opcjach
SELECT option_name, LEFT(option_value, 120) FROM wp_options
WHERE option_value LIKE '%<script%'
OR option_value LIKE '%base64_decode%'
OR option_value LIKE '%eval(%';
Pełną listę miejsc i procedurę czyszczenia opisuje usuwanie wirusów WordPress.
Jak sprawdzić sklep WooCommerce
Sklep wymaga dodatkowych testów, bo infekcja może kraść dane kart
- Test zakupowy — przejdź całą ścieżkę: koszyk → dane → płatność (tryb testowy) i sprawdź, czy w kodzie checkout nie ładują się obce skrypty.
- Skrypty w motywie — porównaj pliki motywu z oryginałem; skimmer to często jeden dodatkowy plik JS.
- Logi płatności — poszukaj nietypowych transakcji i zmian w statusach zamówień.
- Pola formularza — nowe, nieznane pola w checkout to sygnał, że ktoś modyfikuje proces zamówienia.
Co zrobić, gdy skaner coś znajdzie?
- Nie panikuj i nie usuwaj „na oślep" — najpierw zrób kopię dowodową i roboczą (bez tego nie ma bezpiecznego powrotu).
- Zmień wszystkie hasła — hosting, WordPress, baza, FTP/SFTP, klucze API.
- Oceń zakres — co dokładnie znaleziono: pojedynczy plik wtyczki czy backdoor, spam w bazie czy skimmer w sklepie.
- Wyczyść pliki i bazę — usuń kod, przeinstaluj z oryginalnych źródeł to, co podejrzane.
- Zgłoś do Google — po naprawie poproś o ponowne rozpatrzenie w Search Console.
- Monitoruj — obserwuj skany i logi przez kilka tygodni; nawrót oznacza niewyeliminowany wektor.
Jeśli infekcja dotyczy sklepu, płatności lub wielu kont, lepiej zlecić analizę specjaliście — niepełne czyszczenie kosztuje więcej niż profesjonalne. Zakres i ceny: usuwanie wirusów WordPress.
Najczęściej zadawane pytania
Czy darmowe skanery wystarczą, żeby potwierdzić infekcję?
Darmowe skanery dobrze wykrywają ślady (złośliwe pliki, blacklisty, znane podatności), ale nie zastąpią analizy — cloaking i backdoory potrafią się maskować. Traktuj wynik jako sygnał do dalszej weryfikacji, nie jako wyrok.
Jak sprawdzić stronę, jeśli nie mam dostępu do plików?
Zewnętrzne skanery (Sucuri, Quttera) i Google Search Console działają bez dostępu do serwera. Ręczny przegląd plików wymaga dostępu przez FTP/SFTP lub panel hostingu — jeśli go nie masz, poproś hosting o dostęp albo zleć analizę.
Strona działa normalnie — czy na pewno jest czysta?
Nie. Część infekcji (cloaking, backdoory, skimmery) jest zaprojektowana tak, żeby właściciel ich nie widział. Jeśli Google pokazuje ostrzeżenie, hosting raportuje spam albo pozycje spadły bez przyczyny — sprawdź stronę skanerami, nawet gdy „u Ciebie działa".
Jak często sprawdzać stronę pod kątem infekcji?
Minimum raz w miesiącu, a po każdej większej zmianie (aktualizacje, nowe wtyczki, nowy wykonawca) — dodatkowo. Strony z opieką techniczną mają skany częstsze i automatyczne alerty; to jeden z powodów, dla których opieka się opłaca.
Czy antywirus na komputerze wykryje infekcję strony?
Nie — antywirus chroni Twój komputer, nie serwer strony. Infekcja WordPressa siedzi w plikach i bazie na hostingu, dlatego potrzebne są skanery działające od strony serwera (Wordfence, skan hostingu) i weryfikacja zewnętrzna.
Źródła i narzędzia
- Google Search Console — Problemy z bezpieczeństwem
- Sucuri SiteCheck
- Quttera
- VirusTotal
- WPScan
- Wordfence — dokumentacja
- Google Safe Browsing — raport przejrzystości
👉 Skaner coś znalazł i nie wiesz, co dalej? Opisz wynik przez formularz kontaktowy — zweryfikuję zakres infekcji i zaproponuję czyszczenie z utwardzeniem. Zobacz też usługę usuwanie wirusów WordPress.
📖 Zobacz również: Usuwanie wirusów WordPress, WordPress przekierowuje na obce strony, spam SEO w WordPress oraz bezpieczeństwo WordPress.