Security Hardener
by Marc Armengou 0 (0 reviews)

Security Hardener

Hardens WordPress with secure headers, login protection, user enumeration blocking, rate limiting, and a built-in security checklist.

Security Hardener ranks #11,728 among WordPress.org plugins with 200+ active installations, is #704 of 5,058 in the Security category, and was last updated Oct 28, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Compatible with WP 7.1.4
v2.4.7 Current Version v2.4.7
Updated 1 week ago Last Update on 28 Oct, 2026
Refreshed 6 days ago Last Refreshed on
#704 of 5,058 in Security Top 25% by installs Downloads -59.1% this week Actively maintained
View on WordPress.org
Rank
#11,728
— No change
Active Installs
200+
-23.7%
KW Avg Position
110
0.5 worse
Downloads
2.8K
+10 today
Support Resolved
0%
— No change
Rating
0%
Review 0 out of 5
0 (0 reviews)

Next Milestone 300

Total Progress 66%
200+ 300+
742
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 34 more installs to reach 300+

Rank Changes

11,142 11,435 11,728 12,021 12,314 29-10-2026 30-10-2026 31-10-2026 01-11-2026 02-11-2026 03-11-2026 04-11-2026 05-11-2026
11,694 11,768 11,842 11,915 11,989 21-10-2026 22-10-2026 23-10-2026 24-10-2026 25-10-2026 26-10-2026 27-10-2026 28-10-2026 29-10-2026 30-10-2026 31-10-2026 01-11-2026 02-11-2026 03-11-2026 04-11-2026 05-11-2026
Current #11,728
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

10 20 30 40 50 29-10-2026 30-10-2026 31-10-2026 01-11-2026 02-11-2026 03-11-2026 04-11-2026 05-11-2026
0 50 100 150 21-10-2026 22-10-2026 23-10-2026 24-10-2026 25-10-2026 26-10-2026 27-10-2026 28-10-2026 29-10-2026 30-10-2026 31-10-2026 01-11-2026 02-11-2026 03-11-2026 04-11-2026 05-11-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

0.0
0 reviews
Overall 0%
5
0 (0%)
4
0 (0%)
3
0 (0%)
2
0 (0%)
1
0 (0%)

Security History

Source: WPVulnerability

No known vulnerabilities on record for Security Hardener. Checked 3 months ago.

TL;DR

AI summary of the plugin's readme

This plugin is for WordPress site owners and administrators who want to reduce their site's attack surface without editing core files. It addresses common attack vectors like login brute-forcing, user enumeration, XML-RPC abuse, and missing security headers.

  • Login honeypot
  • IP-based rate limiting
  • Blocks author enumeration queries
  • Disables XML-RPC
  • Secures REST API user endpoints
  • Security headers (X-Frame-Options, HSTS)
  • Hides WordPress version
  • Security event logging

Frequently Asked Questions

Common questions about Security Hardener

Everything is enabled by default except: disabling all file modifications, blocking author feeds, anonymizing the oEmbed author, HSTS (with its subdomains and preload options), and deleting data on uninstall. Rate limiting blocks an IP address for 15 minutes after 5 failed attempts. You can review and change every option under Settings > Security Hardener.
Two defaults can affect integrations: XML-RPC is disabled, and Application Passwords are disabled. If you use Jetpack, the WordPress mobile app, or other tools that rely on them, turn off Disable XML-RPC and/or Disable Application Passwords under Settings > Security Hardener.
No. The plugin uses lightweight WordPress hooks and native functions. Security headers add negligible overhead, and rate limiting only checks transients during login attempts.
Blocks are per IP address and expire automatically after your configured block duration (default: 15 minutes). Wait for the block to expire, try from a different IP address, or: Access your database (phpMyAdmin, etc.) Search the options table for names containing wpsh_login_ Delete those transient options Try logging in again If your site uses a persistent object cache (Redis, Memcached), flush the cache instead.
By default, rate limiting uses REMOTE_ADDR. If your site is behind a trusted proxy, add the proxy's exact IP addresses to wp-config.php (IP ranges in CIDR notation are not supported): define( 'WPSH_TRUSTED_PROXIES', array( '203.0.113.10', '203.0.113.11' ) ); For requests coming from those addresses, the plugin will then read the HTTP_CF_CONNECTING_IP (Cloudflare) or HTTP_X_FORWARDED_FOR header.
It depends on the cache. Security headers are added by PHP when WordPress builds a response, so a full-page cache that serves pages without running PHP (some server-level caches do) may skip them. Check your response headers with your browser's developer tools and, if they are missing, add them at the server level.
Yes, but watch for overlaps. If another plugin also sends security headers you may get duplicates (usually harmless). If it also blocks user enumeration or limits login attempts, enable only one of them to avoid confusion.
No. The plugin only requires login to read user-related endpoints, and WordPress's own permission checks still apply. All other REST API functionality, including public endpoints like oEmbed, works normally.
When you uninstall (not just deactivate) the plugin, data is preserved by default. If you enable Delete all data on uninstall under Settings > Security Hardener > Other settings, uninstalling deletes all plugin settings, security logs, and checklist progress. Temporary login-attempt data is not deleted right away: it expires on its own within 24 hours at most, and WordPress removes it automatically. Deactivating the plugin always preserves all settings.
Not required, but strongly recommended. HSTS requires HTTPS, and for maximum security your entire site should use HTTPS with a valid certificate.

Sign In / Register

You need to sign in or register to use this feature.