naprawa-stron.pl Online 24/7 Zgłoś awarię

Jak sprawdzić, czy strona jest zhakowana – 12 objawów

Autor: Grzegorz Wojterzak. Aktualizacja: 12 października 2026. Czas czytania: około 11 minut.

$ diagnoza podejrzenie włamania
Typowe objawy
Dziwne wyniki w Google, przekierowania, ostrzeżenia, spadek ruchu
Najczęstsza przyczyna
Nieaktualna wtyczka lub motyw, przejęte hasło
Czas sprawdzenia
5 minut na szybki test, około godziny na pełną listę
Czy zrobisz to sam?
Tak. Sprawdzenie nie wymaga zmian na stronie

Szybka odpowiedź

Aby sprawdzić, czy strona jest zhakowana, wpisz w Google site:twojadomena.pl i szukaj obcych treści, otwórz stronę z telefonu w trybie incognito, sprawdź adres w Raporcie przejrzystości Google, a w Search Console raporty „Problemy dotyczące bezpieczeństwa” i „Ręczne działania”. Potem przejrzyj listę administratorów i nowe pliki PHP na serwerze. Obcy administrator, plik PHP w katalogu z obrazkami albo ostrzeżenie od Google to niemal pewne włamanie.

Włamanie na stronę rzadko wygląda jak w filmach. Nie ma czaszki na stronie głównej ani komunikatu od hakerów. Atakującym zależy na tym, żeby strona działała dalej i żebyś niczego nie zauważył, bo wtedy mogą dłużej wysyłać z niej spam, przekierowywać Twoich klientów albo pozycjonować swoje podstrony na Twojej domenie.

Poniżej jest 12 objawów, które sprawdzam, gdy właściciel strony pisze „coś jest nie tak”. Przy każdym podaję, jak go sprawdzić samodzielnie i jak mocny to sygnał. Nic z tej listy nie zmienia niczego na stronie, więc nie ma ryzyka, że coś zepsujesz.

Test 5-minutowy: od czego zacząć

Jeśli masz mało czasu, zrób te pięć kroków w tej kolejności. Nie wymagają logowania do serwera.

Pięciominutowy test, czy strona jest zhakowana Pięć kroków po około minucie: 1 site:domena w Google, 2 telefon i tryb incognito, 3 Raport przejrzystości Google, 4 Search Console: bezpieczeństwo i ręczne działania, 5 lista administratorów. Jeśli którykolwiek krok coś wykazał, przejdź do pełnej listy 12 objawów i procedury czyszczenia. Jeśli wszystkie są czyste, strona prawdopodobnie nie ma widocznej infekcji, ale nie wyklucza to ukrytej tylnej furtki. 1 1 min Google site:domena.pl obce tytuły, obcy język 2 1 min Telefon incognito, wejście z wyników Google, bez Wi-Fi firmy 3 1 min Raport przejrzystości stan witryny w Google 4 1 min Search Console bezpieczeństwo, ręczne działania, właściciele 5 1 min Administratorzy Użytkownicy, rola Administrator, nieznane konta coś znaleziono wszystko czyste Przejdź do 12 objawów zrób kopię strony, nie usuwaj niczego na ślepo i przejdź do procedury czyszczenia Brak widocznej infekcji nie wyklucza ukrytej furtki; jeśli masz konkretny powód do niepokoju, sprawdź też pliki i cron (objawy 6, 8)
Pierwsze trzy kroki zrobisz bez żadnych haseł, nawet z telefonu. Czwarty i piąty wymagają dostępu do Search Console i panelu strony.

Jak pewny jest każdy sygnał

Nie każdy objaw oznacza włamanie. Spadek ruchu może mieć sto przyczyn, a obcy administrator praktycznie jedną. Ta siatka pokazuje, jak traktować każdy z 12 objawów opisanych niżej.

