WordPress plugin intelligence profile

WPS Protect: Login URL & Security Headers

Move your login URL, stop brute-force attacks, and send HTTP security headers on every response. Lightweight, cache-friendly, no bloat.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version2.0.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.2 · PHP 7.2
Directory statusactive
Last directory update15 Aug 20262mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records WPS Protect: Login URL & Security Headers version 2.0.0 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

WPS Protect combines the three defences most WordPress sites install three separate plugins for — a hidden login URL, brute-force rate limiting, and HTTP security headers — into one lightweight plugin with no upsells and no performance overhead.

Login URL protection

  • Move wp-login.php to a slug of your choice.
  • Choose what the old login URL returns: a 404, your home page, a custom URL, or a plain message.
  • Slugs are validated before they are saved, against reserved WordPress paths, existing pages and post-type archives, so you cannot make your own content unreachable.
  • Signed-out visitors to /wp-admin/ are sent to your login page with their destination preserved, instead of hitting a dead end.
  • AJAX, admin-post.php and REST endpoints stay reachable, so front-end forms, carts and the block editor keep working.
  • Password-protected posts, logout links, and password-reset emails all continue to work.

Emergency access

Losing your login URL should never mean editing the database. Three independent recovery routes:

  • A one-time rescue URL that works from any page on your site.
  • define( 'WPSP_DISABLE_LOGIN_GATE', true ); in wp-config.php.
  • WP-CLI: wp wpsp login-url, wp wpsp set-slug, wp wpsp disable-gate.

The site administrator is emailed whenever the rescue URL is used.

Brute-force protection

  • Escalating lockouts — the second offence lasts longer than the first.
  • Tracks attempts per IP address and per username, so a distributed attack on one account is still caught.
  • Covers every way WordPress checks a password: the login form, XML-RPC, the REST API, Application Passwords, WooCommerce and BuddyPress.
  • system.multicall is disabled, closing the XML-RPC amplification trick that turns one request into hundreds of password guesses.
  • Requests to your old login URL count as attacks — nothing legitimate knows that address any more.
  • Proxy-aware: forwarding headers are trusted only from proxy ranges you configure, so nobody can spoof a header to dodge the limiter or get themselves allowlisted.
  • Optional honeypot field, and generic error messages so the login and lost-password forms stop confirming which accounts exist.
  • Locked-out requests return 429 with Retry-After, so Cloudflare, Fastly or fail2ban can shed the attack at the edge.

Security headers

  • X-Frame-Options, X-Content-Type-Options, Referrer-Policy, X-XSS-Protection, X-Permitted-Cross-Domain-Policies, Strict-Transport-Security, Content-Security-Policy (including Report-Only), Permissions-Policy, Cross-Origin-Opener-Policy, Cross-Origin-Resource-Policy and CORS.
  • Headers are sent on the front end, the login screen, the dashboard and REST responses — not just the front end.
  • Safe defaults: only headers that suit essentially every site are on out of the box. CSP, HSTS, Permissions-Policy and CORS ship switched off with a recommended value pre-filled, because guessing those breaks real sites.
  • Every value is validated against header injection before it is saved, and risky settings are flagged with an explanation rather than silently accepted.
  • HSTS is only sent over a secure connection and only after you confirm your subdomains are ready.

HTTPS enforcement

  • Redirects insecure requests, honouring forwarding headers from trusted proxies so sites behind Cloudflare or a load balancer do not loop.
  • Form submissions redirect with 307, so no data is lost.
  • Cannot be switched on from an insecure dashboard session, which is the usual way people lock themselves out.
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • brute force
  • hide login
  • security headers
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.2 · PHP 7.2
Update activity15 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.