In 2024, attackers took over 591,000 Roku accounts without breaching Roku at all — just by trying leaked email and password pairs. Bots run the same attack against WordPress logins every day.
Learning how to add two-factor authentication to WordPress is the fastest security win available: under ten minutes and free. Microsoft found 99.9% of compromised accounts had no multi-factor authentication enabled.
Why Your WordPress Password Alone Is Not Enough
Breaches leak passwords by the billions, people reuse them, and credential stuffing is fully automated.
A password is one secret, and secrets leak. Two-factor authentication adds a second check an attacker cannot steal from a breach database: a code that only exists on your phone for 30 seconds. For the basics, see our guide on how to secure your WordPress site without a plugin — then add 2FA on top.
How to Add Two-Factor Authentication to WordPress: Pick a Free Plugin
WordPress core still has no built-in 2FA, even in WordPress 7.0 — so you need a plugin. The three best options all have genuinely useful free versions.
| Feature | WP 2FA | Two Factor | Wordfence Security |
|---|---|---|---|
| Active installs | 100,000+ | 100,000+ | 5,000,000+ |
| Authenticator app (TOTP) | Yes, free | Yes, free | Yes, free |
| Email code | Yes, free | Yes, free | No |
| Backup codes | Yes, free | Yes, free | Yes, free |
| Enforce 2FA by role | Yes, free | Basic; forced setup paid | Yes, free |
| Passkeys | See below | Needs separate plugin | No |
| SMS codes | Premium only | No | No |
Any of these three will protect your login. Pick WP 2FA to enforce 2FA across a team, Two Factor for the lightest setup — maintained by WordPress core contributors, with zero upsells — or Wordfence Security if you also want a firewall and malware scanner. Note: the standalone Wordfence Login Security plugin is discontinued July 1, 2026 — use the main Wordfence Security plugin instead.
The Passkey Question: What Is Actually Free?
Passkeys are the strongest login method available: a key on your device, unlocked by fingerprint or face, that cannot be phished because it only works on your site’s real domain. See what passkeys are and how they work in 2026.
But read the fine print. WP 2FA’s WordPress.org listing advertises passkey support, yet Melapress’s own pricing page lists passkeys under Premium (from $79 per year) — so what the free tier includes is ambiguous. The guaranteed free route is Two Factor plus its companion plugin, Two-Factor Provider: WebAuthn.
WP 2FA Setup: Enable 2FA on WordPress in Under 10 Minutes
We will use WP 2FA, whose wizard is the friendliest for beginners.
Step 1: Install and activate. Go to Plugins > Add New, search for “WP 2FA,” click Install Now and Activate. A setup wizard opens — do not skip it.
Step 2: Choose the authenticator-app method. Select Authenticator app (TOTP). It works with Google Authenticator, Microsoft Authenticator, Authy, and 1Password. Email codes work as backup, but the app is faster and works offline.
Step 3: Scan the QR code. Install Google Authenticator on your phone (free on iOS and Android), tap +, choose Scan a QR code, and point your camera at the code the wizard shows. You will see a six-digit code that refreshes every 30 seconds; if scanning fails, type the manual key instead.
Step 4: Save your backup codes FIRST. Before you click Activate, the wizard shows your backup codes. Stop. Save them now — download or print them and store them somewhere that is not your phone, such as a password manager. They are your only way back in if your phone is lost or wiped.
Step 5: Enter the code and activate. Type the current six-digit code into the wizard and click Activate. Log out and back in to test it.
Step 6: Enforce 2FA for other roles. Require 2FA for the Administrator role at minimum — and Editors too on a team site, since anyone who can publish is a target. Give users a short grace period first.
A Real-World Example: The Stolen Password That Went Nowhere
A freelance writer reused her WordPress password on a forum that was later breached. Weeks later, a bot tried that exact pair on her client’s site — and it worked.
But the login stopped cold at the second step. The bot had no authenticator app and no backup code. After a few failed attempts, the site’s brute-force protection — see how to protect WordPress from brute-force attacks — blocked it entirely. That is the point of 2FA: the leak alone is no longer enough.
Is SMS Two-Factor Authentication Safe for WordPress?
SMS 2FA beats no 2FA by a wide margin — but it is the weakest second factor you can choose.
The problem is the delivery channel, not the code. A text travels over the public phone network, and your carrier can reassign your number. In a SIM swap attack, a criminal convinces your carrier to move your number to a SIM they control — then every login code arrives on their phone. The FBI recorded 982 SIM swap complaints in the United States in 2024, with reported losses of about $26 million.
NIST (SP 800-63B) calls phone-network codes a “restricted” authenticator — the only method with that label — and CISA advises highly targeted people against SMS 2FA. Google’s research shows SMS still helps, blocking 100% of bots and 96% of bulk phishing. But an authenticator app beats it on every measure for the same price: nothing. Use the app, keep email codes as a fallback, and skip SMS.
What If You Lose Your Phone? Backup Codes and Lockout Recovery
Losing your phone is an inconvenience, not a catastrophe — but only if you prepared. First, use a backup code (each works once), then re-enroll your new phone and generate fresh codes. Second, use your email code method if you enabled it. Third, ask another administrator to reset your 2FA — one more reason every site should have two admin accounts. Last resort: deactivate the plugin via hosting or FTP by renaming its folder, logging in with your password, then renaming it back.
The golden rule: generate backup codes the day you enable 2FA, store them away from your phone, and test one — an untested recovery plan is just a hope. If you run a client site and want this handled professionally, see our WordPress services or get in touch.
4 Mistakes That Undo a Good 2FA Setup
Protecting only yourself. Your authors use the same login form. Storing backup codes on the same phone as the authenticator app. A lost phone then takes both factors with it. Using SMS because it felt easiest. It is the weakest method. Forgetting time sync. Codes depend on your phone’s clock — set it to automatic.
FAQ: How to Add Two-Factor Authentication to WordPress
Do I need a plugin to add 2FA to WordPress?
Yes. WordPress core has no built-in two-factor authentication, even in WordPress 7.0. WP 2FA, Two Factor, and Wordfence Security all offer authenticator-app 2FA and backup codes free. Install one, scan the QR code, save your backup codes, and you are done in under ten minutes.
What is the best 2FA plugin for WordPress?
WP 2FA is best for teams — free role enforcement with grace periods. Two Factor is the best lightweight option, maintained by WordPress core contributors with no upsells. Wordfence Security is the best all-in-one, bundling free 2FA with a firewall. For passkeys, use Two Factor plus its free WebAuthn companion plugin.
What happens if I lose my phone with the authenticator app?
Log in with a backup code, then disable the old setup and enroll your new phone. If you enabled email codes, use that instead. With no backup codes, ask another admin to reset your 2FA, or deactivate the plugin via hosting as a last resort.
Is SMS two-factor authentication safe for WordPress?
SMS 2FA beats a password alone — Google found it blocked 100% of bots and 96% of bulk phishing — but it is the weakest common second factor, because SIM swaps can redirect your number to an attacker. Use an authenticator app or passkey instead.
Conclusion: Ten Minutes Today Beats a Hacked Site Tomorrow
Learning how to add two-factor authentication to WordPress is the fastest security win available. Pick a free plugin, scan one QR code, save your backup codes, and enforce 2FA for every account that can publish.
Your password will leak someday. That is not a prediction; it is a statistic. What decides whether that leak becomes a hacked site is the second factor behind it. Set it up today and test a backup code.