Siatka 12 objawów włamania z oceną pewności sygnału Pewne sygnały: obce strony w site:, ostrzeżenie w Search Console lub ręczne działanie, ostrzeżenie w Raporcie przejrzystości, nowi administratorzy, pliki PHP w uploads, nieznane zadania cron. Prawdopodobne: przekierowania tylko na telefonie, spam wysyłany z serwera, zmienione tytuły w wynikach, ukryte linki w kodzie. Możliwe inne przyczyny: spadek ruchu, ostrzeżenie od hostingu o obciążeniu. pewny sygnał włamania prawdopodobny możliwe inne przyczyny 01Obce strony w site: japońskie znaki, leki, kasyna pod Twoją domeną 02Search Console problem z bezpieczeństwem lub ręczne działanie za spam 03Raport przejrzystości strona oznaczona jako niebezpieczna 04Przekierowania tylko na telefonie lub tylko z wyników Google 05Nowi administratorzy konta, których nikt nie zakładał 06Nowe pliki PHP w uploads lub o losowych nazwach w katalogu głównym 07Spam z serwera zwroty maili, blokada wysyłki od hostingu 08Nieznane zadania cron polecenia pobierające kod lub odtwarzające pliki 09Zmienione tytuły w wynikach Google inne niż na stronie 10Spadek ruchu także: aktualizacja Google, błąd pomiaru, sezon 11Ostrzeżenie hostingu o malware: pewne; o obciążeniu: może to być zwykły ruch 12Dziwne linki w kodzie ukryte linki, obce skrypty w źródle strony
Jeden czerwony objaw wystarczy, żeby traktować stronę jako zhakowaną. Dwa lub więcej żółtych naraz to również mocna przesłanka.

12 objawów włamania i jak je sprawdzić

1. Obce strony w wynikach Google (site:)

Wpisz w Google site:twojadomena.pl. Zobaczysz podstrony, które Google zna z Twojej domeny. Przewiń kilka stron wyników. Szukaj tytułów po japońsku lub chińsku, ofert leków, podróbek markowych produktów, kasyn i pożyczek. Dla pewności dodaj słowa, które często pojawiają się w spamie, np. site:twojadomena.pl viagra albo site:twojadomena.pl casino.

Pewność: wysoka. Jeśli pod Twoją domeną są strony, których nie tworzyłeś, ktoś je wygenerował. Najczęstszy wariant opisuję w artykule Japońskie znaki w Google przy mojej stronie.

2. Search Console: problemy z bezpieczeństwem i ręczne działania

W Google Search Console otwórz w menu raport Problemy dotyczące bezpieczeństwa, a obok Ręczne działania. Pierwszy pokaże wykryte złośliwe oprogramowanie, phishing czy zhakowane treści, drugi kary nałożone ręcznie, np. za spam powstały po włamaniu. Komunikat, że nie wykryto problemów, jest dobrym znakiem, ale nie gwarancją.

Przy okazji wejdź w Ustawienia, w sekcję Użytkownicy i uprawnienia. Obca osoba zweryfikowana jako właściciel to klasyczny ślad włamania: atakujący dodaje się do Search Console, żeby zgłaszać do indeksu swoje spamerskie podstrony.

Pewność: wysoka. Nie masz Search Console? Załóż ją teraz i zweryfikuj przez DNS, dane o bezpieczeństwie pojawią się po weryfikacji.

3. Raport przejrzystości Google

Wejdź na narzędzie stanu witryny w Raporcie przejrzystości Google i wpisz adres strony. Narzędzie pokazuje, czy Bezpieczne przeglądanie Google uznaje stronę za niebezpieczną. To ta sama baza, która wyświetla czerwone ostrzeżenia w Chrome i innych przeglądarkach. Działa bez logowania, więc sprawdzisz w ten sposób także stronę, do której nie masz dostępu.

Pewność: wysoka. Co dalej przy ostrzeżeniu, opisuję w artykule Ostrzeżenie Google „szkodliwe programy”.

4. Przekierowania widoczne tylko dla części odwiedzających

