Przejdź do treści

Jak usunąć wirusa z WordPress w 2026 – kompletny przewodnik krok po kroku

Opublikowano: 26 maja 2026

WordPress trzyma ponad 43% wszystkich stron w internecie i właśnie dlatego jest najczęstszym celem ataków masowych[1]. Kiedy widzisz spam farmaceutyczny w wynikach Google, japońskie znaki w title albo białe okno zamiast strony – jesteś w grupie kilku tysięcy polskich firm, które tego dnia dostały po głowie. Prowadzę agencję KC Mobile od 2005 roku i przez ten czas wyczyściłem ponad 200 zhakowanych instalacji – od jednoosobowych blogów po sklepy WooCommerce z 50 000 produktów. Ten poradnik to dokładnie ten sam protokół, który stosuję u płacących klientów w ramach [usuwania wirusów WP](/cennik/usuwanie-wirusow-wordpress/) za 890 zł ze stałą gwarancją 48 godzin. Zostaniesz z konkretnymi komendami WP-CLI, listą wtyczek do skanowania i decyzją – kiedy ratować samodzielnie, a kiedy [zlecić agencji](/kontakt/). Po lekturze warto też przejrzeć [bezpieczeństwo WordPress – hardening](/baza-wiedzy/wordpress/bezpieczenstwo-wordpress-hardening/) jako rozszerzenie.

Krótka odpowiedź

Najważniejsze pierwsze trzy ruchy: po pierwsze – nie panikuj i nie kasuj plików, bo stracisz dowody i punkt przywrócenia. Po drugie – zrób pełny backup plików plus bazy danych w stanie -jak jest- (dirty backup), nawet jeśli strona jest zainfekowana – to twoja polisa na wypadek, gdyby czyszczenie poszło źle. Po trzecie – odetnij stronę od świata: włącz tryb maintenance, zablokuj logowanie do wp-admin po IP albo przez .htaccess, zmień hasła do FTP/SSH/bazy i konta administratora WordPress[3].

Dopiero potem skanujesz (Wordfence, Sucuri SiteCheck, MalCare), identyfikujesz typ infekcji, czyścisz pliki PHP i bazę, re-instalujesz core plus wtyczki ze świeżych źródeł, hartujesz zabezpieczenia i monitorujesz przez 30 dni. Jeżeli nie umiesz pracować z WP-CLI, phpMyAdmin i grep – zleć usunięcie wirusa (890 zł, 48 h, gwarancja czystej strony).

Usługi KC Mobile

Sprawdź naszą ofertę

Potrzebujesz pomocy specjalisty? Skorzystaj z naszych usług i rozwiń swój biznes online.

Jak rozpoznać że WordPress został zhakowany (10 sygnałów alarmowych)

Większość zhakowanych stron pracuje miesiącami zanim właściciel się zorientuje – atakujący nie chcą hałasować, chcą ciężko pracować na twojej domenie[1]. Dlatego zacznij od checklisty, którą stosuję w pierwszych 15 minutach każdego zlecenia w ramach pomocy technicznej WooCommerce i opieki WordPress.

10 sygnałów, że masz wirusa w WordPress:

1. Spam farmaceutyczny w SERP – wpisz `site:twojadomena.pl viagra` lub `site:twojadomena.pl casino` w Google. Pojawiają się wyniki, których nie pisałeś – to klasyczny pharma hack.
2. Japońskie znaki w title i meta – odpalasz Search Console, a w sekcji Wydajność widzisz kanji w tytułach polskich podstron.
3. Niespodziewane przekierowania – wchodzisz w siebie z innego urządzenia/przeglądarki i strona rzuca cię na phishing, kasyno albo fake-update.
4. Ostrzeżenie Google Safe Browsing – Chrome pokazuje czerwony ekran -Strona wprowadzająca w błąd-. To ostatni dzwonek przed wyrzuceniem z indeksu[4].
5. Skoki ruchu z dziwnych krajów – w Google Analytics nagle Indonezja, Rosja i Wietnam stanowią 60% sesji.
6. Nowi użytkownicy w wp-admin – w Użytkownicy → Wszyscy widzisz konta typu `admin01`, `wp_user_x` z rolą administrator.
7. Nieznane pliki PHP w katalogach – `wp-content/uploads/2024/03/` zawiera plik `wp-cache.php` albo `radio.php` (uploads NIGDY nie powinno mieć PHP).
8. Zmodyfikowane wp-config.php, .htaccess, index.php – data modyfikacji jest świeższa niż twój ostatni deploy.
9. Wysokie zużycie CPU/RAM na hostingu – CyberFolks albo LH wysyła ci maila o przekroczeniu limitu zasobów, a ty nie zmieniałeś niczego. Dobry hosting WordPress ma alerty z wyprzedzeniem.
10. Klienci zgłaszają, że strona dziwnie się zachowuje – formularze nie wysyłają, koszyk gubi produkty, checkout WooCommerce sypie błędami.

