Skip to content
William Alexander
  • Home
  • Case Studies
  • Personal Projects
  • Articles
  1. Home
  2. Articles
  3. WordPress Security Hardening: A 2026 Checklist
WordPress Enterprise

WordPress Security Hardening: A 2026 Checklist

Practical steps to protect your WordPress site from today's threats

September 20, 2025 12 min read

Key Takeaways

  • Keep everything updated—WordPress core, themes, and plugins within 48 hours of security releases
  • Use strong, unique passwords and enforce two-factor authentication for all admin users
  • Choose quality hosting with server-level security, not bargain shared hosting
  • Limit login attempts, change default usernames, and hide the admin login URL
  • Implement automated backups stored off-site—tested regularly for restoration
Overview

Why WordPress Security Matters

WordPress powers 43% of all websites. That ubiquity makes it the most targeted CMS on the planet. Every day, automated bots scan millions of WordPress sites looking for vulnerabilities to exploit.

The good news: WordPress core is secure and actively maintained. The bad news: most WordPress sites aren't. They run outdated software, use weak passwords, and rely on vulnerable plugins. These sites get hacked—frequently.

We didn't think we were important enough to hack. Then our site started sending spam to our entire customer list. The reputation damage took months to repair.

Owner, E-commerce Business

Attackers don't discriminate by site size. They use automated tools that exploit any vulnerable site they find. Your site doesn't need to be valuable—it just needs to be vulnerable.

This checklist covers the security measures that actually matter, organized from essential basics to advanced hardening. Start at the top and work your way down.

Foundation

Level 1: Essential Security Basics

These measures are non-negotiable. If you're not doing these, stop reading and do them now.

☐ Keep Everything Updated

