Royal MCP GuardPress ForgeCache SiteVault Royal Links SEObolt FormForge Royal Affiliates Support Case Studies AI Credits My Account Cart

Get the PDF Version

Print it out, check items off, and share with your team.

Check your email for the download link!

Core WordPress

8 items

Keep WordPress core updated Critical GuardPress

Always run the latest version of WordPress. Core updates patch security vulnerabilities that attackers actively exploit.

Update all plugins regularly Critical GuardPress

Outdated plugins are the #1 attack vector for WordPress sites. Enable auto-updates or check weekly.

Update all themes Critical

Themes with known vulnerabilities are common entry points. Keep your active theme and any parent themes updated.

Set correct file permissions High

Directories should be 755, files should be 644, and wp-config.php should be 600 or 640. Incorrect permissions allow unauthorized modification.

Disable debug mode in production High

Set WP_DEBUG to false on live sites. Debug output exposes file paths, database queries, and PHP errors to attackers.

Remove default "admin" username High

The "admin" username is the first thing brute-force bots try. Create a unique administrator username and delete the default one.

Use latest PHP version Medium

Older PHP versions (7.x and below) no longer receive security patches. Run PHP 8.1+ for both security and performance.

Disable WordPress version exposure Low GuardPress

Remove the WordPress version number from your site's HTML source. Knowing your version helps attackers target specific exploits.

Authentication & Access

8 items

Enforce strong passwords Critical

Require passwords with at least 12 characters, mixed case, numbers, and symbols. Weak passwords are the easiest entry point for attackers.

Enable two-factor authentication Critical GuardPress

Add TOTP-based 2FA for all administrator and editor accounts. Even if a password is compromised, 2FA blocks unauthorized access.

Limit login attempts Critical GuardPress

Lock out IP addresses after 3-5 failed login attempts. This stops brute-force attacks that try thousands of password combinations.

Change the default login URL High GuardPress

Move /wp-admin and /wp-login.php to a custom URL. This eliminates automated bot traffic targeting the default login page.

Use unique salts and security keys High

Regenerate the authentication keys in wp-config.php. These encrypt cookie data and session tokens.

Review user roles and permissions Medium

Audit all user accounts quarterly. Remove inactive accounts, downgrade unnecessary admin access, and ensure each user has the minimum required role.

Disable user registration (if unused) Medium

If your site doesn't need public registration, disable it in Settings → General. Open registration is an easy target for spam accounts.

Set session timeout for idle users Low

Auto-logout users after 15-30 minutes of inactivity. This prevents unauthorized access from unattended browsers.

Firewall & Network

7 items

Install a web application firewall (WAF) Critical GuardPress

A WAF blocks SQL injection, XSS, and other common attacks before they reach your site. This is your first line of defense.

Disable XML-RPC High GuardPress

XML-RPC allows remote authentication and is commonly exploited for brute-force amplification attacks. Disable it unless you use the WordPress mobile app or Jetpack.

Restrict REST API access High GuardPress

The REST API exposes user information by default. Block unauthenticated access to /wp-json/wp/v2/users to prevent user enumeration.

Block suspicious IP addresses Medium GuardPress

Maintain a blocklist of known malicious IPs. A good security plugin will auto-block IPs after suspicious activity.

Enable rate limiting Medium GuardPress

Limit the number of requests per IP to prevent abuse. Target login pages, admin-ajax, and API endpoints.

Block country-specific traffic (if applicable) Low GuardPress

If your audience is region-specific, block traffic from countries where you don't do business to reduce attack surface.

Disable pingbacks and trackbacks Low

Pingbacks can be used for DDoS amplification attacks. Disable them in Settings → Discussion unless actively used.

File Security

6 items

Disable file editing in wp-admin Critical GuardPress

Add define('DISALLOW_FILE_EDIT', true); to wp-config.php. If an attacker gains admin access, they can't inject malware through the built-in editor.

Prevent directory listing High GuardPress

Add Options -Indexes to your .htaccess file. Without this, anyone can browse your directory structure and find vulnerable files.

Protect wp-config.php High

Move wp-config.php one directory above your web root, or add server rules to deny direct access. This file contains your database credentials.

Secure .htaccess file Medium

Prevent direct access to .htaccess via server rules. A compromised .htaccess can redirect all traffic to malicious sites.