Jeżeli widzisz minimum 2 z 10 punktów – masz infekcję, a nie zbieg okoliczności. Następny krok znajdziesz w sekcji o pierwszych krokach. Jeżeli to twój pierwszy raz, warto najpierw przeczytać poradnik strona zhakowana – pomoc i ocenić skalę problemu.

Wolisz, żebyśmy zrobili to za Ciebie?

Oszczędź czas i uniknij błędów. Zostaw kontakt – wdrożymy to rozwiązanie profesjonalnie.

  • Wdrożenie krok po kroku przez doświadczony zespół
  • Konkretny timeline + cena dopasowana do projektu
  • 500+ zrealizowanych projektów w 15+ lat

Top 10 typów infekcji WordPress 2026 (Pharma hack, Card skimming, Cryptojacking)

Wordfence w raporcie zagrożeń 2026 wskazuje, że 78% incydentów na WordPress to powtarzalne wzorce – te same rodziny malware kręcą się od 2018 roku, tylko w nowych mutacjach[2]. Jeżeli zidentyfikujesz typ infekcji w pierwszych 30 minutach, oszczędzasz sobie 80% pracy w fazie czyszczenia.

Top 10 typów infekcji WordPress 2026:

1. Pharma hack – ukryte linki do farmacji, kasyn i suplementów; widoczne tylko dla Googlebota (cloaking). Atakuje SEO i ranking domeny[10]. Jeżeli zaszkodził twojej widoczności, dorzuć audyt cyfrowy do procedury naprawczej.
2. Japanese SEO spam – generuje tysiące fake-podstron z japońskimi znakami; podmienia title, meta i sitemap. Cel: SEO black hat dla zewnętrznej sieci PBN.
3. Backdoor PHP files – ukryty kod w `wp-content/plugins/`, `uploads/`, `wp-includes/`. Plik typu `wp-cron-backup.php` daje atakującemu re-entry nawet po czyszczeniu.
4. Cryptojacking – JavaScript Coinhive/CryptoLoader w `footer.php` albo wstrzyknięty przez wtyczkę. Twoi użytkownicy minują kryptowaluty dla atakującego, CPU 100%.
5. Defacement – podmieniony index.php pokazuje stronę grupy hakerskiej. Spektakularne, ale paradoksalnie najprostsze do naprawy (przywracasz z backupu).
6. Card skimming (Magecart) – wstrzyknięty JS na checkout WooCommerce kradnie numery kart i CVV. To incydent RODO – masz 72h na zgłoszenie do UODO[11]. Warto wzmocnić bezpieczeństwo formularzy WooCommerce od strony technicznej.
7. Redirect malware – warunkowe przekierowanie na phishing/fake-update tylko z mobile albo tylko z Facebook referrera. Najtrudniejsze do złapania bo developer w desktopie niczego nie widzi.
8. SEO spam injection – ukryty content dla Googlebota w `wp-content/themes/{motyw}/functions.php` przez `if($_SERVER['HTTP_USER_AGENT'] contains 'Googlebot')`. Po czyszczeniu zwykle trzeba odbudować pozycjonowanie SEO.
9. Brute-force admin – właściwie nie infekcja, ale wektor wejścia. Boty próbują `admin/admin`, `admin/123456` przez xmlrpc.php nawet 5000 razy dziennie.
10. SQL injection – wstrzyknięcie ładunku przez nieaktualną wtyczkę z formularzem; cel: dostęp do tabeli `wp_users` i hashy haseł[5].

Patchstack pokazuje, że 96% luk w 2026 jest we wtyczkach (nie w core), więc lista wtyczek na twojej stronie to mapa twoich słabych punktów[6]. Pełny audyt wtyczek robię w ramach opieki WordPress – co miesiąc, automatycznie. Jak ustawić bezpieczne aktualizacje WordPress opisałem w osobnym poradniku.

🛠️ Narzędzie KC Mobile (bezpłatne)

Kalkulator kosztów (porównaj 3 oferty)

Sprawdź narzędzie →

Pierwsze kroki – co zrobić NATYCHMIAST (backup + isolation)

Pierwsze 60 minut decyduje o tym, czy odzyskasz stronę w 24 godziny czy w tydzień. Te kroki wykonuję u każdego klienta zanim w ogóle zacznę skanować – bez nich ryzykujesz, że stracisz bazę dowodów albo zamkniesz sobie drogę do przywrócenia.

Krok 1 – Dirty backup (5–15 min)

Zrób pełną kopię WSZYSTKIEGO w stanie aktualnym, nawet zainfekowaną. To jest twój punkt zerowy. Po SSH:

cd /home/uzytkownik/
tar -czf dirty-backup-$(date +%Y%m%d).tar.gz htdocs/
mysqldump -u root -p baza_wp > dirty-db-$(date +%Y%m%d).sql