80% of hacked WordPress sites were running outdated software. Updates fix known vulnerabilities that attackers actively exploit.

  • WordPress core: Enable automatic updates for minor versions; update major versions within a week
  • Themes: Update immediately when available; delete unused themes
  • Plugins: Update immediately; delete unused plugins entirely (deactivated isn't enough)
  • PHP version: Run a supported PHP version (8.1+ in 2026)

The 48-Hour Window

When a vulnerability is publicly disclosed, attackers begin mass-scanning within hours. Critical security updates should be applied within 48 hours—not "when you get around to it."

☐ Use Strong Passwords

Weak passwords are the easiest attack vector. Enforce password policies:

  • Minimum 16 characters with mixed case, numbers, and symbols
  • Unique passwords for every account (use a password manager)
  • Never reuse passwords across sites
  • Change passwords when team members leave

☐ Enable Two-Factor Authentication (2FA)

2FA blocks 99.9% of automated account compromises. Require it for all admin and editor accounts.

  • Use authenticator apps (Google Authenticator, Authy) over SMS
  • Provide backup codes for account recovery
  • Consider hardware keys (YubiKey) for high-security sites

☐ Implement Reliable Backups

Backups are your last line of defense. When everything else fails, backups let you recover.

  • Automate daily backups (database and files)
  • Store backups off-site (not on the same server)
  • Retain multiple backup versions (30 days minimum)
  • Test restoration quarterly—untested backups aren't backups

☐ Use HTTPS Everywhere

SSL/TLS is mandatory, not optional. It encrypts data in transit and is required for modern browser features.

  • Install a valid SSL certificate (Let's Encrypt is free)
  • Force HTTPS redirects for all traffic
  • Update internal links to use HTTPS
  • Set up automatic certificate renewal
Hardening

Level 2: Access Control

Limit who and what can access your WordPress installation.

☐ Secure the Login Page

  • Change the login URL: Move /wp-admin and /wp-login.php to a custom URL
  • Limit login attempts: Block IPs after 3-5 failed attempts
  • Add CAPTCHA: Stops automated login bots
  • Disable login hints: Don't reveal whether username or password was wrong

☐ Manage User Accounts Properly

  • Never use "admin" as a username
  • Give users the minimum role they need (principle of least privilege)
  • Audit user accounts quarterly; remove inactive accounts
  • Use email addresses, not generic usernames

☐ Protect wp-config.php

This file contains your database credentials and security keys. Protect it:

  • Move wp-config.php above the web root (if hosting allows)
  • Set file permissions to 400 or 440
  • Block access via .htaccess or nginx config
  • Use unique authentication keys and salts

☐ Disable File Editing

WordPress allows editing theme and plugin files from the admin panel. Disable this—if an attacker gains admin access, they shouldn't be able to modify code.

Add to wp-config.php:

wp-config.php php
define( 'DISALLOW_FILE_EDIT', true );
Infrastructure

Level 3: Server-Level Security

Some security measures require server access or quality hosting.

☐ Choose Secure Hosting

Your host is your first line of defense. Quality WordPress hosting includes:

  • Server-level firewalls and malware scanning
  • Automatic WordPress updates
  • Regular server software updates
  • DDoS protection
  • Isolated environments (not shared with hundreds of other sites)
  • 24/7 security monitoring

You Get What You Pay For

$5/month hosting can't provide enterprise security. Quality managed WordPress hosting (WP Engine, Kinsta, Flywheel) costs $25-100/month but includes security features that would cost more to implement yourself.

☐ Configure Security Headers

HTTP security headers protect against common attacks. Add these to your server configuration:

  • Content-Security-Policy: Prevents XSS attacks
  • X-Frame-Options: Prevents clickjacking
  • X-Content-Type-Options: Prevents MIME sniffing
  • Strict-Transport-Security: Enforces HTTPS
  • Referrer-Policy: Controls referrer information
  • Permissions-Policy: Controls browser features

☐ Protect Sensitive Directories

Block direct access to directories that shouldn't be publicly accessible:

  • /wp-includes/
  • /wp-content/uploads/ (block PHP execution)
  • .htaccess, .git, and other dotfiles
  • readme.html and license.txt (reveal version info)

☐ Implement a Web Application Firewall (WAF)

A WAF filters malicious traffic before it reaches WordPress:

  • Cloudflare (free tier available)
  • Sucuri Firewall
  • Host-provided WAF (many managed hosts include this)
Operations

Level 4: Monitoring and Response

Security isn't set-and-forget. Active monitoring catches issues before they become disasters.

☐ Implement Security Monitoring

  • File integrity monitoring (alerts on unexpected file changes)
  • Login attempt monitoring
  • Uptime monitoring
  • Malware scanning (daily automated scans)

☐ Review Logs Regularly

  • Check security plugin logs weekly
  • Review access logs for suspicious patterns
  • Monitor for new admin users or role changes
  • Watch for unusual traffic spikes

☐ Have an Incident Response Plan

Know what to do if you're hacked:

  1. Identify and contain the breach
  2. Preserve evidence (don't immediately delete everything)
  3. Restore from clean backup
  4. Identify and fix the vulnerability
  5. Change all passwords and keys
  6. Notify affected parties if required
  7. Document lessons learned
Vetting

Plugin Security

Plugins are the most common source of WordPress vulnerabilities. Choose wisely.

Before Installing a Plugin, Check:

  • Last updated: Avoid plugins not updated in 6+ months
  • Active installations: More users means more scrutiny
  • Reviews and ratings: Read recent reviews for security mentions
  • Support responsiveness: Do developers address security reports?
  • Compatibility: Tested with current WordPress and PHP versions
  • Developer reputation: Known developers or companies

Plugin Security Best Practices:

  • Use the minimum number of plugins necessary
  • Remove (don't just deactivate) unused plugins
  • Prefer plugins from the official repository or trusted commercial vendors
  • Never use nulled (pirated) premium plugins—they often contain malware
  • Subscribe to vulnerability databases (WPScan, Wordfence) for alerts

Nulled Plugins = Malware

Pirated "nulled" premium plugins and themes are the easiest way to infect your site. They cost nothing because they're designed to compromise your site. Never use them.
Summary

The Security Checklist

Here's the complete checklist in one place. Print it, share it, use it.

Essential (Do Now)

  • ☐ WordPress core updated to latest version
  • ☐ All themes updated; unused themes deleted
  • ☐ All plugins updated; unused plugins deleted
  • ☐ PHP version 8.1 or higher
  • ☐ Strong passwords for all accounts
  • ☐ Two-factor authentication enabled
  • ☐ Automated daily backups configured
  • ☐ Backup restoration tested
  • ☐ HTTPS enforced site-wide

Important (Do Soon)

  • ☐ Login URL changed from default
  • ☐ Login attempts limited
  • ☐ "admin" username eliminated
  • ☐ User roles audited (least privilege)
  • ☐ File editing disabled
  • ☐ wp-config.php protected
  • ☐ Security plugin configured

Advanced (Do When Possible)

  • ☐ Security headers configured
  • ☐ Sensitive directories protected
  • ☐ WAF implemented
  • ☐ File integrity monitoring enabled
  • ☐ Incident response plan documented

Frequently Asked Questions

Is WordPress secure enough for business websites?

Yes, when properly configured and maintained. WordPress core is regularly audited and patched. Most vulnerabilities come from outdated software, weak passwords, poorly coded plugins, and misconfigured hosting—all preventable with proper practices.

What are the most common WordPress security threats in 2026?

Brute force login attacks, vulnerable plugins, outdated software, and compromised admin credentials remain the top threats. Increasingly, attackers target supply chain vulnerabilities in plugin dependencies and exploit AI to craft more convincing phishing attacks.

How often should WordPress security updates be applied?

Critical security updates should be applied within 24-48 hours. Enable automatic updates for minor releases. Test major updates on staging first, but don't delay more than a week. The window between vulnerability disclosure and mass exploitation is shrinking.

Do I need a WordPress security plugin?

A security plugin can help, but it's not magic. Choose one reputable plugin (Wordfence, Sucuri, or iThemes Security) and configure it properly. Multiple security plugins create conflicts. Most importantly, don't rely solely on plugins—follow security best practices.
WordPress Security Web Development Enterprise Best Practices
William Alexander

William Alexander

Senior Web Developer

25+ years of web development experience spanning higher education and small business. Currently Senior Web Developer at Wake Forest University.

Related Articles

WordPress Enterprise

Why Your WordPress Site Is Slow (And How to Fix It)

10 min read
Higher Ed Web

What Marketing Directors Need to Know About Website Maintenance

8 min read

Need help securing your WordPress site?

I offer security audits and hardening services for businesses that take their web presence seriously.

© 2026 williamalexander.co. All rights reserved.