Złośliwy kod często przekierowuje tylko telefony, tylko osoby wchodzące z Google i tylko raz na jakiś czas, a pomija zalogowanych administratorów. Sprawdzenie z Twojego komputera niczego nie pokaże. Zrób tak:

  1. Na telefonie wyłącz Wi-Fi (żeby wyjść z innego adresu IP niż firmowy) i otwórz okno prywatne lub incognito.
  2. Wyszukaj w Google nazwę swojej firmy i wejdź na stronę z wyników, a nie przez wpisanie adresu.
  3. Kliknij kilka podstron. Powtórz na drugiej przeglądarce.

Pewność: średnia. Przekierowanie na obcą stronę to niemal zawsze infekcja, ale czasem winna jest agresywna reklama z zewnętrznej sieci reklamowej osadzona na stronie. Więcej w artykule Strona przekierowuje na kasyno lub aptekę.

5. Nowi administratorzy

W WordPressie wejdź w Użytkownicy i przefiltruj listę po roli Administrator. Każde konto, którego nie rozpoznajesz, jest podejrzane, zwłaszcza o nazwach udających wsparcie techniczne albo z adresem e-mail w nieznanej domenie. Przez SSH:

wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

Kolumna user_registered pokaże datę założenia konta, co pomaga ustalić, kiedy nastąpiło włamanie. Część infekcji ukrywa konto na liście w panelu, więc gdy masz wątpliwości, sprawdź też tabelę wp_users w phpMyAdmin.

Pewność: wysoka, o ile nikt z Twojej firmy ani wykonawców nie zakładał konta.

6. Nowe pliki na serwerze

W katalogu wp-content/uploads powinny być tylko obrazki i dokumenty. Plik PHP w tym miejscu to prawie zawsze tylna furtka. Przez SSH, w katalogu strony:

# pliki PHP w uploads
find wp-content/uploads -type f -name "*.php"

# pliki PHP zmienione w ciągu ostatnich 7 dni
find . -type f -name "*.php" -mtime -7

# zgodność plików rdzenia z oryginałem
wp core verify-checksums

Bez SSH otwórz menedżer plików w panelu hostingu albo klienta FTP i posortuj pliki po dacie modyfikacji. Szukaj też plików o losowych nazwach w katalogu głównym, np. wp-xyzq.php, oraz katalogu wp-content/mu-plugins, którego wiele stron w ogóle nie ma.

Pewność: wysoka przy plikach PHP w uploads. Zmienione pliki same w sobie mogą wynikać z aktualizacji, więc porównaj daty z datą ostatnich aktualizacji.

7. Spam wysyłany z serwera

Sygnały: zwroty maili, których nikt nie wysyłał, klienci, którzy dostają od Ciebie dziwne wiadomości, informacja od hostingu o blokadzie wysyłki albo maile firmowe nagle trafiające do spamu. Sprawdź w panelu hostingu statystyki wysyłki poczty lub kolejkę maili, jeśli hosting je udostępnia. Sprawdź też, czy adres IP serwera nie trafił na publiczne czarne listy spamu.

Pewność: średnia. Spam z serwera to zwykle skrypt podrzucony na stronę albo przejęte konto pocztowe, ale bywa też skutkiem nadużywanego formularza kontaktowego bez zabezpieczenia przed botami.

8. Nieznane zadania cron

Atakujący lubią cron, bo pozwala odtworzyć usunięte pliki co kilka minut. Sprawdź dwa miejsca. Zadania serwera znajdziesz w panelu hostingu, w sekcji zadań cron, albo przez SSH:

crontab -l

Zadania WordPressa, który ma własny harmonogram, wyświetlisz poleceniem:

wp cron event list

Podejrzane są wpisy, które pobierają coś z internetu (curl, wget) i uruchamiają, wywołują pliki o dziwnych nazwach albo zawierają długie zakodowane ciągi. W WordPressie podejrzane są zdarzenia o nazwach, których nie da się przypisać do żadnej zainstalowanej wtyczki.

Pewność: wysoka, gdy zadanie pobiera i uruchamia kod z zewnątrz. Nieznane zdarzenie WordPressa może też być pozostałością po usuniętej wtyczce.

9. Zmienione tytuły i opisy w wynikach

