Two-factor authentication for WordPress

Add a second step to every WordPress login with email one-time codes or authenticator apps. Free, with per-role enforcement, encrypted secrets and brute-force lockouts built in.

SMS codes, backup codes, trusted devices and the 2FA audit log are Pro.

3
built-in methods: email codes, TOTP and HOTP apps
5
failed attempts before a 15-minute lockout
Per role
enforcement: require 2FA for exactly the roles you choose
Encrypted
2FA secrets stored encrypted in your database

What it does

A stolen or guessed password stops being enough to get into your site. After entering their password, users confirm the login with a one-time code, from an email or from an authenticator app on their phone.

You decide who has to use it. Enforcement is per role, so you can require 2FA for administrators and editors while leaving subscribers untouched.

How it works

The free plugin ships three verification methods. Email one-time codes work with zero setup for any user with a working inbox. Authenticator apps use the open TOTP and HOTP standards, so Google Authenticator, Authy, 1Password, Bitwarden and any other standards-based app all work.

Code entry is rate-limited: five failed attempts trigger a 15-minute lockout, so 2FA codes cannot be brute-forced. Authenticator secrets are stored encrypted in your database, and XML-RPC logins can be restricted so the second factor cannot be bypassed through the older API.

  • Email one-time codes, no app required
  • TOTP and HOTP authenticator apps
  • Per-role enforcement
  • 5-attempt limit with a 15-minute lockout
  • Encrypted secret storage
  • XML-RPC login restriction option

Free today, deeper with Pro

Everything above ships in the free plugin on WordPress.org. Pro extends the same module for teams: SMS codes through your own Twilio account, backup codes for when a phone is lost, trusted devices that skip the second step on hardware you approve, and a 2FA audit log of enrollments and verifications.

If you ever lock yourself out, recovery does not require touching the database: renaming the plugin folder over SFTP disables the plugin and restores standard logins.

Documentation

Login authentication overview

How the authentication modules fit together.

Read the guide →

Email one-time codes

Set up email OTP for any user.

Read the guide →

Authenticator apps

Enroll TOTP and HOTP apps.

Read the guide →

Settings and enforcement

Per-role rules, lockouts and recovery.

Read the guide →

Users and sessions

Manage who is enrolled and signed in.

Read the guide →

Two-factor authentication questions

Which authenticator apps are supported?

Any app that implements the open TOTP or HOTP standards: Google Authenticator, Authy, 1Password, Bitwarden, Microsoft Authenticator and others.

What happens if I lose access to my second factor?

Rename the plugin folder over SFTP to disable the plugin and log in normally, then re-enable it. Pro adds backup codes so users can recover themselves.

Are SMS codes included in the free plugin?

No. Free covers email codes and authenticator apps. SMS codes through your own Twilio account are part of Pro.

Can 2FA be bypassed through XML-RPC?

The plugin includes an option to restrict XML-RPC logins, closing the classic bypass route for the older API.

Related features

Pro

Passkeys & passwordless

Passkeys/WebAuthn with role enforcement, magic links and trusted devices.

Learn more →
Pro

SMS 2FA

Text-message codes through your own Twilio account.

Learn more →
Free

Brute-force limiting

Escalating lockouts for failed logins, with an emergency recovery URL.

Learn more →

All features →

Secure your site today

Install the free plugin from WordPress.org and set up real protection with the guided setup wizard. Upgrade to Pro whenever you need more.