WordPress runs 40%+ of the web, which makes it a prime target for bots and brute-force attacks. Most hacks come from outdated plugins, weak passwords, or poor access control all preventable with good management.
This article outlines core WordPress security best practices and adds modern authentication and network-level defenses for admins managing multiple installs (non-multisite setups).
Securing WordPress in 2025 means combining smart maintenance, layered authentication, and host-level hardening.
The following recommendations bring together proven best practices with modern authentication tools and trusted management platforms.
Core and Plugin Maintenance
- Delete unused plugins and themes. Even deactivated code can be exploited.
- Never use nulled or pirated software. They often contain malware or backdoors.
- Check plugin reviews and rating. I recommend only free plugins screened by WordPress in the repository.
- Use a staging site for testing updates before pushing changes live.
- Regularly back up your entire site (files + database) — preferably offsite.
- ManageWP is one of the best WordPress management systems for automated backups, updates, and monitoring across multiple sites.
- Jetpack (by Automattic) also includes reliable backups, uptime monitoring, and malware scanning integrated with WordPress.com.
User Access and Authentication
- Avoid “admin” as a username. Use something unique and non-identifiable.
- Use strong, random passwords stored in a password manager.
- Enable Two-Factor Authentication (2FA) using a trusted plugin such as Wordfence Login Security or Two-Factor Plugin. Require 2FA for all administrator and editor accounts.
- Add WebAuthn for hardware key support. Install the WebAuthn Add-on for the Two-Factor plugin to enable physical key authentication (e.g., YubiKey or Titan Key). This protects against phishing and stolen password attacks.
- Implement SSO (Single Sign-On) for single especially multiple standalone WordPress sites using: MiniOrange SSO, or WordPress.com SSO (if your hosting and user management go through WordPress.com / Automattic). A centralized authentication method simplifies user management and improves security consistency.
- Disable WordPress Recovery Mode login if you’re an advanced user or developer. Recovery mode exposes a temporary login bypass — disable it via wp-config.php if you maintain full server access.
Login and Access Control
- Use Wordfence Login Security for 2FA and login rate limiting.
- Limit login attempts (3–5 tries) to prevent brute-force attacks.
- Use reCAPTCHA v3 (the invisible version) on login, registration, and comment forms to silently block bots.
- Change your login URLs from /wp-login.php and /wp-admin to something unique.
- Auto-logout idle users after 15–30 minutes of inactivity.
- Restrict access by IP or location.
- Create a Must-Use (MU) plugin that only allows specific IPs or countries to reach the login page.
- Combine with VPN access for a stronger perimeter.
- Enable HTTPS (SSL) everywhere. Use Let’s Encrypt or your host’s SSL feature and force HTTPS in settings.
- Disable XML-RPC unless specifically required by integrations (e.g., Jetpack or app connections). It is best to limit access if required.
Server, File, and Database Security
- Lock down wp-config.php and wp-admin. Move it one level above the web root and set permissions to 600.
- Disable file editing in the admin dashboard. Add this to wp-config.php:
define('DISALLOW_FILE_EDIT', true);
- Set secure file permissions: folders 755, files 644. Never use 777.
- Change the default database prefix from wp_ to something random.
- Disable directory browsing by adding Options -Indexes to .htaccess.
- Disable PHP error display in production. Use:
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
- Set secure file permissions: folders 755, files 644. Never use 777.
- WP version up to date. Use PHP 8.1+ or higher for better performance and security.
Network and Hosting
- Choose a security-focused host that includes:
- malware scanning
- isolated environments
- offsite backups
- 24/7 support
- Hosts with built-in container or chroot isolation provide better protection against cross-account attacks.
- Use a Web Application Firewall (WAF) such as Cloudflare, Sucuri, Jetpack or your host’s built-in firewall to block malicious traffic and bots.
- Note: Cloudflare plugin has APO optimization settings.
- By default WordPress sets your robots.txt file but you can edit the file to block AI training bots, search engines and additional pages you do not want indexed.
- Add a Content Delivery Network (CDN) to absorb DDoS traffic and hide your origin IP.
- Add Security Headers such as:
- Content-Security-Policy
- X-Frame-Options
- X-XSS-Protection
- Jetpack Protect (part of Automattic) offers additional scanning, brute-force protection, and secure authentication linked to WordPress.
- Keep WordPress core, plugins, and themes updated. Updates close known vulnerabilities do not delay applying them. You can enable and disable use auto updates for plugins and themes in the WordPress admin.
- Monitor activity logs to track changes and detect suspicious admin actions.
Advanced Hardening
- Use a strong host (recommend WordPress.com) + management suite combo is a great option: ManageWP is a popular choice especially with multiple sites.
- Harden database access: assign minimal privileges and enable encryption if your host supports it.
- Disable file editing and recovery mode, rely on secure SFTP or Git for code deployment.
- Prepare an incident response plan. Document how to restore from backup, rotate credentials, and communicate in case of compromise.
Quick Overview
Securing WordPress in 2025 is no longer just about avoiding hacks — it’s about building a sustainable, well-managed system that stays protected. Strong security starts with simple updates, trusted plugins, responsible hosting, and consistent management.
To summarize the key recommendations:
- Keep everything updated (core, plugins, PHP).
- Use 2FA + WebAuthn hardware keys for admin logins.
- Protect logins with Wordfence Login Security + reCAPTCHA v3. Require users two-factor authentication.
- Manage multiple sites and backups with ManageWP.
- Add Jetpack Protect for scans and extra brute-force prevention.
- Secure your host, enforce HTTPS, and block unwanted IPs via custom must-use plugin.
- Disable recovery mode login for advanced users.
Closing Thoughts
WordPress security today is about foresight, not reaction. When you combine strong authentication, automated management, and a trusted host, you create a WordPress environment that’s not only secure but built to stay that way.
Over the years, we’ve learned this firsthand starting out managing our own servers and trying to handle everything beyond the application layer. It quickly became clear that there’s a reason server administrators and cybersecurity experts exist. You actually save money and time by leaving those responsibilities to professionals. As a site owner, your primary focus should be on content and growth, but understanding these recommendations and best practices will help you make smarter decisions and enhance your WordPress security.

