Ktoś włamał się na Twoją stronę WordPress? Nie panikuj – oto co zrobić

17 stycznia 2026
Włamanie na WordPress

Włamanie na WordPress? 6 kroków w pierwszych 30 minutach [2026]

Dostajesz SMS od swojego klienta: „Hej, coś dziwnego na Twojej stronie – wyskakują reklamy kasyn online”. Albo może Chrome wyświetla ostrzeżenie o zainfekowanej witrynie. Może po prostu zauważyłeś dziwne wpisy na blogu, które sam nie pisałeś.

Ten moment to czysta panika. Myślisz o utraconych danych, utracie SEO, zaufaniu klientów. Jeśli działasz na WordPress – niezależnie czy to sklep, blog czy strona korporacyjna – nie rozpatruj włamania jako jeśli, tylko kiedy.

Dobra wiadomość? Masz możliwość odwrócić sytuację. Nie w godzinach ani dniach, ale w ciągu 30 minut, jeśli będziesz działać metodycznie.

W tym artykule nie będę Ci opowiadać o teorii bezpieczeństwa. Dostaniesz konkretny plan działania – taki, który stosowałem wielokrotnie przy odzyskiwaniu zhakowanych stron. Jest to checklista, którą możesz otworzyć w drugiej karcie przeglądarki i wykonywać punkt po punkcie.

Lecimy!

 

Jak rozpoznać włamanie na WordPress?

Zanim przejdziesz do akcji, musisz być pewny, że rzeczywiście doszło do włamania. Czasami symptomy mogą być mylące – może to być zwyczajny błąd konfiguracji, a czasami coś znacznie gorszego.

 

5 oznak że strona została zhakowana

1. Przekierowania do podejrzanych witryn

Odwiedzasz swoją stronę i automatycznie zostajesz przekierowany na stronę z grami hazardowymi, fakeowymi produktami lub złośliwym oprogramowaniem. Dzieje się to na losowych podstronach lub zawsze na tej samej. To klasyczne działanie SEO spam malware – hacker chce zarobić na Twoim ruchu.

2. Czarne listy w Google Search Console

Wchodzisz do Google Search Console i widzisz notyfikację: „Witryna zawiera złośliwe oprogramowanie” lub „Nieoczekiwana zawartość”. Google indeksuje Twoją stronę i widzi zainfekowane pliki. Twoje pozycje w wyszukiwarce zaczynają gwałtownie spadać.

3. Nieznane konta administratora

Wchodzisz do panelu WordPress, do sekcji Użytkownicy i widzisz nowe konta administratorów, których sam nie stworzyłeś. Mogą mieć nazwy takie jak „admin2”, „wordpress_user”, „test123” albo coś bardziej ukrytego. To backdoor – tylne drzwi, przez które hacker może wrócić.

4. Dziwne wpisy, strony lub widżety

Na blogu pojawiają się artykuły napisane w obcych językach (często chińszczyzna, arabski, rosyjski) zawierające linki do kasyn, aptek lub innych sprzedawców. Na stronie głównej pojawił się kod śledzący albo reklamy, które wcale nie ustawiałeś. Widżety w stopce zawierają linki do obcych witryn.

5. Powolna wydajność i dziwne procesy

Strona działa niezwykle wolno, a CPU serwera jest wykorzystane na 90% + bez przyczyny. W logu błędów pojawiają się komunikaty o nieznanych procesach PHP. Serwer może być wykorzystywany do wysyłania spamu, kopania kryptowalut lub atakowania innych serwerów.

 

Czarny/biały ekran czy błąd 500?

Jeśli strona wyświetla całkowicie czarny lub biały ekran, lub stale wyskakuje Error 500 – Internal Server Error, jest to często konsekwencja włamania – ale niekoniecznie bieżącego. Może to być:

– Hacker, który umyślnie zablokował stronę w ramach próby wymuszonego okupu
– Nowy malware, który uszkodził konfigurację PHP
– Uszkodzony przez infekcję plik htaccess lub functions.php
– Przepełniona baza danych przez spam

W każdym przypadku następny krok jest taki sam: wejść na serwer i diagnozować.

 

Pierwsze 30 minut – 6 kroków ratunkowych

