Jak sprawdzić, czy strona jest bezpieczna i czy nie ma wirusa. Poradnik dla WordPressa
Większość właścicieli firm dowiaduje się o włamaniu z zewnątrz. Klient pisze, że strona przekierowała go na kasyno. Google pokazuje czerwony ekran z ostrzeżeniem. Hosting wyłącza konto, bo z serwera idzie spam. Do tego momentu strona wygląda normalnie, bo dobrze zrobione włamanie ma być niewidoczne dla właściciela.
Ten poradnik pokazuje, jak sprawdzić, czy strona jest bezpieczna, krok po kroku i bez wiedzy programisty. Opisujemy objawy, które sami spotykamy przy pilnowaniu stron klientów, i to, jak je u siebie znaleźć.
Jak wygląda wirus na stronie WordPress
Słowo „wirus” jest tu umowne. Na stronie internetowej to zwykle kawałek kodu dopisany do plików albo do bazy danych. Może przekierowywać odwiedzających, dodawać ukryte linki do spamu, kraść dane z formularzy albo po prostu czekać jako tylne drzwi na kolejne wejście.
Firma Sucuri, która sprząta zainfekowane strony, w raporcie za 2023 rok podała, że 49,21% oczyszczanych stron miało co najmniej jedną tylną furtkę (backdoor), czyli ukryty sposób powrotu dla włamywacza. Wniosek dla Ciebie: usunięcie jednego podejrzanego pliku rzadko kończy sprawę. Trzeba sprawdzić wszystko poniżej.
Osiem kroków: sprawdź stronę pod kątem wirusów
1. Przekierowania tylko z telefonu albo tylko z Google
Co to znaczy: zainfekowana strona często zachowuje się normalnie, gdy wchodzisz na nią wpisując adres na komputerze. Przekierowuje na spam dopiero wtedy, gdy ktoś przychodzi z wyników Google albo z telefonu. Pokazywanie różnych treści różnym odwiedzającym nazywa się cloakingiem. Właściciel, który zawsze wchodzi ze swojego laptopa, latami niczego nie widzi.
Jak sprawdzić: weź telefon, wyłącz Wi-Fi, wyszukaj w Google nazwę swojej firmy i kliknij wynik. Powtórz w trybie incognito na komputerze, też przez wyniki wyszukiwania. Jeśli choć raz trafisz na obcą stronę, masz infekcję.
2. Dziwne podstrony w wynikach Google
Co to znaczy: popularna forma włamania polega na wygenerowaniu tysięcy podstron z reklamami podróbek, kasyn albo leków. Sucuri w tym samym raporcie wskazało japoński spam jako najczęstszy rodzaj spamu w 2023 roku, znaleziony na ponad 10% sprzątanych stron.
Jak sprawdzić: wpisz w Google site:twojadomena.pl i przejrzyj kilka stron wyników. Szukaj tytułów po japońsku, słów „casino”, „viagra”, „replica” albo podstron, których nigdy nie tworzyłeś. Dopisz też site:twojadomena.pl kasyno i site:twojadomena.pl casino.
3. Ostrzeżenie w Google Search Console i Safe Browsing
Co to znaczy: Google samo wykrywa część zainfekowanych stron i oznacza je jako niebezpieczne. Wtedy odwiedzający widzą ostrzeżenie zamiast Twojej strony.
Jak sprawdzić: wpisz adres strony w narzędziu Google Transparency Report: transparencyreport.google.com/safe-browsing/search. Jeśli masz Google Search Console, otwórz sekcję „Bezpieczeństwo i ręczne działania”, a w niej „Problemy dotyczące bezpieczeństwa”. Pusty raport to dobry znak, ale nie dowód, bo Google nie widzi wszystkiego.
4. Nowi administratorzy
Co to znaczy: włamywacz chętnie zakłada sobie konto administratora, żeby wrócić nawet po zmianie haseł. Według Sucuri 55% stron z zainfekowaną bazą danych miało co najmniej jednego fałszywego administratora.
Jak sprawdzić: w kokpicie WordPressa wejdź w Użytkownicy i ustaw filtr „Administrator”. Każde konto, którego nie rozpoznajesz, jest podejrzane, także takie z niewinną nazwą typu „wpadmin2″ albo „support”. Zwróć uwagę na adresy e-mail w obcych domenach.
5. Pliki PHP w katalogu uploads
Co to znaczy: katalog wp-content/uploads służy do zdjęć i dokumentów. WordPress nie trzyma tam kodu. Plik .php w środku to bardzo częsty ślad włamania.
Jak sprawdzić: zaloguj się do menedżera plików w panelu hostingu albo przez FTP, wejdź do wp-content/uploads i poszukaj plików z końcówką .php. Sprawdź też podfoldery z latami i miesiącami. Nie usuwaj ich od razu, najpierw zrób kopię i zanotuj daty, przydadzą się do ustalenia, jak doszło do włamania.
6. Zmienione pliki rdzenia WordPressa
Co to znaczy: pliki samego WordPressa są identyczne na każdej stronie z tą samą wersją. WordPress.org publikuje ich sumy kontrolne, czyli cyfrowe odciski. Jeśli odcisk pliku u Ciebie się różni, ktoś go zmienił.
Jak sprawdzić: jeśli hosting daje dostęp SSH, wpisz w katalogu strony polecenie wp core verify-checksums. Pokaże każdy plik rdzenia, który nie zgadza się z oryginałem, i każdy nadmiarowy plik. Bez SSH poproś o to obsługę hostingu albo użyj narzędzia, które porównuje sumy kontrolne za Ciebie.
7. Kopie zapasowe do pobrania przez każdego
Co to znaczy: wtyczki do kopii zapasowych i migracji zapisują archiwa w katalogu strony, często pod przewidywalną nazwą. Jeśli plik .zip, .sql albo .wpress leży w miejscu dostępnym z przeglądarki, każdy może pobrać całą stronę razem z bazą, hasłami do bazy i danymi klientów. Widzieliśmy to w praktyce: w jednym ze sklepów, którymi się opiekujemy, drogą do włamania okazała się właśnie publicznie dostępna kopia zrobiona wtyczką do backupu. W środku był komplet informacji potrzebnych do wejścia.
Jak sprawdzić: w menedżerze plików poszukaj w katalogu strony i w wp-content plików z końcówkami .zip, .sql, .gz, .wpress. Każdą znalezioną kopię przenieś poza katalog strony albo usuń z serwera po pobraniu do siebie. Sprawdź też, czy plik wp-config.php nie ma kopii typu wp-config.php.bak albo wp-config.old. Takie pliki serwer może wyświetlić jako zwykły tekst, razem z hasłem do bazy.
8. Stare wtyczki ze znanymi lukami
Co to znaczy: to najczęstsza droga wejścia. Patchstack policzył, że 91% luk zgłoszonych w ekosystemie WordPressa w 2025 roku dotyczyło wtyczek. Sucuri podaje, że 39,1% systemów CMS było nieaktualnych w chwili infekcji.
Jak sprawdzić: w kokpicie wejdź w Wtyczki i zanotuj nazwy i wersje. Wpisz każdą w bazie Patchstack albo WPScan. Jeśli Twoja wersja ma znaną lukę, a jest nowsza z poprawką, zaktualizuj. Jeśli poprawki nie ma albo wtyczka nie była aktualizowana od lat, poszukaj zamiennika.
Zabezpieczenie strony WordPress: co zrobić, gdy wszystko jest czyste
Jeśli przeszedłeś osiem kroków i nic nie znalazłeś, to dobry moment, żeby utrudnić życie następnym próbom.
- Aktualizacje. WordPress, wtyczki i motyw. Najlepiej co tydzień, a dla zaufanych wtyczek automatycznie.
- Usuń nieużywane wtyczki i motywy. Wyłączona wtyczka dalej leży na serwerze i dalej może mieć lukę.
- Logowanie dwuetapowe dla administratorów. Samo hasło przestaje wystarczać do wejścia.
- Limit prób logowania. Boty zgadujące hasła odpadają po kilku próbach.
- Kopie zapasowe poza serwerem. Na innym serwerze albo w chmurze, nigdy w katalogu strony. Kopia na tym samym serwerze zniknie razem ze stroną albo, jak wyżej, stanie się wejściem.
- Wyłącz XML-RPC, jeśli go nie używasz. To stary interfejs zdalny, często wykorzystywany do zgadywania haseł. Większość stron firmowych go nie potrzebuje.
Co zrobić teraz
1. Zacznij od kroków, które zajmują pięć minut. Telefon i wyniki Google, site:twojadomena.pl, Safe Browsing i lista administratorów. To pokaże najbardziej widoczne infekcje.
2. Sprawdź bezpieczeństwo strony z zewnątrz. Darmowy skaner na eyesite.pl/skaner w kilkanaście sekund pokaże, czy wersje WordPressa i wtyczek mają znane luki, czy z zewnątrz widać kopie zapasowe, loginy i XML-RPC, i czy maile ze strony dochodzą. Bez logowania i bez instalowania czegokolwiek.
3. Zainstaluj darmową wtyczkę, żeby nie robić tego ręcznie co tydzień. Eyesite Monitor sprawdza od środka sumy kontrolne plików WordPressa, nowe konta administratorów, publicznie dostępne kopie zapasowe i luki we wtyczkach. Gdy coś się zmieni, dostajesz wiadomość tego samego dnia, a nie od klienta po miesiącu.
Jeśli w którymś kroku coś znalazłeś, nie zaczynaj od kasowania plików. Zrób kopię obecnego stanu, zmień hasła do kokpitu, bazy i hostingu, a sprzątanie zostaw komuś, kto szuka także tylnych furtek.
Źródła
- Sucuri, „2023 Hacked Website & Malware Threat Report” (dane: tylne furtki 49,21%, fałszywi administratorzy 55%, nieaktualny CMS 39,1%, japoński spam ponad 10%): https://sucuri.net/wp-content/uploads/2024/06/2023-Hacked-Website-Malware-Threat-Report.pdf
- Patchstack, „State of WordPress Security in 2026″ (91% luk we wtyczkach): https://patchstack.com/whitepaper/state-of-wordpress-security-in-2026/
- web.dev (Google), „How do I know if my site was hacked?” (cloaking, raport Security Issues): https://web.dev/articles/how-do-i-know-if-my-site-was-hacked
- Google Search Central Blog, „Detect and get rid of unwanted sneaky mobile redirects”: https://developers.google.com/search/blog/2015/10/detect-and-get-rid-of-unwanted-sneaky
- Google Transparency Report, Safe Browsing: https://transparencyreport.google.com/safe-browsing/search
- WP-CLI, dokumentacja
wp core verify-checksums: https://developer.wordpress.org/cli/commands/core/verify-checksums/ - Baza luk Patchstack: https://patchstack.com/database/
- Baza luk WPScan: https://wpscan.com/plugins/

