The hard truth about most WordPress security advice
Most "WordPress security" articles read like a checklist a robot wrote. Install plugin X. Enable feature Y. Done.
We've cleaned up over 80 hacked WordPress sites since 2007. Almost every one of them had a security plugin installed. The plugin wasn't the problem. The setup was.
This is the strategy stack we actually run on client sites, ranked by how often each one would have prevented a breach we cleaned up.
How most WordPress sites actually get hacked
Before fixing anything, look at the data. Wordfence's 2024 threat report (source) says the breach pattern stays remarkably consistent year over year:
| Attack vector | Share of confirmed breaches |
|---|---|
| Outdated plugin or theme | 56% |
| Weak or reused admin password | 22% |
| Compromised host environment | 11% |
| Stolen session or API key | 7% |
| Other (zero-day, insider) | 4% |
Two findings stand out. First, plugins cause more breaches than every other vector combined. Second, the "exotic hack" you read about (zero-days, sophisticated APTs) accounts for almost nothing in the real world.
Fix the boring stuff first. That alone closes 78% of the actual risk.
1. Run fewer plugins, update them weekly
The single biggest win. The average WordPress site runs 20 to 25 plugins. Once you cross 35, the math says you'll hit a vulnerable plugin within 12 months.
What we do for clients:
- Quarterly plugin audit. Every plugin justifies itself or gets removed.
- Auto-updates on for minor releases. Manual review for major versions.
- Subscribe to the WPScan vulnerability feed so you hear about issues before attackers do.
For more on cutting plugin bloat, see Are you overloading your WordPress with plugins?.
2. Move admin behind 2FA, not behind a "secret" URL
Hiding /wp-admin is security theatre. A determined scanner finds it in minutes.
Two-factor authentication actually stops the attack. Google's research shows 2FA blocks 99.9% of automated account takeover attempts. Use the WP 2FA plugin or built-in support in Wordfence. TOTP apps (Google Authenticator, Authy) beat SMS for both security and reliability.
Turn 2FA on for every admin and editor account. No exceptions.
3. Use a real WAF, not just a security plugin
A web application firewall sits in front of your site and filters traffic before it hits WordPress. Two solid options for Indian sites:
- Cloudflare Free / Pro — ₹0 to ₹1,650/month ($0 to $20). Decent baseline plus CDN.
- Sucuri Firewall — ₹16,500/year ($199). WordPress-specialised rules and post-hack cleanup included.
A plugin-based "firewall" runs inside WordPress, so the request already loaded PHP and consumed resources by the time it gets blocked. A real WAF blocks it at the edge. For sites pulling decent traffic, the speed gain alone justifies the cost.
4. Strong passwords, enforced — not suggested
Your admin password should be 16+ characters, generated by a password manager, never reused. The same rule applies to FTP, SSH, database, and hosting panel logins.
We see this repeatedly: a client's blog gets hacked, but the actual breach started six months earlier when their old WordPress freelancer's email got compromised, and the FTP password they reused was sitting in a leaked credentials dump.
Bitwarden (free) or 1Password (₹250/month or $3) are both fine. Pick one.
5. Backups you've actually tested
Most sites have backups. Few have backups that work.
The setup we use:
- Daily incremental backups via the host (most managed WP hosts include this)
- Weekly full backups to a separate cloud (S3, Backblaze B2, or Google Drive)
- A monthly restore drill on a staging server, just to confirm the backup actually restores
UpdraftPlus and Solid Backups both work. So does WP Time Capsule. Pick the one that runs without you thinking about it.
6. SSL everywhere, properly configured
Free SSL via Let's Encrypt is table stakes in 2025. Your host probably offers it in one click.
What most people miss: redirect HTTP to HTTPS at the server level (not via plugin), force HSTS, and use HTTP/2 or HTTP/3. Run your site through SSL Labs and aim for an A or A+ grade.
A misconfigured SSL setup gives users false confidence without the actual encryption benefits. Get this right or don't bother.
7. Monitor what actually matters
Activity logging tells you what happened. Most sites only check the logs after they're hacked.
Set up alerts (not just logs) for:
- Any change to a user with admin or editor role
- Any change to plugin or theme files
- Failed login attempts above a threshold (we use 10 in 5 minutes)
- New admin user creation
- Modifications to
wp-config.phpor.htaccess
WP Activity Log is the standard tool. Pair it with email or Slack alerts so you find out within minutes, not weeks.
Where this stack falls short
Honest section. This setup handles 95% of what you'll face. It does not handle:
- Targeted attacks by a skilled human (not a bot). If you're a journalist, activist, or run a high-value e-commerce site, you need a security audit beyond what plugins offer.
- Supply chain attacks where a legitimate plugin update ships malicious code. Rare but real. The defence is staged updates on staging environments before production.
- Compromised hosting environments where the host itself is breached. Choose a host that takes security seriously and publishes incident reports.
A practical 30-day security plan
Week 1: Audit and clean
- List every plugin, deactivate anything not used in 90 days
- Update WordPress core, all themes, all plugins
- Check user list, remove inactive accounts, enforce strong passwords on the rest
Week 2: Add the layers
- Install a 2FA plugin, enrol all admins and editors
- Set up Cloudflare or Sucuri in front of your site
- Configure SSL properly, test on SSL Labs
Week 3: Backups and monitoring
- Set up daily off-site backups
- Run a test restore on a staging environment
- Install WP Activity Log with email alerts
Week 4: Document and train
- Write a one-page incident response plan
- Share it with anyone with admin access
- Schedule the next quarterly audit on the calendar
If you'd rather hand this off, our WordPress maintenance team handles security setup, monitoring, and incident response for clients across India, the US and UK.
FAQ
How much does WordPress security cost per year? For a small business site, ₹15,000 to ₹40,000 ($180 to $500) covers SSL, a managed WAF, daily backups, and monitoring. For e-commerce or high-traffic sites, budget ₹60,000 to ₹2,00,000 ($720 to $2,400) for advanced WAF, faster restore times, and security audits.
Is Wordfence free version enough? For a small blog, yes. For anything making money, the premium version (₹12,400/year or $149) gets you real-time threat intelligence, country blocking, and faster malware signature updates. The 30-day delay on free signatures is the gap most attackers exploit.
What's the most common WordPress security mistake? Reusing the admin password somewhere else. We've traced more breaches to leaked credential dumps than to any actual WordPress vulnerability. Strong, unique passwords plus 2FA solves this.
Should I disable XML-RPC?
If you don't use the Jetpack app, mobile WordPress app, or pingbacks, yes. It's a common brute-force target. Disable it via the Disable XML-RPC plugin or in .htaccess. Most modern sites don't need it.
How fast should I patch a WordPress security update? Critical patches: within 24 hours. The window between disclosure and active exploitation has dropped to under 48 hours for popular plugins. Auto-updates for minor releases are safe to enable. Major releases get a manual review on staging first.
Want help locking it down?
If you'd rather have someone audit your site and set up the full stack, talk to our security team. We do one-time security audits and ongoing managed security for WordPress sites of every size.
Need help with this?
Our team has 19+ years of experience and can help you implement everything discussed in this article.
Book a Discovery Call