Jeśli jesteś tu, znaczy że coś poszło nie tak. Nie stracisz czasu na rozmyślania – działaj teraz. Każda minuta zwłoki to więcej zainfekowanych plików, więcej złych danych w bazie, więcej szkód dla SEO.

Timer włączony. Zaczynamy.

 

1. Zmień hasła WSZĘDZIE

To pierwszy krok i najważniejszy. Hacker ma dostęp do Twojej strony WordPress, prawdopodobnie ma też dostęp do hostingu (SSH/FTP) i być może do panelu kontrolnego hosta (cPanel).

Co zmienić natychmiast:

Hasło do WordPress – zaloguj się z bezpiecznego urządzenia/sieci (nie z telefonu pracownika, który był niedawno w kawiarni wifi) i zmień hasło administratora. Jeśli nie możesz się zalogować, będziesz musiał to zrobić przez phpmyadmin lub bezpośrednio zmienić hash w bazie danych (instrukcja dalej).

Hasło do hostingu (cPanel/Direct Admin) – zaloguj się na panel hostingu, zmień hasło do konta. Hacker może teraz usuwać kopie zapasowe lub dodawać nowe konta.

Hasło FTP/SFTP – zmień hasło dostępu do serwera. Lepiej: wyłącz FTP (jest niebezpieczny) i używaj wyłącznie SFTP.

Hasło do bazy danych MySQL – jeśli masz dostęp do phpmyadmin, zmień hasło użytkownika bazy. Jeśli nie możesz – skontaktuj się z supportem hostingu.

Hasła do poczty elektronicznej – szczególnie adres, na którym zarejestrowany jest główny administrator strony.

Trick: Jeśli nie możesz się zalogować do WordPress, wejdź na serwer przez FTP/SFTP, przejdź do folderu /wp-content/plugins/ i tymczasowo zmień nazwę folderu /plugins/ na /plugins-off/. To wyłączy wszystkie pluginy. Teraz spróbuj zalogować się do WordPress. Jeśli to zadziała – jeden z pluginów był źródłem problemu. Jeśli nie – problem jest w core lub motywie.

 

2. Zrób backup obecnego stanu (nawet zainfekowanego)

Brzmi dziwnie, ale to kluczowe. Przed czyszczeniem – zrób kopię bieżącego stanu strony. Dlaczego? Ponieważ dobrze jest mieć:

– backup zainfekowanego stanu, aby później przeanalizować malware i znaleźć źródło włamania,
– dane, które mogą być potrzebne do rekonstrukcji,
– kopię, jeśli coś pójdzie nie tak w czyszczeniu.

Jak zrobić backup:

Wejdź na serwer przez SFTP (np. FileZilla) i ściągnij cały katalog /public_html/ lub /www/ na swój komputer. To może trwać 5-15 minut w zależności od rozmiaru.

Alternatywnie, jeśli masz dostęp do WP-CLI:

wp db export backup-zainfekowany.sql

Zapisz ten backup w bezpiecznym miejscu.

 

3. Sprawdź logi serwera

Logi to mapa incydentu. Tam można znaleźć, kiedy i z jakiego IP nastąpił atak.

Gdzie szukać:

/var/log/access.log – logi dostępu HTTP
/var/log/error.log – logi błędów
/var/log/auth.log – próby zalogowania SSH (jeśli dostępne)

Dostęp do powyższych plików jest możliwy wyłącznie na serwerach VPS lub dedykowanych. W przypadku hostingu współdzielonego, tylko administrator ma dostęp do tych logów.

Szukaj anomalii:

Dziwne adresy IP – szczególnie z krajów, z którymi nie masz związku biznesowego.
POST requests do /wp-admin/admin-ajax.php bez uzasadnienia.
Próby dostępu do xmlrpc.php – to punkt ataku do brute force haseł.
Edycja plików w /wp-content/uploads/ lub /wp-includes/.

Wskazówka: Jeśli host używa Apache, logi mogą być w /var/log/apache2/. Jeśli Nginx – w /var/log/nginx/. Zapytaj support hostingu, gdzie są logi i czy masz do nich dostęp.

 

4. Odizoluj stronę (maintenance mode)