Backup zapisz lokalnie na laptopie (scp/sftp), nie zostawiaj na serwerze – atakujący może go skasować. Dokładną procedurę kopii pokazuję w poradniku UpdraftPlus backup.

Krok 2 – Maintenance mode + blokada wp-admin (5 min)

Wrzuć stronę w tryb konserwacji. W `wp-config.php` wstaw przed `/* That's all, stop editing! */`:

define('WP_MAINTENANCE_MODE', true);

Plus zablokuj `/wp-admin/` po IP w `.htaccess`:

<Files "wp-login.php">
  Order Deny,Allow
  Deny from all
  Allow from TWOJE_IP
</Files>

Krok 3 – Reset wszystkich haseł (10 min)

Atakujący ma twoje hasło. Zmień: hasło hostingu, FTP/SSH, baza danych, wszystkie konta administratora WP, hasła API (Stripe, PayU, Mailgun), klucze SECRET_KEY w `wp-config.php`[3]. Generator kluczy WP: `https://api.wordpress.org/secret-key/1.1/salt/`.

Krok 4 – Sprawdź użytkowników w bazie (5 min)

Przez WP-CLI: `wp user list --role=administrator` – jeżeli widzisz konto, którego nie utworzyłeś, usuń `wp user delete ` i sprawdź logi co robił.

Krok 5 – Zgłoszenie do hostingu (15 min)

Napisz ticket do hostingu – CyberFolks, LH, Zenbox mają wewnętrzne narzędzia do skanu malware i mogą przywrócić serwerowy backup szybciej niż twój. Jeżeli to incydent z kradzieżą danych płatności (card skimming na WooCommerce), masz 72h na zgłoszenie do UODO – masz to czarno na białym w RODO art. 33. W ramach naprawy WordPress komunikuję się z hostingiem za klienta, żeby skrócić czas reakcji.

Skanowanie infekcji – Wordfence vs Sucuri vs Malcare (cennik + funkcje)

Trzy najczęściej używane skanery WordPress mają mocno różne podejścia – Wordfence skanuje pliki na serwerze, Sucuri pracuje zewnętrznie (z perspektywy Google), Malcare ma najlżejszy klient po stronie WP[7]. Profesjonalne czyszczenie = używasz minimum dwóch jednocześnie, bo każdy łapie inny zestaw sygnatur.

Wordfence (najczęściej używany)
– Free: skanowanie sygnaturowe core, wtyczek, motywów; firewall WAF (community rules z 30-dniowym opóźnieniem)
– Premium 119 USD/rok: real-time WAF rules, malware scanner, country blocking, alerts
Mocna strona: najbogatsza baza sygnatur PHP backdoorów, czyta `wp-content/uploads/` skutecznie. Szczegółowo opisuję konfigurację w Wordfence bezpieczeństwo.
Słaba strona: ciężki dla CPU (skan może trwać 30–90 min na większych sklepach)

Sucuri SiteCheck (zewnętrzny + premium)
– Free SiteCheck (sitecheck.sucuri.net): zewnętrzny skan z perspektywy przeglądarki – wykrywa cloaking i redirect malware których Wordfence nie widzi
– Premium 199 USD/rok: pełny WAF, CDN, 30-dniowy SLA czyszczenia
Mocna strona: wykrywa to, co widzi Google – pharma hack, japoński spam, cloaked redirects[10]
Słaba strona: nie widzi backdoorów w `wp-content/uploads/` (musisz dołożyć skaner po stronie serwera)

MalCare (najlżejszy + auto-clean)
– Free: skan podstawowy
– Premium od 99 USD/rok: auto-clean jednym kliknięciem, deep scan, vulnerability monitor
Mocna strona: najlżejszy dla zasobów serwera (skan po ich infrastrukturze, nie twojej), one-click clean dla 90% przypadków
Słaba strona: przy custom-built malware czasem fałszywe negatywy – wymaga manualnej weryfikacji

Mój workflow (KC Mobile, 200+ czyszczeń)
1. Sucuri SiteCheck (perspektywa zewnętrzna, 2 min)
2. Wordfence pełny skan z opcją skanowania plików poza WordPress (45 min)
3. MalCare deep scan jako trzecie zdanie (15 min)
4. WPScan CLI dla podatności wtyczek[12]: `wpscan --url https://twoja.pl --enumerate vp`
5. Manualne `grep -rn 'eval(base64' wp-content/` i `find . -name '*.php' -mtime -7` (co się zmieniło w ostatnim tygodniu)

Pełny pakiet skanowania, czyszczenia i hardeningu znajdziesz w cenniku usuwania wirusów WP – 890 zł stała cena, 48 h gwarancja, bez ukrytych kosztów.

Czyszczenie ręczne plików PHP – krok po kroku (Linux + WP-CLI)

Skanery łapią 80% standardowych sygnatur, ale pozostałe 20% wymaga manualnego grepa. Te komendy znajdują najczęstsze wzorce backdoorów PHP w 2026[2]:

Krok 1 – Szukaj złośliwych funkcji PHP

cd /home/user/htdocs/twojadomena.pl/
grep -rn --include="*.php" 'eval(base64_decode' .
grep -rn --include="*.php" 'eval(gzinflate' .
grep -rn --include="*.php" 'str_rot13' .
grep -rn --include="*.php" 'preg_replace.*\/e' .
grep -rn --include="*.php" 'assert.*\$_' .

Każde trafienie sprawdź ręcznie – `eval(base64_decode(...))` to w 99% backdoor. Wyjątek: niektóre legitne wtyczki cache stosują obfuskację (rzadko, ale się zdarza).

Krok 2 – Pliki zmodyfikowane w ostatnich 7 dniach

find . -name "*.php" -mtime -7 -type f
find wp-content/uploads/ -name "*.php" -type f  # uploads NIGDY nie powinno mieć PHP

Każdy plik PHP w `wp-content/uploads/` jest podejrzany – WordPress core nie zapisuje tam PHP. Usuń bez wahania.

Krok 3 – Sprawdź wp-config.php, .htaccess, index.php

Porównaj z czystą instalacją WordPress (`wp core download --skip-content` w nowym katalogu). Diff pokaże, co dodał atakujący:

wp core download --skip-content --path=/tmp/clean-wp
diff -r /tmp/clean-wp/ ./ | grep -v wp-content

Krok 4 – Usuń stare wtyczki i motywy

wp plugin list --status=inactive --field=name | xargs -n1 wp plugin delete
wp theme list --status=inactive --field=name | xargs -n1 wp theme delete

Nieaktywna wtyczka nadal może być wektorem ataku – kod jest na serwerze, atakujący może go wywołać bezpośrednio przez URL. Zasada: aktywna albo skasowana.

Krok 5 – Sprawdź uprawnienia plików

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 600 wp-config.php

Backdoory często mają `chmod 666` lub `777` – `find . -perm 0777` to lista do natychmiastowej weryfikacji. Jeżeli to dla ciebie chińszczyzna, zleć usunięcie wirusa – robimy to w ciągu 48 godzin, ze stałą gwarancją czystej strony. Pełna procedura jest też składową pakietu strony internetowe – obsługa techniczna.

🛠️ Narzędzie KC Mobile (bezpłatne)

Kalkulator porzuconych koszyków (sklep WC)

Sprawdź narzędzie →

Czyszczenie bazy danych (SQL injection + tabele wp_options) – krok po kroku

Czyszczenie plików PHP to dopiero połowa roboty – druga połowa siedzi w bazie. Atakujący lubi miejsca, których nie czyszczą początkujący: tabela `wp_options`, `wp_users`, `wp_usermeta`, `wp_posts` (ukryte podstrony do SEO spamu).

Krok 1 – Szukaj złośliwych wpisów w wp_options

SELECT option_name, option_value FROM wp_options WHERE option_value LIKE '%base64%';
SELECT option_name FROM wp_options WHERE option_name LIKE 'wp_%' AND autoload = 'yes';
SELECT option_name FROM wp_options WHERE option_name REGEXP '^[a-f0-9]{32}$';  -- backdoor names jako MD5

Krok 2 – Sprawdź użytkowników z rolą administratora

SELECT ID, user_login, user_email, user_registered FROM wp_users;
SELECT user_id, meta_value FROM wp_usermeta WHERE meta_key = 'wp_capabilities' AND meta_value LIKE '%administrator%';

Każde konto z rolą `administrator` którego nie utworzyłeś – usuń. Komenda WP-CLI: `wp user delete --reassign=1`.

Krok 3 – Sprawdź podstrony, posty i custom post types

SELECT ID, post_title, post_status, post_date FROM wp_posts WHERE post_status = 'publish' ORDER BY post_date DESC LIMIT 50;
SELECT COUNT(*) FROM wp_posts WHERE post_status = 'publish';

Japanese SEO spam tworzy nawet 10 000 fake-postów. Jeżeli widzisz wzrost z 500 do 12 000 publikacji – masz infekcję. Masowe usuwanie: `wp post delete $(wp post list --post_status=publish --post_type=page --posts_per_page=-1 --field=ID --before=YYYY-MM-DD)`.

Krok 4 – Sprawdź zaplanowane zadania CRON

Atakujący dodaje swój re-infection cron, który co godzinę wraca z infekcji:

wp cron event list
wp cron event delete <hook>  # dla podejrzanych

Krok 5 – Optymalizacja po czyszczeniu

wp db optimize
wp db check
wp transient delete --all
wp cache flush

SQL injection[5] z OWASP Top 10 to klasyk – najczęściej wchodzi przez nieaktualną wtyczkę z formularzem (Contact Form 7 z luką sprzed updatu, stare wersje WPForms). Lista CVE wtyczek: WPScan.com[12]. Dla sklepów naprawa po SQL injection wymaga osobnego audytu integralności bazy zamówień.

