Hacked site: 4,200 WordPress sites compromised every day worldwide
In 2026, around 4,200 WordPress sites are compromised every day according to cross-data from Sucuri, Wordfence and SiteCheck. For you, the client: one morning your site redirects to a casino, your antivirus blocks access, Google shows "This site may harm your computer", or worse, your clients receive phishing emails in your name.
Panic is a bad advisor. This guide gives you the 8 emergency steps in the exact order to follow within the first 24 hours.
Step 0 — Recognize hack symptoms
Most frequent symptoms:
- Unexpected redirect: the site sends to a third site (casino, pharmacy, porn)
- Malware injection: unknown JavaScript code appears in footer or pages
- Google blacklist: "This site may harm your computer" in SERPs or Chrome
- Google Search Console warning: "Malware detected" message
- Sudden slowdown: site lags, server CPU at 100 % (often malicious bot or crypto mining)
- New unknown admin users in WP-admin
- Strange files:
wso.php,c99.php,r57.php, or PHP files in /uploads/ - Host blocking the account for suspicious activity
- Spam emails sent from your domain name
- Client complaint: your clients receive fraudulent emails signed in your brand's name
At the slightest symptom, move immediately to step 1.
Step 1 — Isolate the site (priority 1, < 30 min)
The goal: prevent the malware from continuing to spread, and protect your visitors.
- Maintenance mode: enable a "Maintenance in progress" page via .htaccess or WP Maintenance Mode plugin
- Restrict access: limit access to your IP via .htaccess (
Order Deny,Allow / Deny from all / Allow from YOUR_IP) - Temporarily cut DNS if needed (extreme case of redirect to illegal content)
- Block outgoing emails if spam is leaving your domain (cut SMTP on the host side)
Do NOT delete files immediately: we need to preserve evidence for step 2.
Step 2 — Identify the nature of the attack (< 2 h)
- Online scan: pass the URL into Sucuri SiteCheck (free, https://sitecheck.sucuri.net), Quttera, VirusTotal
- Audit of recently modified files:
`bash
find /var/www/yoursite -type f -name "*.php" -mtime -7
`
→ lists all PHP files modified in the last 7 days
- Server logs: examine /var/log/apache2/access.log or cPanel logs to spot attacker IP
- Check admin accounts: Settings > Users in WP-admin, delete any account not created by you
- List active plugins: spot suspicious plugins (often an outdated plugin is the entry door)
Document the attack: origin date, infected files, source IP. Useful for step 8 (notify).
Step 3 — Clean or restore (the big step, 2-8 h)
Option A — Manual cleanup (if you have the skills or a sysadmin)
- Download a clean copy of WP core, theme, plugins from official sources
- Compare file by file with your install (
diffor tools like WP-CLI) - Delete / replace all modified files
- Scan the database for injected code (search
,eval(,base64_decode) - Clean the database of malicious entries
- Reset the .htaccess file
Recommended tools:
- Wordfence: scan + clean in premium mode
- MalCare: cloud-side automatic cleanup (49-249 USD / year)
- Sucuri: manual cleanup service (199-499 USD per incident)
- Maldet (Linux Malware Detect): server CLI scan
- ClamAV: open source server antivirus
Option B — Restore a clean backup (faster method if you have a pre-compromise backup)
- Identify the precise date of infection (step 2)
- Restore the most recent backup prior to that date
- Before restoring: export new orders / leads / comments post-date if possible
- Restore DB + files
- Move to step 4 immediately (patch the flaw, otherwise it starts again)
Anti-pattern: restoring a post-infection backup. Malware comes back with it.
Step 4 — Patch the flaw (< 2 h)
Identify how the attacker got in:
- Outdated plugin with known CVE? → update or uninstall
- Weak admin password? → 16+ password + 2FA
- xmlrpc.php exposed? → disable
- File permissions too loose? → 644/755/600
- Nulled theme? → replace with official version
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
If you don't patch, the site will be re-compromised within 48 h.
Step 5 — Complete credential reset (< 1 h)
- WP admin password: new, 16+ characters
- MySQL DB password: new, change in wp-config.php
- Third-party API keys (Mailgun, Stripe, Wave): regenerate
- SSH / FTP / cPanel: new password + SSH keys
- WordPress security keys (SALT_KEY etc.): regenerate via https://api.wordpress.org/secret-key/1.1/salt/
- Force logout of all active WP sessions
Step 6 — Final scan + monitoring (< 1 h)
- Rescan with Sucuri SiteCheck → must be clean
- Rescan with Wordfence in full mode
- Enable WAF (Cloudflare or Sucuri) if not already done
- Set up 24/7 monitoring (UptimeRobot + daily Wordfence scan)
Step 7 — Submit to Google for delisting (< 24 h after cleanup)
If the site was blacklisted:
- Google Search Console > Security > Security issues
- Click "Request a review"
- Describe corrective actions taken
- Google response time: 24-72 h on average
- Same process for Bing Webmaster Tools
Step 8 — Notify stakeholders
- Impacted clients: transparent email describing the incident, measures taken, without dramatizing
- CDP Senegal: if personal data theft confirmed (law 2008-12), 72 h mandatory declaration
- CNIL France: if EU/French client impacted, GDPR declaration within 72 h
- Host: so they help with monitoring and confirm on infra side
- Bank / Stripe / Wave: if payment data may have been exposed
Emergency recap table
| Step | Target time | Main action |
|---|---|---|
| 0 | Immediate | Recognize symptoms |
| 1 | < 30 min | Isolate (maintenance mode) |
| 2 | < 2 h | Identify (scan + logs) |
| 3 | 2-8 h | Clean or restore backup |
| 4 | < 2 h | Patch entry flaw |
| 5 | < 1 h | Reset all credentials |
| 6 | < 1 h | Final scan + monitoring |
| 7 | < 24 h | Google delisting request |
| 8 | < 72 h | Notify clients + authorities |
Prevention to avoid relapse
- Maintenance plan with regular scan (see our article)
- 30-point WordPress security (see our checklist)
- Daily 3-2-1 backup (see our guide)
- 2FA mandatory on all admin accounts
- WAF (Cloudflare or Sucuri) in front
- Quarterly security audit
Annual full prevention cost: 150,000 to 800,000 FCFA depending on site size. Cost of an incident without prevention: 300,000 to 3,000,000 FCFA + SEO traffic loss for 3-6 months.
At Kolonell, the standard maintenance plan includes Wordfence, Cloudflare WAF, daily backup and intervention within 4 h on critical incident.
FAQ
How much does hacked site recovery cost at an agency?
In Senegal: 300,000 to 1,200,000 FCFA depending on severity (simple injection vs full deface + altered DB). In France: 800 to 3,500 EUR. Sucuri Clean service: 199 USD (1 site, 1 month cleanup) or 499 USD (1 year + WAF).
Should I pay a ransom on ransomware?
No, never. Probability of data recovery after payment is around 60 %, and paying funds organized crime. Always prefer restoring a backup and patching.
How long before Google delisting?
If the request is well filled: 24-72 h. If the site is still infected or the request poorly documented: refused + 7-14 d additional delay. Better prepare the request properly.
How to know I don't have a hidden backdoor?
Typical backdoors: innocent PHP file in /uploads/, injected code in wp_options table, suspicious cron job. Scan with Sucuri in depth + full pro audit = only way to be 99 % sure.
Can the hack come back if I clean?
Yes, in 70 % of cases if the entry flaw isn't patched (step 4). It's the step most often missed.
Let's talk about your incident
If your site is compromised now and you need emergency help, contact us immediately. WhatsApp +221 77 596 93 33 (response < 2 h, business days).
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.