To zabezpieczenie, aby tymczasowo wyłączyć dostęp dla odwiedzających (i dla hakera, jeśli próbuje działać dalej).

Metoda 1 – Wbudowany WP Maintenance Mode:

Wpisz do pliku wp-config.php:

define( 'WP_MAINTENANCE_MODE', true );

 

Metoda 2 – Ręcznie przez .htaccess:

Wejdź na SFTP do katalog root, stwórz/edytuj plik .htaccess i dodaj:

<FilesMatch "^index\.php$">
    Allow from all
</FilesMatch>
<FilesMatch "^(?!index\.php)">
    Deny from all
</FilesMatch>

To zablokuje dostęp do wszystkiego oprócz index.php, który wyświetli komunikat o konserwacji.

Zablokowanie dostępu do panelu zarządzania:

<Files wp-admin.php>
order allow,deny
deny from all
</Files>

To da Ci spokój do pracy bez obawy, że hacker będzie dalej działać.

 

5. Usuń nieznane konta administratora

Hacker często zostawia backdoor – nowe konto, przez które może wrócić.

Wejdź do panelu WordPress do sekcji Użytkownicy i sprawdź wszystkie konta.

Szukaj:

– kont z podejrzanymi nazwami: admin2, test, wordpress, user, backup, support,
– kont z rolą Administrator, których nie tworzyłeś,
– kont z datą rejestracji po dacie włamana

Usuń każde podejrzane konto (zaznacz „Usuń wszystkie posty przypisane do:” aby nie stracić treści).

Bonus – Zmiana administratora przez bazę danych:

Jeśli nie możesz się zalogować, wejdź do phpmyadmin i w tabeli wp_users zmień hasło:

UPDATE wp_users SET user_pass = MD5('nowe-haslo-tutaj') WHERE ID = 1;

Gdzie ID = 1 to zazwyczaj pierwszy administrator.

 

6. Sprawdź pliki core WordPress

To ostateczna diagnostyka – czy sam rdzeń WordPress został zainfekowany.

Pobierz najnowszą czystą wersję WordPress z wordpress.org (tą samą wersję, którą masz zainstalowaną) i porównaj pliki.

Ściągnij folder /wp-admin/, /wp-includes/ i plik /index.php, wp-config.php (ale uważaj z tym ostatnim – ma Twoje hasła do DB).

Porównaj z czystą wersją linia po linii. Szukaj:

– Dodatkowego kodu na końcu pliku
– Zmian w strukturze kodu
– Nowych funkcji, których tam nie ma

Jeśli core jest zainfekowany:

Musisz stąd wyciągnąć wniosek – włamanie było głębokie. To mógł nie być zwyczajny plugin ze słabą bezpieczną obsługą.

W takim przypadku nie możesz być pewny, że malware jest usunięty poprzez samo czyszczenie plików. Powinieneś rozważyć:

– pełne przywrócenie backupu z okresu sprzed włamana,
– jeśli nie masz backupu – zobacz sekcję poniżej,
– kontakt z profesjonalistą.

 

Co robić gdy nie masz backupu?

Gorzka prawda: brak backupu oznacza, że jesteś teraz w znacznie bardziej złożonej sytuacji. Ale wciąż są opcje.

 

Odzyskiwanie z hostingu

Większość hostów utrzymuje automatyczne backupy – bardzo często codzienne.

Jak sprawdzić:

Zaloguj się do panelu hostingu (cPanel/Direct Admin) i szukaj sekcji:

– Kopie zapasowe,
– Backups
– Full Backups
– Restore
– Time Machine

Niektóre hosty pozwalają przywrócić stan z ostatnich 14-30 dni. Jeśli włamanie miało miejsce dzisiaj, szukaj backupu sprzed 2-3 dni (zakładając, że wtedy strona była czysta).

Ostrożnie: Jeśli włamanie trwało kilka dni niezauważone, Twoje backupy mogą już zawierać malware. Sprawdź logi serwera, aby wiedzieć, kiedy dokładnie doszło do włamana.

 

Rekonstrukcja z Google Cache

Google Cache to czasami ostatnia tażka ratunkowa.