Re-instalacja WordPress core + wtyczek (clean install bez utraty contentu)

Po wyczyszczeniu plików i bazy nie kończ – atakujący mógł zostawić backdoor w pliku, którego sam nie zauważyłeś. Złota reguła: jeżeli skaner pokazał chociaż jednego backdoora, re-instaluj wszystko ze świeżych źródeł.

Krok 1 – Re-instalacja WordPress core

wp core download --force --skip-content

Ta komenda nadpisuje wszystkie pliki core (`wp-admin/`, `wp-includes/`, root files) świeżymi z wordpress.org. Nie rusza `wp-content/`, więc twoje wtyczki, motyw i media zostają.

Krok 2 – Re-instalacja wszystkich wtyczek

wp plugin list --field=name | xargs -n1 wp plugin install --force

Każda wtyczka pobierana od nowa z repozytorium WordPress.org[3]. Wtyczki premium (Elementor Pro, Yoast Premium, WP Rocket) musisz zaktualizować ręcznie ze sklepu producenta – nie zostawiaj starych ZIP-ów.

Krok 3 – Re-instalacja motywu

wp theme install astra --force  # przykład

Jeżeli używasz dziecka motywu (child theme) – tylko jego nie kasuj. Rodzic zawsze ze świeżego źródła.

Krok 4 – Sprawdź pliki .htaccess + wp-config.php

Te dwa pliki nie są nadpisywane przez `wp core download`. Manualnie porównaj z czystą wersją:

# wp-content/.htaccess
# Block direct PHP access in uploads
<Files "*.php">
  Order Allow,Deny
  Deny from all
</Files>

Krok 5 – Wymuś update bazy

wp core update-db
wp plugin update --all
wp theme update --all

Cała ta procedura zajmuje 30–60 min na czystej instalacji. Na sklepie WooCommerce z 200 wtyczkami i 50 000 produktami – 4–6 godzin. Dlatego stała cena 890 zł za usuwanie wirusów WP jest opłacalna nawet dla agencji – my robimy to codziennie i mamy zautomatyzowany pipeline. Jeżeli przy okazji potrzebujesz migracji WordPress na nowy hosting, to dobry moment, żeby zacząć od zera na lepszym serwerze.

Hardening po infekcji – jak nie wpaść drugi raz (10 zasad bezpieczeństwa)

Reinfekcja w ciągu 30 dni od czyszczenia dotyka 18% zhakowanych stron WordPress[1]. Powód jest zawsze ten sam: właściciel wyczyścił, ale nie zhartował. Atakujący ma listę domen, które już raz padły – wraca po tygodniu.

10 zasad hardeningu WordPress (oficjalne wytyczne WordPress.org[8]):