Block PHP execution in uploads folder Medium GuardPress

Add a .htaccess rule to wp-content/uploads/ that denies PHP execution. Malware often hides as uploaded PHP files.

Restrict access to wp-includes Low

Block direct access to wp-includes directory from the browser. These core files should only be loaded internally by WordPress.

Database

5 items

Change the default table prefix High GuardPress

Change wp_ to a unique prefix. SQL injection attacks often target the default prefix to access known table names.

Schedule regular database backups Critical

Back up your database daily. Store backups off-site (cloud storage or remote server). Test restores quarterly to ensure backups work.

Clean up post revisions and transients Low

Remove old post revisions, expired transients, and spam comments. A bloated database is slower and harder to back up.

Restrict database user permissions Medium

Your WordPress database user should only have SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, and DROP permissions. Never grant GRANT or SUPER privileges.

Use a unique database name Low

Don't use "wordpress" or "wp" as your database name. A unique name makes it harder for attackers to target your database in shared hosting environments.

Monitoring & Response

6 items

Enable activity logging Critical GuardPress

Log all login attempts, user actions, plugin changes, and settings modifications. Activity logs are essential for detecting and investigating breaches.

Configure uptime monitoring High GuardPress

Get instant alerts when your site goes down. Downtime can indicate an active attack, server compromise, or failed update.

Set up file integrity monitoring High GuardPress

Monitor core files, plugins, and themes for unauthorized changes. File integrity checks detect injected malware before it causes damage.

Run regular malware scans High GuardPress

Schedule automated malware scans at least weekly. Catch infections early before they spread or get your site blocklisted by Google.

Configure email alerts for suspicious activity Medium GuardPress

Set up real-time email notifications for failed login spikes, new admin users, plugin installations, and file changes.

Create an incident response plan Medium

Document what to do when a breach occurs: who to contact, how to isolate the site, where backups are stored, and how to restore.

SSL & Security Headers

4 items

Force HTTPS everywhere Critical

Install an SSL certificate and redirect all HTTP traffic to HTTPS. This encrypts all data between your visitors and your server.

Enable HSTS (HTTP Strict Transport Security) High GuardPress

HSTS tells browsers to always use HTTPS, preventing SSL stripping attacks and insecure downgrades.

Add Content Security Policy (CSP) header Medium GuardPress

CSP prevents cross-site scripting (XSS) by controlling which scripts, styles, and resources the browser is allowed to load.

Set X-Frame-Options and X-Content-Type-Options Medium GuardPress

X-Frame-Options prevents clickjacking by blocking your site from being embedded in iframes. X-Content-Type-Options prevents MIME type sniffing attacks.

Plugins & Themes

3 items

Remove unused plugins and themes Critical

Deactivated plugins and themes can still be exploited if they contain vulnerabilities. Delete anything you're not actively using.

Only install from trusted sources Critical

Use WordPress.org, verified developers, or reputable marketplaces. Never install nulled (pirated) plugins — they almost always contain backdoors.

Audit active plugins quarterly Medium GuardPress

Review every installed plugin: is it still maintained? Does it have known vulnerabilities? Is it actually being used? GuardPress's vulnerability scanner automates this check.

Download the PDF Checklist

Take it offline. Print it. Share it with your team or clients.

Check your email for the download link!

Automate Your Security Hardening

GuardPress Pro handles 25+ of these 47 checks automatically. Install it once and your WordPress security runs on autopilot.

Frequently Asked Questions

What is WordPress hardening?

WordPress hardening is the process of reducing the attack surface of your WordPress site by applying security best practices. This includes keeping software updated, securing authentication, configuring firewalls, protecting files, hardening the database, and monitoring for threats.

How often should I review my WordPress security?

You should review your WordPress security at least quarterly. Critical items like updates and backups should be checked weekly. Use this checklist as a recurring audit tool to ensure nothing is missed.

Can I automate WordPress security hardening?

Yes. Security plugins like GuardPress Pro can automate many hardening tasks including firewall rules, login protection, file integrity monitoring, vulnerability scanning, and security header configuration. Manual items like reviewing user accounts still require human oversight.

Is this checklist suitable for beginners?

Yes. Each item includes a brief explanation of what it does and why it matters. Items are sorted by severity (Critical, High, Medium, Low) so you can prioritize the most important security measures first.