Wejdź na cache.google.com, wpisz swoją domenę i przeglądaj archiwa. Google trzyma snapshoty witryn z różnych dat. Możesz zobaczyć, jak wyglądała Twoja strona, zanim została zainfekowana.

Jak użyć:

1. Dla każdego artykułu/strony, której zawartość chcesz odzyskać, otwórz cache
2. Skopiuj tekst z cache’a
3. Wstaw ręcznie z powrotem do WordPress

To pracochłonne, ale jeśli tracisz lata treści – warto.

Alternatywa – Wayback Machine:

web.archive.org czasami ma starsze snapshoty niż Google Cache. Spróbuj tam.

Jak zapobiec kolejnym włamaniom?

 

30 minut spędzonych na czyszczeniu to właśnie bolesny koszt braku profilaktyki. Teraz, gdy strona jest znowu czysta, musisz zmienić podejście.

Włamanie się powtórzy, chyba że systematycznie zmienisz sposób, w jaki zabezpieczasz stronę.

 

Zabepieczenie na poziomie administracji

Aktualizacje – nie przesuwaj ich na potem:
Każda aktualizacja WordPress, wtyczki czy theme’u zawiera poprawki bezpieczeństwa. Hacker szuka linków w starych wersjach. Jeśli nie aktualizujesz – jesteś łatwym celem.

Wyłącz editor kodu w panelu:
W wp-config.php dodaj:

define( 'DISALLOW_FILE_EDIT', true );

To uniemożliwi hacker’owi (i Tobie, ale to zabezpieczenie) edytowanie plików PHP bezpośrednio z panelu WordPress.

Zmień prefiks bazy danych:
Domyślny prefiks to wp_. Hacker zna to na pamięć. Zmiana prefiksu nie zabezpieczy, ale utrudni SQL injection. To wymaga migracji bazy – skomplikowane, ale skuteczne.

 

Monitoring i backupy

Najlepszym rozwiązaniem jest opieka WordPress z monitoringiem 24h na dobę przez 7 dni w tygodniu i automatycznymi kopiami zapasowymi. Takie rozwiązanie zapewnia:

Codzienne backupy – zawsze masz czystą kopię sprzed włamana
Monitoring 24/7 – alerty, gdy pojawi się nowy kod malware
Skanowanie plików – system automatycznie wykrywa podejrzane zmiany

Jeśli nie zainwestujesz w monitoring, za rok będziesz znowu pisać ten artykuł.

 

Najczęstsze błędy po włamaniu

Wielu właścicieli stron robi poważne błędy podczas odzyskiwania. Oto czego unikać:

 

Przywrócenie starego backupu bez naprawy luki

Ty przywracasz backup sprzed tygodnia. Ale luka, przez którą nastąpił atak, wciąż istnieje.

Rezultat? Za 3 dni włamanie się powtarza.

Zamiast tego:

Przywróć backup, ale pamiętaj o identyfikacji luki. Czy to była podatna wtyczka? Słabe hasło? Nieaktualizowana wersja WordPress? Dopóki nie naprawisz przyczyny – jesteś w nieskończonej pętli.

 

Ignorowanie aktualizacji

Po włamaniu wydaje Ci się, że strona działa, wszystko wróciło do normy. Tracisz motywację do zmian. Ale aktualizacje nie czekają.

Wtyczka, którą ignorowałeś przez 3 miesiące, zawiera podatność. Hacker atakuje znowu.

Jeśli nie chcesz więcej takich sytuacji, rozważ profesjonalną opiekę WordPress z monitoringiem 24/7 i codziennymi kopiami zapasowymi. Sprawdź plany opieki – inwestycja wynosi ułamek czasu, który właśnie spędziłeś na ratowaniu strony.

Pamiętaj: włamanie to kwestia kiedy nastąpi, nie czy nastąpi. Lepiej być przygotowanym.

Krzysiek Ekset

Krzysiek Ekset

Specjalista WordPress

Tworzę strony i sklepy internetowe, a także dedykowane oprogramowanie na zamówienie.
Naprawiam je w przypadku awarii. Opieka WordPress, to moja specjalność. Odpocznij, a ja zajmę się Twoją stroną!

Krzysiek Ekset LinkedIn Podcast Mocna strona Krzysiek Ekset Youtube