There is a whole desktop behind this site.
Windows, a media player, games: the full xudiyev.com experience.
Open desktop mode
Khayal Khudiyev
QA Engineering · UX/UI Design · Web Development · AI-Powered Solutions
Home › Blog

WordPress Security Checklist: 20 Steps to Protect Your Site

Published 2025-02-13 · 5 min read

A working checklist for hardening a WordPress site, logins, files, database, hosting and monitoring, written from what actually breaks on sites in production.

WordPress Security Checklist: 20 Steps to Protect Your Site

Most hacked WordPress sites I get called about were not targeted. They were found by a bot scanning for a known plugin version, a weak admin password, or an unprotected wp-config.php. Nothing sophisticated, just the doors nobody locked.

This is the checklist I work through on every site I build or take over. I have delivered 50+ WordPress sites across corporate, healthcare and e-commerce projects, and I now spend my days as a QA engineer breaking software on purpose. Both jobs teach the same lesson: attackers go for the cheapest way in, so you close the cheap ways in first.

Work top to bottom. The first section alone stops the large majority of automated attacks.

Secure Your WordPress Login and Admin Panel

Your login page is the first place hackers try to break in. Here’s how to lock it down.

Use Strong Login Credentials

It sounds obvious, but many people still use weak passwords like “password123” or “admin” as their username. Don’t do this!

Instead: Use a unique username (not “admin” or your domain name). Set a long, complex password with a mix of uppercase, lowercase, numbers, and special characters. Use a password manager like LastPass or Bitwarden to generate and store secure passwords.

Hackers use automated bots to guess your credentials, don’t make it easy for them!

WordPress login screen with a custom admin URL instead of wp-admin

Enable Two-Factor Authentication (2FA)

Even if a hacker gets your password, they won’t get past 2FA. Two-factor authentication (2FA) requires an extra verification step, like a code from an authenticator app (Google Authenticator, Authy).

How to enable it?

  • Install a security plugin like WP 2FA, Google Authenticator, or Wordfence.
  • Activate 2FA for admin accounts (and other users if needed).
  • Use an authentication app instead of SMS for better security.
Two-factor authentication settings in the WordPress dashboard

Change the Default Login URL

By default, WordPress login pages are at /wp-admin or /wp-login.php, and hackers know this.

Solution: Change the login URL using a plugin like WPS Hide Login.

Instead of yourwebsite.com/wp-admin, you could use something like: yourwebsite.com/secret-login-page (just don’t forget it!)

Limit Login Attempts

Brute-force attacks involve hackers trying multiple username/password combinations until they get in. Protect your WordPress site by doing this

Fix this by:

  • Installing Limit Login Attempts Reloaded or Login Lockdown.
  • Setting a limit (e.g., 3-5 failed attempts before blocking the IP).

This makes it much harder for hackers to brute-force their way in!

Automatically Log Out Idle Users

Leaving an admin account logged in for too long is risky, someone could hijack the session.

Set up auto-logout for inactive users with a plugin like Inactive Logout. Choose a reasonable time limit (e.g., 15-30 minutes of inactivity).

This prevents unauthorized access if you ever leave your computer unattended.

Protect Your WordPress Files and Database

Your database stores everything, from posts to user information. If a hacker gets in, they can cause serious damage. This is essential WordPress security tip.

Secure the wp-config.php File

The wp-config.php file holds critical database credentials. To protect it:

Restrict access by adding a deny rule for wp-config.php to your .htaccess file.

Then move wp-config.php one directory above the web root. WordPress still finds it there, and the web server cannot serve it.

Disable File Editing from WordPress Dashboard

If a hacker gains admin access, they can inject malicious code into theme and plugin files.

Prevent this by adding this line to wp-config.php:

This removes the ability to edit files from within WordPress.

Change the Default Database Prefix

WordPress databases use wp_ as a prefix by default, making them vulnerable to SQL injections.

To improve security: Change the prefix from wp_ to something random (e.g., mywp_abc123). Use security plugins like WP-DBManager to rename existing tables.

Restrict PHP Execution in Sensitive Folders

Hackers sometimes upload malicious PHP files to execute attacks. To disable PHP execution in folders like /uploads/, add this to a new .htaccess file inside those folders:

Disable XML-RPC

XML-RPC is an outdated feature that allows remote connections but is often exploited for brute-force attacks.

To disable it, add this to .htaccess:

Or just use a security plugin to turn it off!

Enhance WordPress Hosting and Server Security

Choose a Secure Hosting Provider

Not all hosting providers are secure. Choose one that offers: Daily backups Built-in firewalls & malware scanning DDoS protection

Some great options: Hostinger, SiteGround, Kinsta, WP Engine.

Set Up File & Folder Permissions

Files and folders should have the correct permissions to prevent unauthorized access:

  • Folders: 755
  • Files: 644
  • wp-config.php: 600 (extra secure!)

Enable an SSL Certificate

SSL encrypts data between your site and visitors, protecting logins, payments, and personal info. WordPress security rely on this.

Free SSL: Let’s Encrypt (available on most hosts). Premium SSL: Offers higher security and warranties ($10,000+ coverage).

SSL certificate settings in the Hostinger hPanel control panel

Regular Website Maintenance and Monitoring

Keep WordPress, Themes, and Plugins Updated

WordPress updates patch security holes, so always update:

  • Core WordPress (enable auto-updates if possible).
  • Themes & plugins (delete unused ones!).

Outdated software = an open door for hackers.

Deleting unused plugins from the WordPress plugins screen

Monitor User Activity and Security Logs

Keep an eye on who logs in and what they do using plugins like: WP Activity Log Sucuri Security

If something looks suspicious, take action immediately!

Run Malware Scans Regularly

Use security plugins like:

  • Wordfence (firewall + malware scanner)
  • Sucuri (website firewall)
  • MalCare (auto malware removal)

Create Regular Backups

If your site gets hacked, a recent backup can save you.

Use UpdraftPlus, BlogVault, or Jetpack for automatic backups. Store backups offsite (Google Drive, Dropbox).

Final Thoughts: Strengthen Your WordPress Security Today

Security Checklist: Strong passwords & 2FA Secure hosting & SSL Update everything regularly Scan for malware & create backups

Cybersecurity is an ongoing process. But with these steps, your WordPress site will be far more secure.

Now it’s your turn! Want a perfect WordPress website by experts? Contact me now!

Related

See how I build and maintain WordPress sites in the portfolio, or read what is included in WordPress development and SEO.

More posts

AI can draft your test cases in seconds. Whether those cases find anything is a different question. What a year of using AI tools inside a real QA job actually changed.

AI writes the code in seconds. Someone still has to find out whether it works. A QA engineer’s view of what vibe coding actually costs, and how to use AI tools without shipping their mistakes.

Ten UX/UI trends worth knowing, sorted by whether they change what you actually build or just what design blogs look like this year.

AI can lay out a screen, read behaviour data and run usability checks. It cannot decide what the product should be. A practical look at where the line sits.