1. Aktualizacje automatyczne – core, wtyczki i motyw. W `wp-config.php`: `define('WP_AUTO_UPDATE_CORE', true);`. Dla wtyczek: `wp plugin auto-updates enable --all`. Szczegóły w bezpiecznych aktualizacjach WordPress.
2. 2FA na wszystkich kontach administratora – Wordfence, Solid Security albo Wordpress.com Jetpack. Brute-force na admin/123456 przestaje działać.
3. Wyłącz xmlrpc.php – 99% stron go nie potrzebuje, a to wektor brute-force i pingback DDoS. W `.htaccess`: `RedirectMatch 403 /xmlrpc.php`.
4. Ogranicz wp-login.php po IP – jeżeli logujesz się z biura, dodaj `` w `.htaccess`. Brute-force odpada.
5. Zmień prefix bazy – z `wp_` na losowy `wp_4xj7_`. To utrudnia SQL injection. WP-CLI: `wp config set table_prefix wp_4xj7_`.
6. HTTPS + HSTS – Let's Encrypt + nagłówek `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload`[9]. Konfiguracja krok po kroku: WordPress SSL HTTPS.
7. Security headers – `Content-Security-Policy`, `X-Frame-Options: DENY`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin`.
8. File integrity monitoring – Wordfence Premium albo własny skrypt `find -newer` na cron co 6 godzin. Wykrywa modyfikację plików w 6h od zdarzenia.
9. Disable file editing w wp-admin – `define('DISALLOW_FILE_EDIT', true);`. Nawet jak ktoś dostanie się do admina, nie podmieni motywu z UI.
10. Daily backups offsite – UpdraftPlus/BackWPup do AWS S3, Backblaze albo Google Drive. Backup ZAWSZE poza serwerem produkcyjnym.

Wszystkie 10 punktów wdrażam w pakiecie opieki WordPress (od 299 zł/mies) jako standard – plus monitoring, miesięczny raport, support priorytetowy. Dla sklepów WooCommerce dorzucam audyt PCI-DSS w ramach pomocy technicznej. Pełną teorię znajdziesz w bezpieczeństwie WordPress – kompletny hardening.

Ile kosztuje usuwanie wirusów WordPress (DIY vs agencja vs KC 890 zł)

Cena rynkowa za usuwanie wirusów WordPress w Polsce 2026 ma trzy poziomy. Wiem to z 200+ zleceń i z monitoringu agencji konkurencyjnych przez 12 miesięcy.

DIY (sam to robisz) – 0 zł plus 8–40 godzin pracy

Realny koszt to NIE 0 zł – to twoja stawka godzinowa razy czas. Średnia infekcja typu pharma hack na blogu: 8–12 godzin. Sklep WooCommerce z 30 wtyczkami i card skimmingiem: 25–40 godzin (plus stres, plus ryzyko, że wrócisz do reinfekcji bo coś przegapiłeś).

Plusy: 0 zł, uczysz się.
Minusy: ryzyko reinfekcji 35% (statystyka Sucuri[1]), brak gwarancji, w trakcie nauki strona offline = stracony przychód.

Agencja standardowa – 500–3000 zł

Polski rynek pęka od freelancerów i małych agencji oferujących usunięcie wirusa. Cena 500–1500 zł dla typowej infekcji, 2000–3000 zł dla sklepów WooCommerce. Problem: większość pracuje na zasadzie spróbuję, jak nie wyjdzie to dopłacisz – brak stałej ceny, brak gwarancji.

Plusy: ktoś inny robi.
Minusy: zmienna cena, brak gwarancji 48 h, często reinfekcja w 30 dni bo brak hardeningu.

Premium agencja (Sucuri/Wordfence Care) – 5000–15000 zł

Sucuri Incident Response zaczyna się od 1500 USD (≈ 6000 zł) za incydent. Wordfence Care to 2400 USD/rok. To opcja dla korporacji – świetna, ale przepłacasz za sklep, który zarabia 50 000 zł/mies.

Plusy: SLA, raport prawniczy, RODO compliance.
Minusy: cena, support w EN, 7–14 dni czekania.

KC Mobile – 890 zł stała cena, gwarancja 48 h

Robimy to codziennie. Stała cena 890 zł obejmuje: pełen audyt, czyszczenie plików + bazy, re-instalacja core+wtyczek, hardening (10 zasad), monitoring przez 30 dni i raport. Gwarancja 48 godzin liczona od podpisania umowy. Jeżeli wrócimy w 30 dni z reinfekcją bo coś przegapiliśmy – czyścimy ponownie za darmo.

Zobacz szczegółowy cennik usuwania wirusów WordPress albo umów rozmowę przez formularz kontaktowy – wycena w 2 godziny. Pełny cennik usług WordPress zawiera też pakiety prewencyjne.

Kiedy zlecić agencji (5 sygnałów + dlaczego nie najtańsza opcja)

Nie każda infekcja wymaga agencji. Pharma hack na blogu z 50 podstronami spokojnie robisz sam w niedzielne popołudnie. Ale jest pięć sytuacji, w których DIY = strzał w stopę:

Sygnał 1 – Sklep WooCommerce z aktywnymi zamówieniami

Każda godzina downtime = 50–500 zł straconego obrotu (zależy od skali). Card skimming na checkout = obowiązek zgłoszenia do UODO w 72h[11] plus odpowiedzialność za skradzione dane kart. Tutaj profesjonalna pomoc techniczna WooCommerce to nie luksus, to zabezpieczenie biznesu.

Sygnał 2 – Strona po blacklist Google

Czerwony ekran ostrzeżenia w Chrome = 90% spadek ruchu organicznego. Procedura usunięcia z Google Safe Browsing wymaga zgłoszenia w Search Console + dokumentacji czyszczenia[4]. Agencja zna procedurę – ty nauczysz się jej po 4 godzinach researchu.

Sygnał 3 – Reinfekcja w 7 dni od czyszczenia

Wyczyściłeś, a po tygodniu znowu ten sam pharma hack? Masz ukrytego backdoora, którego nie znalazłeś. Drugi raz sam tego nie ogarniesz – atakujący ma cię już w bazie celów łatwych do ponownego ataku.

Sygnał 4 – Złożona infekcja (wielowarstwowa)

Pharma hack + cryptojacking + Japanese SEO spam jednocześnie = trzy różne grupy hakerskie złapały twoją stronę przez tę samą lukę. Profesjonalne czyszczenie multi-vector wymaga 8–12 godzin specjalistycznej pracy. Zobacz też serwis WordPress – naprawa.

Sygnał 5 – Brak dostępu do FTP/SSH

Atakujący zmienił hasło hostingu, twój hosting nie pomaga, a backup masz sprzed 6 miesięcy. Tutaj sam nic nie zrobisz – potrzebny ktoś z doświadczeniem w pracy z migracją WordPress i komunikacji z hostingiem.

Dlaczego nie najtańsza oferta?

Cennik 200–400 zł na OLX/Allegro to red flag. Profesjonalne czyszczenie zajmuje minimum 4–8 godzin specjalisty z rynkową stawką 150 zł/h. Matematyka się nie zgadza – ktoś po prostu kasuje pliki bez audytu i odda ci stronę z backdoorami w środku. Wybierz agencję z stałą ceną, gwarancją na piśmie i portfolio incydentów. KC Mobile spełnia wszystkie trzy warunki – umów konsultację albo zobacz pełną stronę zhakowaną – pomoc. Jeżeli to twoja pierwsza infekcja, dobrym punktem wyjścia jest agencja WordPress – cała oferta techniczna w jednym miejscu.

Wspomniane narzędzia

Wordfence Sucuri MalCare WordPress.org rescue WPScan WP-CLI phpMyAdmin

Potrzebujesz pomocy z WordPress?

Tworzymy i naprawiamy strony na WordPress. Optymalizacja prędkości, bezpieczeństwo, aktualizacje. 500+ zrealizowanych projektów.

Najczęściej zadawane pytania

Ile czasu zajmuje usunięcie wirusa z WordPress?
Standardowa infekcja (pharma hack, japanese SEO spam, redirect malware) na blogu z 20 wtyczkami zajmuje 4–8 godzin pracy specjalisty. Sklep WooCommerce z 50 wtyczkami, integracjami płatności i kilkoma tysiącami produktów wymaga 8–16 godzin. W KC Mobile [usuwanie wirusów WP](/cennik/usuwanie-wirusow-wordpress/) ma stałą gwarancję 48 godzin od podpisania umowy do zwrócenia czystej strony.
Czy mogę usunąć wirusa z WordPress samodzielnie bez znajomości PHP?
Tak, ale tylko dla prostych infekcji typu defacement albo widoczny spam w stopce, gdzie wystarczy przywrócić backup. Pharma hack, backdoory PHP, SQL injection wymagają pracy w terminalu (SSH, WP-CLI, grep) – bez tej znajomości ryzykujesz, że zostawisz backdoory i wrócisz do reinfekcji w 2 tygodnie<sup><a href="#cite_note-1">[1]</a></sup>. Sucuri w raporcie 2026 podaje że 35% samodzielnie czyszczonych stron wraca z reinfekcją w ciągu 30 dni. Bezpieczniej zlecić [naprawę WordPress](/naprawa-wordpress/) komuś z doświadczeniem.
Wordfence czy Sucuri – który skaner jest lepszy do WordPress?
Profesjonaliści używają obu jednocześnie, bo każdy ma mocną stronę gdzie indziej. Wordfence czyta lokalnie pliki serwera i wykrywa backdoory PHP w `wp-content/uploads/` i `wp-includes/`. Sucuri SiteCheck skanuje stronę z zewnątrz (jak Google) i widzi cloaked content – pharma hack, japoński spam, conditional redirect malware<sup><a href="#cite_note-10">[10]</a></sup>. Najlepszy stack: Wordfence + Sucuri SiteCheck + MalCare – razem łapią 99% rodzin malware na WordPress. Szczegóły w [konfiguracji Wordfence](/baza-wiedzy/wordpress/wordpress-wordfence-bezpieczenstwo/).
Jak rozpoznać że WordPress jest zhakowany jeżeli wizualnie wszystko wygląda OK?
Sprawdź pięć rzeczy: po pierwsze wpisz w Google `site:twojadomena.pl viagra` i `site:twojadomena.pl casino` (jeżeli są wyniki – masz pharma hack). Po drugie odpal Search Console i sprawdź sekcję Bezpieczeństwo i ręczne działania plus japońskie znaki w zapytaniach. Po trzecie sprawdź `wp user list --role=administrator` w WP-CLI – każde konto którego nie utworzyłeś jest podejrzane. Po czwarte sprawdź `wp-content/uploads/` – jeżeli są pliki PHP, to backdoor (uploads NIGDY nie powinno mieć PHP). Po piąte sprawdź zużycie CPU/RAM na hostingu – cryptojacking podnosi zużycie do 90–100% non-stop.
Ile kosztuje usunięcie wirusa z WordPress w Polsce w 2026?
Ceny rynkowe w Polsce 2026: freelancerzy/OLX 200–800 zł (najczęściej bez gwarancji), małe agencje 500–2000 zł (czasem ze stałą ceną), KC Mobile 890 zł stała cena z 48 h gwarancją, premium agencje Sucuri/Wordfence Care 5000–15000 zł. Najtańsze opcje (poniżej 400 zł) zwykle nie obejmują hardeningu, więc strona wraca z reinfekcją w 30 dni. Zobacz szczegółowy [cennik usuwania wirusów WordPress](/cennik/usuwanie-wirusow-wordpress/) – stała cena, transparentny zakres prac.
Co zrobić jeżeli Google oznaczył moją stronę jako zainfekowaną?
Czerwony ekran ostrzeżenia w Chrome i Firefox = blacklist Google Safe Browsing, spadek ruchu o 80–90%. Procedura: 1) Wyczyść infekcję (audyt + czyszczenie + re-instalacja + hardening), 2) Zaloguj się do Google Search Console, 3) Wejdź w Bezpieczeństwo i ręczne działania → Problemy z bezpieczeństwem, 4) Kliknij Sprawdź ponownie z opisem co zostało wyczyszczone. Google sprawdza w ciągu 24–72 godzin i usuwa flagę<sup><a href="#cite_note-4">[4]</a></sup>. Bez wcześniejszego pełnego czyszczenia zgłoszenie zostanie odrzucone.
Czy backup może zawierać wirusa i czy mogę go bezpiecznie przywrócić?
Tak, większość backupów z hostingu zawiera infekcję, bo atakujący był na stronie 2–6 tygodni zanim się zorientowałeś. Przed przywróceniem zrób pełny skan ZIP-a backupu (Wordfence offline, MalCare upload). Bezpieczna procedura: wgraj backup na osobny serwer (staging), wyczyść infekcję tam, dopiero potem przenieś czyste pliki na produkcję. Jeżeli nie masz stagingu, lepiej zlecić [pomoc techniczną WooCommerce](/cennik/pomoc-techniczna-woocommerce/) – źle wgrany zainfekowany backup pogarsza sytuację dwukrotnie. Procedurę backupu omówiłem w [UpdraftPlus szczegółowo](/baza-wiedzy/wordpress/wordpress-updraftplus-backup-szczegolowo/).
Jak zabezpieczyć WordPress żeby nie wpaść drugi raz w wirusa?
10 zasad hardeningu (oficjalne WordPress.org<sup><a href="#cite_note-8">[8]</a></sup>): aktualizacje automatyczne core+wtyczek+motywu, 2FA na wszystkich kontach administratora, wyłącz xmlrpc.php, ogranicz wp-login.php po IP, zmień prefix bazy z wp_ na losowy, HTTPS+HSTS, security headers (CSP, X-Frame-Options), file integrity monitoring co 6 h, `define('DISALLOW_FILE_EDIT', true);` w wp-config.php, daily backup offsite (AWS S3 albo Google Drive). Wszystkie 10 zasad obejmuje pakiet [opieki WordPress](/cennik/opieka-wordpress/) od 299 zł/mies plus miesięczny raport, monitoring 24/7 i support priorytetowy. Pełna teoria: [bezpieczeństwo WordPress – hardening](/baza-wiedzy/wordpress/bezpieczenstwo-wordpress-hardening/).

Przypisy i źródła

  1. Sucuri – Website Hacked Trend Report 2026, raport analizujący incydenty na CMS-ach
  2. Wordfence – Threat Intelligence Report 2026 (top wektory ataków na WordPress)
  3. WordPress.org – FAQ: My site was hacked (oficjalny przewodnik odzyskiwania)
  4. Google Search Central – Diagnose hacked sites & remove malware (dokumentacja oficjalna)
  5. OWASP – Top 10 Web Application Security Risks 2021 (referencja dla SQL injection i XSS)
  6. Patchstack – State of WordPress Security 2026 (raport o lukach we wtyczkach)
  7. MalCare – WordPress Security Guide 2026, dokumentacja procedur czyszczenia
  8. WordPress.org Support – Hardening WordPress (oficjalne wytyczne)
  9. web.dev – Security headers i HTTPS jako baza zabezpieczeń strony
  10. Sucuri – Pharma Hack: How to find and remove it (techniczna analiza pharma hack)
  11. Wordfence – Card skimming i Magecart na WooCommerce (raporty incydentów)
  12. WPScan Vulnerability Database – baza CVE dla WordPress core, wtyczek i motywów

Źródła zawierają linki do zewnętrznych raportów branżowych, badań i oficjalnych publikacji. Klikając w numerację [X] w treści artykułu, automatycznie zostaniesz przeniesiony do odpowiedniego przypisu.

#wordpress#bezpieczenstwo#wirus#malware#hack#pharma-hack#sucuri#wordfence
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

Founder & Technical Lead, KC Mobile

20 lat WordPress + 12 lat WooCommerce. Specjalizuję się w technicznej stronie e-commerce: automatyzacje WooCommerce, Google Ads dla SMB, migracje sklepów i optymalizacja konwersji. Realizacje dla 500+ klientów.

Potrzebujesz pomocy z tym tematem? Napisz – odpowiem osobiście w 24h.

Potrzebujesz pomocy?

Wolisz, żebyśmy zrobili to za Ciebie?

Oszczędź czas i uniknij błędów. Zostaw kontakt – wdrożymy to rozwiązanie profesjonalnie.

  • Wdrożenie krok po kroku przez doświadczony zespół
  • Konkretny timeline + cena dopasowana do projektu
  • 500+ zrealizowanych projektów w 15+ lat
Bezpłatna wycena