Wyszukaj w Google nazwę firmy i porównaj tytuł oraz opis strony w wynikach z tym, co masz na stronie. Jeśli Google pokazuje tytuł o lekach lub obcy tekst, a na stronie wszystko wygląda normalnie, to klasyczny cloaking: strona pokazuje robotowi Google inną treść niż ludziom. Sprawdzisz to w Search Console narzędziem Sprawdzanie adresu URL, opcją testu wersji opublikowanej i podglądem pobranej strony.

Pewność: średnia. Google czasem sam przepisuje tytuły, ale robi to na podstawie treści Twojej strony, a nie wstawia oferty leków.

10. Nagły spadek ruchu

W Google Analytics i w Search Console, w raporcie Skuteczność, sprawdź, czy ruch z Google spadł gwałtownie w ciągu kilku dni. Włamanie potrafi go obniżyć przez ostrzeżenia w przeglądarce, ręczne działania albo zalanie indeksu spamem.

Pewność: niska. Ruch spada także po aktualizacjach algorytmu Google, po zmianach na stronie, przez błąd w kodzie pomiarowym albo sezonowo. Traktuj to jako powód do sprawdzenia objawów 1–3, a nie dowód.

11. Ostrzeżenia od hostingu

Przejrzyj skrzynkę, na którą przychodzą maile z hostingu, łącznie ze spamem. Hostingi skanują konta i informują o wykryciu złośliwych plików, nadmiernym obciążeniu, wysyłce spamu, a w skrajnych przypadkach blokują stronę. W panelu hostingu sprawdź też, czy nie ma tam komunikatu lub wyników skanera.

Pewność: zależy od treści. Informacja o wykryciu malware to pewny sygnał, a o przekroczeniu limitów zasobów może oznaczać zarówno włamanie, jak i zwykły wzrost ruchu albo atak botów na formularz logowania. Jeśli strona jest już zablokowana, zobacz co zrobić, gdy hosting zablokował stronę.

12. Dziwne linki i skrypty w kodzie źródłowym

