Features
Every module, in detail.
Silverback Login has eight coordinated modules that address specific credential-lifecycle failure modes. This page walks through each one: what it does, why it matters, and how it holds up when something else in your stack breaks.
Access control
Hide the login URL.
Every WordPress site ships with the login page at /wp-login.php and the admin
at /wp-admin/. Every bot on the internet knows this. A typical WordPress site
catches hundreds of automated login attempts per day just because those two paths are
predictable.
Silverback Login replaces both with a custom slug you choose (or one we generate). The
default generator combines two words from a curated list of neutral English nouns
(cedar-river, harbor-moss, aurora-falcon) giving
about 14,400 unique combinations. The plugin name never appears in the URL, so a scanner
can't fingerprint Silverback from the slug itself.
Anonymous visitors who hit the old /wp-login.php or /wp-admin/
URLs get a clean 404 (or a redirect to your homepage or a custom URL, your choice). The
plugin never rewrites WordPress core files — it intercepts at the request layer using
standard hooks, so deactivation restores the default behavior instantly.
A Regenerate button next to the slug field mints a fresh two-word slug via AJAX. You can keep clicking until you like one; the change isn't saved until you hit Save Changes. Any time the slug is set or updated, every administrator on the site gets an email with the new URL — no more losing the URL because you forgot to write it down.
Authentication
Email two-step verification.
A hidden URL cuts bot noise. It doesn't stop the real threat: someone who obtained a legitimate password (phishing, reused-elsewhere, dumped in a breach) trying to use it. For that you need a second factor.
Silverback Login sends a 6-digit code to the user's email after a correct password. The code is stored server-side as a hash, expires in 10 minutes, is rate-limited on resends, and can be attempted up to 5 times before the session is invalidated. Email as the default because every WordPress user already has an email address — no setup, no separate app to install.
A "trust this device for 30 days" checkbox on the verification form drops an
HMAC-signed cookie, so the same browser doesn't re-prompt for 30 days. The cookie is
bound per-user via wp_salt('auth'), revocable, and capped at 10 trusted
devices per user to prevent accumulation.
Emergency exit: if outbound email breaks and you can't receive the code, add
define( 'SILVERBACK_DISABLE_2FA', true ); to wp-config.php.
2FA disengages until you remove the line. Documented up front because SMTP outages
are the number-one lockout scenario for any 2FA plugin.
Password lifecycle
Breach screening, reuse prevention, optional rotation.
Modern security guidance (NIST 800-63B) tells you the passwords themselves matter more than how often you rotate them. Silverback Login implements both the modern controls (breach screening, reuse prevention) and the traditional one (rotation) — so you can match either regime.
Breached-password screening (HIBP)
Every new password validation query runs against the Have I Been Pwned password database via the k-anonymity range API. The plugin SHA-1s the password locally, sends only the first 5 hash characters over the wire, and receives back a list of full-hash suffixes to compare against. The full password — and even its full hash — never leaves your server.
Always on. No setting. If the password has appeared in any known breach, the user is told to choose another. If HIBP is unreachable (rare, but happens), validation fails open — the password is allowed through. Blocking legitimate password resets because an external API had a bad afternoon isn't a security win.
Last-5 reuse prevention
The user's last five password hashes are kept in a per-user meta record and compared on every password change. If the new password matches any of the last five, it's rejected. Always on, no setting, local storage — never touches an external API, never stops working.
Forced rotation
Optional. Dropdown lets you pick 3, 6, 9, or 12 months. When a user's password reaches the interval, they're gated to the profile screen on their next admin page load and held there until they save a new password. The gate is O(1) — a single global timestamp check, no per-user loop, scales to any site size.
Account lifecycle
Inactive-account lock.
Forced rotation only affects users who come back to log in. It never touches the dormant accounts that just stopped visiting — the ones where a leaked credential would sit unnoticed for years. Silverback Login closes that gap with an optional inactive-account lock.
A daily WordPress cron scans users in batches of 500. Any non-administrator account
whose last login is older than your configured threshold (default 6 months) gets
flagged with a _silverback_locked meta record. Locked accounts see a
generic error message on login and cannot complete authentication.
Administrators are never auto-locked. When one or more accounts are locked in a scan run, every administrator gets a single batch summary email listing the affected users and unlock instructions. One email per cron run, not per user — so a site with 50 stale accounts doesn't blast every admin with 50 messages.
Emergency response
Force-all password reset, with optional session kill.
Under normal operation, forced rotation is enough. But for breach response — you got a disclosure notice, a credential leaked, an attacker was in the system — you need a bigger hammer.
One button under Settings → Silverback Login → Login tab: Force all users to change password on next login. Click it, confirm the dialog, and every user (including you, the admin who clicked) is gated to the profile screen at their next admin page load until they pick a new password. Backed by a single global timestamp — no per-user database walk, scales to any user count.
For a suspected active breach, there's a checkbox next to the button: Also
immediately end every active session. When ticked, the handler iterates every
user and destroys every active session token via WordPress's built-in
WP_Session_Tokens API. The clicking admin's current session is preserved
so they can complete their own password change. Browser tabs of every other signed-in
user lose their cookie at the next request.
Recovery
Multiple ways back in if things go wrong.
The biggest support risk for any login-security plugin is the site owner locking themselves out. We designed Silverback Login with a graduated recovery path so you always have at least one way back in.
- Email. The login URL is emailed to every administrator on activation and on every slug change. Search your inbox for "Login URL."
- Hosting panel. Plesk's WordPress Toolkit, WP Engine, Kinsta, Cloudways, SpinupWP, and most managed hosts have a one-click "Log in to WordPress" feature that bypasses the URL entirely using filesystem-level auth tokens.
- WP-CLI. If you have SSH access:
wp option get silverback_options --format=jsonand look for thelogin_slugfield. - Direct database.
phpMyAdmin→wp_options→ search forsilverback_options— the value is a serialized array containing your slug. - Emergency constant. Add
define( 'SILVERBACK_DISABLE_HIDE_LOGIN', true );towp-config.phpand defaultwp-login.phpaccess is restored until you remove the line. - Rename the folder. Last resort — rename
/wp-content/plugins/silverback-login/via FTP or your hosting file manager. The plugin is disabled but your settings persist for when you rename it back.
Design philosophy
Correct by default, small settings surface.
Most security plugins bury critical behavior behind dozens of toggles nobody reads. Silverback Login has two settings screens. That's the whole admin UI.
Login screen: custom URL slug, redirect target, email 2FA toggle, per-role 2FA scope, force-all-users reset button.
Policy screen: forced password rotation interval, inactive account lock enable and threshold.
Breach screening, reuse prevention, trusted-device cookies, rate limiting, batch admin notifications, force-reset gate — always on. Not toggleable. We picked the correct answer once and locked it in.
How we compare
Silverback Login vs the alternatives.
Two adjacent categories of WordPress security plugins exist: the hide-login specialists and the big all-in-one suites. Silverback Login fills the gap between them — deeper on credential lifecycle than the specialists, more focused than the suites.
| Feature | Silverback Login | WPS Hide Login | Wordfence / iThemes |
|---|---|---|---|
| Hide login URL | Yes, with regenerate | Yes | Some do (Defender, AIOS) |
| Email 2FA | Built in | No | Yes (paid tier for some) |
| HIBP breach screening | Always on | No | No |
| Last-N password reuse prevention | Always on | No | No |
| Forced password rotation | Optional, configurable | No | Some do (paid) |
| Inactive account lock | Optional, batch email alerts | No | No |
| Force-all password reset | One click, optional session kill | No | Manual per-user |
| Firewall / malware scan | No (out of scope) | No | Yes (that's their focus) |
| Setting screens to learn | 2 | 1 | Many (10+) |
If you already run Wordfence or a similar suite for firewall and malware scanning, you can keep it — just turn off its 2FA and hide-login features so they don't collide with Silverback Login. Silverback focuses on the credential layer; the big suites focus on the request layer. They complement each other.
Ready to try it
Download Silverback Login.
Free. No account. No license key. No paid tier. Download the plugin, upload to WordPress, activate. The defaults do the rest.