
🚫 Strona WordPress zhakowana i wyłączona: plan odzyskiwania krok po kroku
Hoster zablokował stronę za rozsyłanie spamu, a panel administracyjny nie otwiera się. Panika znana każdemu, kto administruje WordPressem nie pierwszy rok. Dalej, plan krok po kroku: od negocjacji z pomocą techniczną do ręcznego czyszczenia na serwerze lokalnym.
Sytuację komplikuje fakt, że strona jest fizycznie odłączona od sieci. Nie może Pan wejść do panelu sterowania WordPress, uruchomić zwykłego skanera takiego jak Wordfence i kliknąć „wyczyść". Dlatego kolejność działań jest tu odwrotna: najpierw przywracamy dostęp, potem rozprawiamy się z infekcją.
💡 Szybki przegląd:
- Proszę skontaktować się z hosterem: poprosić o otwarcie strony za hasłem HTTP i wyłączenie wysyłania poczty, to da Panu dostęp do diagnostyki bez ryzyka ponownego rozsyłania spamu.
- Jeśli hoster odmawia ponownego włączenia strony, proszę uruchomić kopię lokalnie przez XAMPP lub podobny stos, przeskanować wtyczkami bezpieczeństwa i zastąpić zainfekowane pliki czystymi wersjami.
- Po wyczyszczeniu proszę zmienić WSZYSTKIE hasła: FTP, bazy danych, panelu hostingu, kont administratorów WordPress. Proszę zaktualizować rdzeń, motywy i wtyczki do aktualnych wersji.
- Proszę skonfigurować podstawową ochronę: firewall, ograniczenie prób logowania, uwierzytelnianie dwuskładnikowe. Proszę sprawdzić własny komputer pod kątem wirusów, to częste źródło wycieku haseł.
Dlaczego hoster wyłącza zhakowane strony

Brzmi brutalnie: jest Pan klientem, płaci za hosting, a stronę po prostu wyłączono. Ale logika hostera jest prosta i, jeśli się zastanowić, rozsądna.
Zhakowana strona WordPress robi dwie niebezpieczne rzeczy. Po pierwsze, rozsyła spam przez serwer pocztowy hostingu. Tysiące maili idą na przypadkowe adresy, a pocztowe IP trafia na czarne listy. Po tym WSZYSCY klienci tego serwera przestają dostarczać maile, a hoster otrzymuje lawinę zgłoszeń od niewinnych użytkowników.
Po drugie, strona zamienia się w dystrybutora szkodliwego kodu. Odwiedzającym podsuwane są trojany, formularze phishingowe lub ukryte kopanie kryptowalut. Google zauważa to w ciągu kilku godzin i wywiesza ostrzeżenie „Ta strona może stanowić zagrożenie dla Twojego bezpieczeństwa". Po czymś takim ruch spada do zera, a wydobywanie strony z czarnych list wyszukiwarki to osobna epopeja.
Hoster wyłącza zainfekowaną stronę nie po to, by Pana ukarać. Chroni swoją infrastrukturę i pozostałych klientów. Można się z nim dogadać i to jest pierwszy krok.
Krok 1: negocjacje z hosterem

Natychmiast po otrzymaniu powiadomienia o blokadzie proszę pisać do pomocy technicznej i proponować kompromis. Proszę nie żądać „włączenia z powrotem i już". Proszę zaproponować konkretny plan:
- Włączenie strony za hasłem HTTP. To standardowa funkcja Apache/Nginx, gdy przy wejściu na stronę przeglądarka pyta o login i hasło. Odwiedzający i wyszukiwarki strony nie widzą, a Pan widzi i może pracować z panelem administracyjnym.
- Wyłączenie funkcji pocztowej hostingu. Jeśli spam szedł przez PHP mail(), hoster może tymczasowo zablokować wysyłanie dla Pana konta. Ryzyko ponownego rozsyłania znika, hoster ma spokojniejszą głowę.
W większości przypadków pomoc techniczna idzie na rękę. Hosterowi bardziej opłaca się, żeby Pan wyczyścił stronę i pozostał klientem, niż tracić klienta i mieć martwe konto na serwerze.
Otrzymał Pan dostęp pod hasłem, proszę przejść do czyszczenia (krok 3). Nie udało się Panu dogadać, proszę spojrzeć na krok 2.
Krok 2: odzyskiwanie bez dostępu do strony