Otwórz stronę w przeglądarce, naciśnij Ctrl+U (na Macu Cmd+Option+U), żeby zobaczyć kod źródłowy, i przeszukaj go (Ctrl+F) pod kątem:

  • linków do stron z lekami, kasynami lub pożyczkami, często ukrytych stylem display:none albo umieszczonych poza ekranem,
  • tagów <script> ładowanych z domen, których nie znasz,
  • długich ciągów losowych znaków, np. w eval(, atob( albo String.fromCharCode.

Pewność: średnia. Twoja strona legalnie ładuje skrypty Google, czatu, systemu cookies czy sklepu, więc obca domena wymaga sprawdzenia, do czego służy. Ukryty link do apteki legalny nie jest nigdy.

Raport Problemy dotyczące bezpieczeństwa w Google Search Console z wykrytym atakiem hakerów
Widok poglądowyRaport „Problemy dotyczące bezpieczeństwa” w Search Console, gdy Google wykrył włamanie. Kliknięcie problemu otwiera opis i przykładowe adresy. Widok odtworzony na przykładowych danych.
Typowy scenariusz

Właścicielka gabinetu fizjoterapii zauważa, że od kilku dni nie dostaje zapytań z formularza kontaktowego. Strona wygląda normalnie. Okazuje się, że hosting wyłączył wysyłkę poczty z konta, bo w ciągu doby wyszło z niego kilkadziesiąt tysięcy spamowych wiadomości, a informacja o blokadzie trafiła na skrzynkę, której nikt nie czyta. W katalogu uploads leży plik PHP sprzed dwóch miesięcy, a w crontabie zadanie, które co kwadrans pobiera go od nowa. Samo usunięcie skryptu wysyłającego pocztę nic by nie dało, dopóki działało zadanie cron i nieaktualna wtyczka, przez którą weszli atakujący.

Co zrobić, jeśli objawy się potwierdzą

Najpierw kopia, potem czyszczenie
  • Nie usuwaj podejrzanych plików przed zrobieniem kopii. Kopia stanu „zainfekowanego” pomaga ustalić, jak weszli atakujący, i ratuje sytuację, gdy usuniesz coś potrzebnego.
  • Zmień hasła z czystego komputera: do hostingu, FTP, bazy i administratorów strony.
  • Nie przywracaj na ślepo starej kopii. Infekcja zwykle zaczyna się wcześniej niż objawy.

Pełną procedurę czyszczenia krok po kroku, z poleceniami do skopiowania, opisuję w artykule Wirus na stronie WordPress – jak go usunąć krok po kroku. Po wyczyszczeniu zgłoś stronę w Search Console przyciskiem „Poproś o sprawdzenie” w raporcie Problemy dotyczące bezpieczeństwa. Według Google rozpatrzenie trwa około doby przy phishingu, kilka dni przy złośliwym oprogramowaniu i nawet kilka tygodni przy spamie po włamaniu.

Wszystko czyste? Zadbaj, żeby tak zostało

Włącz automatyczne aktualizacje wtyczek, logowanie dwuskładnikowe dla administratorów i codzienną kopię poza serwerem. Raz w miesiącu powtórz test 5-minutowy. Jeśli nie masz dostępu do części kont potrzebnych do sprawdzenia, zacznij od artykułu Jak odzyskać dostęp do strony internetowej.

Kiedy nie robić tego samemu

Sprawdzenie objawów zrobisz sam. Czyszczenie to inna sprawa. Oddaj je specjaliście, gdy:

  • masz pewny sygnał (czerwony na siatce), a strona to sklep z zamówieniami i danymi klientów,
  • Google pokazuje czerwone ostrzeżenie albo hosting zablokował konto i każda godzina kosztuje,
  • nie masz dostępu SSH ani doświadczenia z phpMyAdmin, a infekcja jest w plikach i bazie,
  • objawy wróciły po wcześniejszym czyszczeniu.

Orientacyjne koszty opisuję w artykule Ile kosztuje usunięcie wirusa ze strony.

Podejrzewasz włamanie? Sprawdzę to

Zweryfikuję objawy, a jeśli strona jest zainfekowana, wyczyszczę ją, zamknę lukę i zgłoszę do weryfikacji w Google. Odwirusowanie kosztuje 499 zł netto, z reakcją 24/7 i 30 dniami gwarancji czystości.

Najczęstsze pytania

Czy strona może być zhakowana, jeśli wygląda normalnie?

Tak, i to częsty przypadek. Złośliwy kod potrafi pokazywać spam tylko robotom Google, przekierowywać tylko telefony albo tylko osoby wchodzące z wyszukiwarki, a zalogowanemu administratorowi nie pokazywać niczego. Dlatego sprawdzaj stronę z telefonu, w oknie incognito i przez wyniki Google, a nie tylko z własnego komputera.

Czy darmowy skaner online wystarczy, żeby sprawdzić stronę?

Nie. Skaner online widzi tylko to, co strona pokazuje odwiedzającym w chwili skanowania. Nie zobaczy tylnej furtki w plikach, obcego administratora ani zadania cron. Czysty wynik skanera nie wyklucza włamania, a wynik z ostrzeżeniem jest mocnym sygnałem do dalszego sprawdzania.

Jak sprawdzić, czy Google oznaczył moją stronę jako niebezpieczną?

Sprawdź adres w narzędziu stanu witryny w Raporcie przejrzystości Google, a jeśli masz Search Console, otwórz raport Problemy dotyczące bezpieczeństwa oraz Ręczne działania. Jeśli Google wykrył problem, zobaczysz tam jego rodzaj i przykładowe adresy.

Co zrobić, jeśli potwierdzę włamanie?

Nie usuwaj niczego na ślepo. Zrób pełną kopię plików i bazy w obecnym stanie, zmień hasła z czystego komputera, a potem wyczyść stronę według pełnej procedury: pliki, baza, administratorzy, aktualizacje i zgłoszenie do Google. Jeśli to sklep albo hosting zablokował konto, rozważ zlecenie czyszczenia.

Grzegorz Wojterzak naprawia strony internetowe po awariach i włamaniach: WordPress, WooCommerce, PHP i Node.js. Od ponad dekady pracuje przy stronach i sklepach internetowych polskich firm.