WordPress Security

How to protect WordPress effectively: a must-do list


A must-do list to get high-security and durable protection for your website.

To get the most out of WP Cerber’s security algorithms, your should configure all the settings below. Do this thoughtfully because some settings may conflict with another plugin or your web server settings. In case of any problem, check the Activity log for related events such as denied requests or blocked IP addresses. Please note that some of the features described below are available in the professional version only.

1. Enable automatic updates

Regular updates of WP Cerber are crucial for strong WordPress security, as we continuously enhance its algorithms, implement protection against emerging threats, and fix software bugs. You can enable them in a couple of clicks: How to enable automatic updates for WP Cerber.

2. Check main settings

  1. Go to the “Main Settings” page
  2. Set Load security engine” to “Standard mode”
  3. Configure “Custom login URL”
  4. Set “Processing wp-login.php authentication requests” to “Block access to wp-login.php” or, which is more advanced, to “Deny authentication through wp-login.php”
  5. Enable “Immediately block IP when attempting to log in with a non-existing username”
  6. Enable “Disable dashboard redirection”
  7. Optionally enable “Immediately block IP after any request to wp-login.php”

3. Activate security policies on the Hardening tab

The minimal set of the settings you have to enable in the Hardening WordPress section:

  1. “Stop user enumeration”
  2. “Prevent username discovery via oEmbed”
  3. “Prevent username discovery via user XML sitemaps”
  4. “Block access to user pages via their usernames”
  5. “Block execution of PHP scripts in the WordPress media folder”
  6. “Disable PHP error displaying”
  7. “Disable XML-RPC”

The following settings are recommended to be enabled in the Access to WordPress REST API section:

  1. “Stop user enumeration / Block access to user data via REST API”
  2. “Disable REST API”
  3. “Allow REST API for logged in users”

Read more: Restrict access to REST API

4. Enable Traffic Inspector firewall

  1. Set “Enable traffic inspection” to “Maximum security”
  2. Set “Enable error shielding” to “Maximum security”

5. Enable scheduled malware scans and automatic malware removal

On the Settings tab, the following settings should be enabled

  1. “Scan temporary directory”
  2. “Scan session directory”

On the Cleaning up tab:

  1. You have to enable: “Delete unattended files”, “Recover WordPress files”, “Recover plugins files”
  2. All checkbox in the “Files in the uploads folder” settings should be checked

6. Enable anti-spam protection even if you think you don’t need it

On the Antispam engine tab, we advise you to enable the following settings:

  1. “Comment form (Protect comment form with bot detection engine)”
  2. “Registration form (Protect registration form with bot detection engine)”
  3. “Other forms (Protect all forms on the website with bot detection engine)”

7. Use GEO rules: block countries you’re not going to have a deal with

On the Security Rules admin page, configure GEO policies for countries that are permitted to interact with your website: submitting forms, being able to log in or register, etc. These settings do not prevent search engines from indexing the website.

8. Rename the WordPress plugins folder

Changing the name of the plugins folder is one of the most underestimated ways that make your WordPress protection stronger. And yet it’s free and easy.

Read more: How to rename the WordPress plugins folder

9. Enable Two-Factor Authentication

To protect user accounts, enable two-factor authentication (2FA). It provides an additional layer of security requiring a second factor of identification beyond just a username and password.

Read more: How to enable two-factor authentication for WordPress

Have any questions?

If you have a question regarding WordPress security or WP Cerber, leave them in the comments section below or get them answered on the community forum.

Spotted a bug or glitch?

We’d love to fix it! Share your bug discoveries with us here: Bug Report.


I'm a software engineer and team lead at Cerber Tech. I started coding in 1993 on IBM System/370 and today software engineering at Cerber Tech is how I make my living.

View Comments