Hoster odmawia włączenia strony nawet pod hasłem. Tak bywa przy tanich taryfach współdzielonych lub jeśli szkody ze spamu są już zbyt duże. Ma Pan trzy ścieżki.
2.1. Kopia lokalna przez XAMPP
Proszę pobrać archiwum strony przez menedżera plików hostingu (lub poprosić pomoc techniczną o backup) i wyeksportować bazę danych przez phpMyAdmin. Proszę uruchomić kopię na lokalnym komputerze przez XAMPP, LocalWP lub Laragon.
Dalej standardowa procedura: proszę zainstalować Wordfence, to najpopularniejszy darmowy skaner z sygnaturami malware i firewallem. Proszę uruchomić pełne skanowanie, usunąć znalezione zainfekowane pliki lub zastąpić je oryginałami ze świeżej dystrybucji WordPress. Proszę przepuścić Sucuri Scanner do sprawdzenia integralności rdzenia. Oczyszczoną stronę proszę wgrać z powrotem na hosting.
Sposób jest skuteczny, ale wymaga podstawowego zrozumienia, jak WordPress jest zbudowany od środka.
2.2. Lista zainfekowanych plików od hostera
Proszę poprosić pomoc techniczną o przesłanie listy plików, które są wykrywane jako szkodliwe. Często hosterzy używają ClamAV lub analogicznego rozwiązania po stronie serwera i widzą konkretne pliki. Otrzymawszy listę, proszę pobrać te pliki przez FTP, otworzyć w edytorze i usunąć podejrzane wstawki, zazwyczaj jest to zaciemniony kod PHP na początku lub na końcu pliku.
W przypadku plików rdzenia WordPress i popularnych wtyczek prościej jest nie czyścić ręcznie, tylko nadpisać oryginalnymi wersjami z oficjalnego repozytorium. Po wymianie proszę poprosić hostera o ponowne sprawdzenie strony i, jeśli nie ma zagrożeń, otwarcie dostępu.
2.3. Specjalista ds. bezpieczeństwa
Jeśli skala infekcji jest duża, a nie ma Pan czasu na rozwiązywanie problemu, proszę wynająć specjalistę z tej dziedziny. Koszt jednorazowego czyszczenia zależy od stopnia skomplikowania: podstawowe skanowanie i usunięcie malware kosztuje w przedziale od półtora do pięciuset dolarów. Serwisy takie jak Sucuri oferują pakiet „Cleanup & Protect" z gwarancją i rocznym monitoringiem.
Rada: przed zwróceniem się do specjalisty i tak proszę poprosić hostera o backup plików i bazy. To Pana dane, hoster ma obowiązek je wydać.
Krok 3: czyszczenie strony po uzyskaniu dostępu
Dostęp do panelu administracyjnego jest. Teraz metodycznie przechodzimy przez listę kontrolną.
Pełny backup. Nawet zainfekowany. Proszę skopiować wszystkie pliki przez FTP i zrobić zrzut bazy danych. W procesie czyszczenia można przypadkowo zepsuć to, co jeszcze działało, backup chroni przed fatalnymi błędami.
Skanowanie. Proszę zainstalować Wordfence, darmowa wersja znajduje malware po sygnaturach, sprawdza pliki motywu i wtyczek pod kątem zgodności z oryginałem z repozytorium. Równolegle proszę uruchomić Sucuri Scanner, specjalizuje się on w sprawdzaniu integralności rdzenia. Dwa skanery znajdują więcej niż jeden.
Zmiana haseł. Wszystkich i od razu: konta administratorów WordPress, dostęp FTP, użytkownik bazy danych MySQL, hasło do panelu hostingu. Proszę generować długie, losowe hasła. Proszę włączyć uwierzytelnianie dwuskładnikowe dla panelu administracyjnego, Wordfence potrafi to od ręki.
Aktualizacja. Proszę wgrać ostatnią wersję WordPress, zaktualizować wszystkie wtyczki i motywy. Proszę usunąć nieużywane wtyczki, każda z nich to potencjalny punkt wejścia.
Krok 4: ochrona przed ponownym włamaniem
Wyczyszczone, teraz zabezpieczamy, żeby nie powtórzyło się za tydzień.
- Firewall na poziomie strony. Wordfence zawiera Web Application Firewall, który blokuje znane wektory ataków, zanim dotrą do WordPressa. Darmowa wersja jest wystarczająca dla nietypowych projektów.
- Ograniczenie prób logowania. Brute force to najpowszechniejszy sposób włamania. Wtyczka taka jak Limit Login Attempts Reloaded blokuje IP po 3-5 nieudanych próbach.
- Regularne aktualizacje. Automatyczne aktualizacje pomniejszych wersji WordPress są domyślnie włączone, a dla wtyczek i motywów proszę skonfigurować powiadomienia lub używać hostingu zarządzanego z autoaktualizacjami.
- Sprawdzenie komputera. Jeśli hasło administratora wyciekło przez trojana na Pana komputerze, zmiana hasła na serwerze nie pomoże. Proszę przepuścić antywirusa (Malwarebytes, darmowa wersja radzi sobie z większością zagrożeń) i sprawdzić rozszerzenia przeglądarki.
Osobna kwestia: backupy. Proszę skonfigurować automatyczne kopie zapasowe, co najmniej raz na dobę. Wtyczka UpdraftPlus za darmo wysyła backupy na Google Drive, Dropbox lub osobny FTP. Przy następnym incydencie odzyska Pan stronę w 10 minut, a nie przez cały wieczór.
⁉️🤔 Często zadawane pytania
Czy hoster ma obowiązek oddać backup zhakowanej strony?
Pliki i baza danych to Pana treść, hoster nie ma prawa ich zatrzymywać. Pomoc techniczna ma obowiązek udostępnić archiwum nawet z zablokowanego konta. W praktyce zapytanie przez system zgłoszeń rozwiązuje sprawę w ciągu doby.
Czy można po prostu przeinstalować WordPressa i wgrać backup?
Nie, ponieważ infekcja często żyje w bazie danych lub w folderze uploads, a nie tylko w plikach rdzenia. Prosta reinstalacja i podstawienie starej bazy z dużym prawdopodobieństwem przywróci infekcję z powrotem. Potrzebne jest właśnie skanowanie i czyszczenie działającej strony.
Co robić, jeśli Google oznaczyło stronę jako niebezpieczną?
Po pełnym wyczyszczeniu proszę wejść do Google Search Console, znaleźć sekcję „Bezpieczeństwo i działania ręczne" i poprosić o weryfikację. Google ponownie przeskanuje stronę w ciągu 24-72 godzin i zdejmie ostrzeżenie. Analogiczna procedura jest w Bing Webmaster Tools.
Jakie wtyczki bezpieczeństwa instalować obowiązkowo?
Minimalny zestaw na każdą stronę: Wordfence (firewall + skaner) i Limit Login Attempts Reloaded (ochrona przed brute force). To wystarczy do ochrony przed masowymi automatycznymi atakami. Jeśli strona jest komercyjna, proszę dodać uwierzytelnianie dwuskładnikowe i monitoring integralności plików.
Czy pomoże przejście na zarządzany hosting?
Tak, zarządzane hostingi WordPress (Kinsta, WP Engine, SiteGround) biorą na siebie znaczną część bezpieczeństwa: serwerowy firewall, autoaktualizacje, izolowane kontenery. Nie zwalnia to z podstawowych działań na poziomie strony, ale zmniejsza prawdopodobieństwo włamania i upraszcza odzyskiwanie.
Strona zhakowana i wyłączona: końcowa lista kontrolna
Kolejność działań zamyka się w czterech punktach. Proszę dogadać się z hosterem w sprawie dostępu pod hasłem. Jeśli nie, proszę uruchomić kopię lokalnie i tam skanować. Po wyczyszczeniu proszę zmienić hasła i zaktualizować wszystko do aktualnych wersji. Proszę skonfigurować firewall, ochronę przed brute force i codzienne backupy.
Jeśli strona jest komercyjna, a przestój kosztowny, proszę rozważyć przejście na zarządzany hosting WordPress lub wynająć specjalistę do skonfigurowania ochrony warstwowej.
A jak Pan odzyskiwał stronę po blokadzie przez hostera? Proszę podzielić się doświadczeniem w komentarzach.


