Every week, we hear about another WordPress site getting hacked. Small business websites, personal blogs, e-commerce stores, no site is immune. The problem isn't that WordPress is inherently insecure. It's that most WordPress sites are built and forgotten, with default settings, outdated plugins, and no basic protection in place.
In this guide, I'll walk you through a complete WordPress security checklist that we implement for every client site we manage. Some steps take 5 minutes. Others require ongoing attention. But together, they create defense-in-depth that makes your site significantly harder to compromise.
Why WordPress Security Matters More Than Ever
WordPress powers over 40% of all websites globally, and a massive portion of Indian websites. This popularity makes it a prime target for hackers. Automated bots scan millions of WordPress sites daily looking for vulnerabilities — weak passwords, outdated plugins, misconfigured servers.
When we analyze compromised sites, the attack vector is almost always one of three things: an outdated plugin with a known vulnerability, a weak admin password, or a vulnerable theme. None of these are sophisticated attacks. They're automated scans exploiting known, fixable issues.
The good news? Most WordPress hacks are preventable with basic security hygiene. The checklist below addresses the real attack vectors we see in practice.
Needed WordPress Security Checklist
1. Keep Everything Updated (Non-Negotiable)
Outdated software is responsible for over 50% of WordPress compromises. Every update patch contains security fixes. When a plugin vulnerability is disclosed, hackers immediately create automated tools to exploit sites still running the old version.
Your update routine should include:
- WordPress core: Always on latest stable version. Enable automatic minor updates.
- Themes: Update when new versions release, especially security patches.
- Plugins: Update within 24-48 hours of new releases. Don't wait.
- PHP version: WordPress now requires PHP 7.4 minimum, but PHP 8.1+ offers significant performance and security improvements.
If you're on managed hosting, enable auto-updates. If you're on shared hosting or VPS, set calendar reminders for weekly plugin checks. We use a simple spreadsheet for client sites: every Monday, we check for pending updates and deploy them after testing.
2. Use Strong, Unique Passwords Everywhere
Brute force attacks. Where bots try common username/password combinations, are extremely common. "admin/password123" gets compromised in seconds. But even weak variations of your name or business get cracked faster than you think.
Password requirements for all WordPress accounts:
- Minimum 16 characters
- Mix of uppercase, lowercase, numbers, symbols
- No dictionary words or personal information
- Unique for every account (never reuse passwords)
Use a password manager. For ourselves and clients, we use Bitwarden (free, open source) or 1Password. Generate unique 20+ character passwords for every account and never remember them manually.
Additionally, enable two-factor authentication (2FA) for all admin accounts. This single step prevents 99% of brute force attacks because even if someone guesses your password, they can't access your account without your phone.
3. Choose Your Plugins Wisely
Not all plugins are created equal. Some are maintained by professional developers who patch vulnerabilities quickly. Others are abandoned after initial release, accumulating unfixed security holes.
Before installing any plugin, evaluate:
- Last updated: If not updated in 6+ months, be cautious. Security vulnerabilities in older plugins are well-documented.
- Active installations: Popular plugins have more scrutiny. But also more hackers looking for vulnerabilities.
- Ratings and reviews: Complaints about security issues or data handling are red flags.
- Developer reputation: Is this a well-known developer or a one-time uploader?
- Alternative options: Is there a more maintained plugin that does the same thing?
Reduce your attack surface. Every plugin is a potential vulnerability. Remove plugins you don't actively use. The "install and forget" approach costs you later. Audit your plugins quarterly: do you still need this? Is it actively maintained?
For important functionality, choose established plugins with strong track records: Wordfence or Sucuri for security, Yoast or Rank Math for SEO, WooCommerce for e-commerce. These have dedicated security teams and fast patch response times.
4. Secure Your Login Page
The WordPress login page is the most targeted page on your site. By default, it's accessible to anyone at /wp-admin or /wp-login.php. Here's how to protect it:
Limit login attempts: Use a plugin like Wordfence to limit failed login attempts. After 5 failed attempts from the same IP, lock them out for 15 minutes. This makes brute force attacks impractical.
Change the login URL: Default WordPress login URLs are well-known. Plugins like WPS Hide Login let you change /wp-admin to something random. This won't stop determined attackers but will eliminate automated attacks.
Require strong passwords: Use a plugin to enforce password policies. Don't let users set "password123" as their admin password.
Disable XML-RPC: XML-RPC is an older WordPress API that's often exploited for brute force attacks. Unless you specifically need it, disable it. Most hosting providers can do this, or use a security plugin.
Add 2FA: We mentioned this before but it deserves repeating. Two-factor authentication on the login page prevents the vast majority of account compromises.
5. Choose Secure Hosting
Your WordPress security is only as strong as your hosting environment. Shared hosting with poor security practices puts you at risk from neighbors on the same server.
What to look for in secure WordPress hosting:
- Web Application Firewall (WAF): Stops common attacks before they reach your site.
- Malware scanning: Regular scans detect compromises early.
- Uptime monitoring: Detects when your site goes down (usually from attacks).
- Automatic backups: When (not if) something goes wrong, you need clean backups.
- PHP version control: Ability to update PHP versions easily.
- Server-side firewall: Protection at the infrastructure level.
For Indian businesses, we recommend Cloudways (managed cloud hosting with excellent security features), Kinsta (premium managed WordPress with proactive security), or SiteGround (good balance of cost and features). All have WAF, automatic backups, and PHP update capabilities.
If you're on budget shared hosting, at minimum ensure: your host provides SSH access (for secure file management), they offer SSL certificates, and they've some form of server-side malware scanning.
6. Implement SSL/HTTPS
SSL (Secure Sockets Layer) encrypts data between your visitors and your server. Beyond the security benefit, Google confirms HTTPS is a ranking factor, and modern browsers show "Not Secure" warnings for non-HTTPS sites.
Most hosting providers now offer free SSL certificates through Let's Encrypt. If your host doesn't offer free SSL, consider this a serious red flag about their security posture.
After installing SSL:
- Force HTTPS in WordPress settings (Settings > General > WordPress Address and Site Address should start with https://)
- Update internal links from http:// to https://
- Set up 301 redirects from HTTP to HTTPS
- Update CDN settings if using a CDN
Test your SSL installation at ssllabs.com/ssltest. You should get an A or A+ rating. Lower ratings indicate configuration issues that can compromise security.
7. Set Correct File Permissions
WordPress file permissions control who can read, write, and execute files on your server. Incorrect permissions are a common vulnerability, especially on shared hosting.
Standard WordPress file permissions:
- Files (wp-config.php,.htaccess): 644 or 640
- Directories: 755 or 750
- wp-content/uploads: 755 (writable for uploads)
- wp-config.php: 440 or 400 (most restrictive)
Your wp-config.php file contains database credentials and should be the most protected file on your site. Never leave it writable (777), and never set it to 777.
If you're not comfortable adjusting permissions yourself, ask your hosting provider to verify they follow WordPress security recommendations. Most managed WordPress hosts handle this automatically.
8. Regular Backups Are Your Safety Net
No security measure is 100%. When (not if) something goes wrong, clean backups are your recovery path. Without backups, a hacked site might mean rebuilding from scratch and losing all your content, customer data, and SEO equity.
Backup requirements:
- Frequency: Daily minimum. Real-time or hourly for e-commerce sites with frequent transactions.
- Scope: Complete backup including database, files, and media library.
- Storage: Off-site storage (not on the same server as your website). Cloud storage like AWS S3, Google Cloud, or Dropbox.
- Testing: Quarterly, restore a backup to a test environment. Untested backups are worthless.
- Retention: Keep at least 30 days of backups. Ransomware attacks might not be noticed immediately.
Popular backup solutions: UpdraftPlus (free, popular, reliable), WPvivid (good free tier), BlogVault (premium, dedicated backup service). Most managed hosts include automatic backups, verify you're using them and they work.
9. Protect Against Brute Force Attacks
Brute force attacks try thousands of password combinations per second. While you can't stop determined attackers, you can make their automated attacks ineffective.
Must-have brute force protection:
- Limit login attempts: . After 3-5 failures, temporary lockout.
- Two-factor authentication: Game changer. Even with a correct password, attackers need your phone.
- Change default admin username: The "admin" username is the first thing bots try. Create a new admin account with a different username and delete the old admin account.
- Use unique admin URLs: Don't use the default /wp-admin login URL.
- IP-based login restrictions: For high-security sites, restrict admin access to specific IP addresses.
10. Monitor for Security Issues
Security is ongoing, not one-time. New vulnerabilities are discovered regularly. Your site needs ongoing monitoring.
What to monitor:
- Uptime: Tools like UptimeRobot or Pingdom alert you when your site goes down (attacks often cause crashes).
- Malware scanning: Wordfence or Sucuri offer real-time malware scanning. Run full scans weekly.
- File integrity monitoring: Detect unauthorized changes to core WordPress files.
- Login attempts: Review failed login logs regularly. Repeated failures from the same IP indicate scanning or attacks.
- SEO monitoring: If your site gets hacked, Google often deindexes it or marks it unsafe. Google Search Console alerts help you catch this.
Set up Google Search Console notifications for security issues. If Google detects malware on your site, they'll alert you there, usually before you notice any symptoms.
Common WordPress Security Myths (And The Reality)
Myth: "My site is too small to be targeted"
Reality: Attacks are automated. Bots don't care about your site size. They scan millions of sites looking for vulnerabilities, and if your site has one, they'll exploit it. Small business sites are hacked regularly, often because owners assume they're not worth targeting.
Myth: "Security plugins slow down my site"
Reality: Quality security plugins have minimal performance impact. The protection they provide far outweighs any marginal slowdown. Choose well-coded plugins like Wordfence (which offers a firewall and malware scanner) rather than avoiding security altogether.
Myth: "If my host has good security, I don't need to worry"
Reality: Hosting security and WordPress security are different layers. Your host protects the server. WordPress security plugins protect your application. You need both. We've seen sites on premium hosting still get hacked because of outdated plugins, the host's firewall can't protect against application-level vulnerabilities.
The Bottom Line
WordPress security isn't about achieving absolute protection, that's impossible. It's about making your site significantly harder to compromise than the next site. Hackers optimize for easy targets. When your site has basic security hygiene, they move on to easier prey.
Priority actions for this week:
- Install a quality security plugin (Wordfence free tier is excellent)
- Enable two-factor authentication for all admin accounts
- Change your admin password to a strong, unique password using a password manager
- Verify automatic backups are working
- Check for pending plugin updates and install them
If you're technical, implement file permissions and login restrictions this week. If not, focus on the checklist items above — they provide 90% of the protection with minimal effort.
Security is not a one-time task. Set a monthly reminder to review your security posture, check for updates, and verify backups. The 30 minutes per month investment is nothing compared to the cost of a hacked site.