Two Factor
The Two-Factor plugin adds an extra layer of security to your WordPress login by requiring users to provide a second form of authentication in addition to their password. This helps protect against unauthorized access even if passwords are compromised. Setup Instructions Important: Each user must individually configure their two-factor authentication settings. For Individual Users Navigate to your profile: Go to “Users” → “Your Profile” in the WordPress admin Find Two-Factor Options: Scroll down to the “Two-Factor Options” section Choose your methods: Enable one or more authentication providers (noting a site admin may have hidden one or more so what is available could vary): Authenticator App (TOTP) – Use apps like Google Authenticator, Authy, or 1Password Email Codes – Receive one-time codes via email Backup Codes – Generate one-time backup codes for emergencies Dummy Method – For testing purposes only (requires WP_DEBUG) Configure each method: Follow the setup instructions for each enabled provider Set primary method: Choose which method to use as your default authentication Save changes: Click “Update Profile” to save your settings For Site Administrators Plugin settings: The plugin provides a settings page under “Settings → Two-Factor” to configure which providers should be disabled site-wide. User management: Administrators can configure 2FA for other users by editing their profiles Security recommendations: Encourage users to enable backup methods to prevent account lockouts Available Authentication Methods Authenticator App (TOTP) – Recommended Security: High – Time-based one-time passwords Setup: Scan QR code with authenticator app Compatibility: Works with Google Authenticator, Authy, 1Password, and other TOTP apps Best for: Most users, provides excellent security with good usability Backup Codes – Recommended Security: Medium – One-time use codes Setup: Generate 10 backup codes for emergency access Compatibility: Works everywhere, no special hardware needed Best for: Emergency access when other methods are unavailable Email Codes Security: Medium – One-time codes sent via email Setup: Automatic – uses your WordPress email address Compatibility: Works with any email-capable device Best for: Users who prefer email-based authentication FIDO U2F Security Keys Deprecated and removed due to loss of browser support. Dummy Method Security: None – Always succeeds Setup: Only available when WP_DEBUG is enabled Purpose: Testing and development only Best for: Developers testing the plugin Important Notes HTTPS Requirement All methods work on both HTTP and HTTPS sites Browser Compatibility TOTP and email methods work on all devices and browsers Account Recovery Always enable backup codes to prevent being locked out of your account If you lose access to all authentication methods, contact your site administrator Security Best Practices Use multiple authentication methods when possible Keep backup codes in a secure location Regularly review and update your authentication settings For more information about two-factor authentication in WordPress, see the WordPress Advanced Administration Security Guide. For more history, see this post. Actions & Filters Here is a list of action and filter hooks provided by the plugin: two_factor_providers filter overrides the available two-factor providers such as email and time-based one-time passwords. Array values are PHP classnames of the two-factor providers. two_factor_providers_for_user filter overrides the available two-factor providers for a specific user. Array values are instances of provider classes and the user object WP_User is available as the second argument. two_factor_enabled_providers_for_user filter overrides the list of two-factor providers enabled for a user. First argument is an array of enabled provider classnames as values, the second argument is the user ID. two_factor_user_authenticated action which receives the logged in WP_User object as the first argument for determining the logged in user right after the authentication workflow. two_factor_user_api_login_enable filter restricts authentication for REST API and XML-RPC to application passwords only. Provides the user ID as the second argument. two_factor_email_token_ttl filter overrides the time interval in seconds that an email token is considered after generation. Accepts the time in seconds as the first argument and the ID of the WP_User object being authenticated. two_factor_email_token_length filter overrides the default 8 character count for email tokens. two_factor_backup_code_length filter overrides the default 8 character count for backup codes. Provides the WP_User of the associated user as the second argument. two_factor_rest_api_can_edit_user filter overrides whether a user’s Two-Factor settings can be edited via the REST API. First argument is the current $can_edit boolean, the second argument is the user ID. two_factor_before_authentication_prompt action which receives the provider object and fires prior to the prompt shown on the authentication input form. two_factor_after_authentication_prompt action which receives the provider object and fires after the prompt shown on the authentication input form. two_factor_after_authentication_input action which receives the provider object and fires after the input shown on the authentication input form (if form contains no input, action fires immediately after two_factor_after_authentication_prompt). two_factor_login_backup_links filters the backup links displayed on the two-factor login form. Redirect After the Two-Factor Challenge To redirect users to a specific URL after completing the two-factor challenge, use WordPress Core built-in login_redirect filter. The filter works the same way as in a standard WordPress login flow: add_filter( 'login_redirect', function( $redirect_to, $requested_redirect_to, $user ) { return home_url( '/dashboard/' ); }, 10, 3 );
Top keywords
- user21×2.38%
- authentication19×2.15%
- factor14×1.59%
- two14×1.59%
- two factor14×1.59%
- two-factor14×1.59%
- codes12×1.36%
- filter12×1.36%
- backup11×1.25%
- email11×1.25%
- security10×1.13%
- argument9×1.02%
Shield Security – Smart Bot Blocking, Brute-Force Login Protection & File Scanning
Most security plugins hand you a dashboard full of alerts and expect you to know what to do next. Shield works differently. It blocks threats automatically, repairs what it can on its own, and then shows you exactly what still needs your attention — ranked by impact, not volume. Less noise. More action. 🤖 Security That Runs Itself The most powerful thing Shield does is what it handles without you: Automatic IP Blocking — every visitor is quietly scored as they interact with your site. Failed logins, firewall blocks, silentCAPTCHA failures, and other signals accumulate into a reputation score. When a visitor’s score crosses the threshold, Shield blocks them — automatically, without you lifting a finger Automatic File Repair — when a file integrity scan finds a changed WordPress core file, Shield pulls the original from WordPress.org and restores it. Detected and fixed, without waiting for you to act Automatic Bot Recognition — Shield identifies legitimate crawlers (Google, Bing, DuckDuckGo, Yandex, Apple) and known services (ManageWP, Pingdom, Stripe, CloudFlare) and never blocks them. Your SEO and monitoring tools keep working 🧭 Guided Security, Not Just a Dashboard Shield organises your security into four focused areas so you always know where to look: Queue — things that need your attention, ranked by priority. Not everything at once — just what matters right now Investigate — dig into blocked IPs, security events, and the specific signals that triggered each one Configure — guided setup for each protection area, with clear recommendations matched to your site Reports — a clear view of what Shield has blocked, detected, and repaired over time The goal: guide you quickly towards action, not bury you in data. 🛡️ Free Protection Bot Blocking & Firewall silentCAPTCHA — blocks bad bots on login, registration, lost password, and comment forms using passive signals invisible to real visitors. No CAPTCHA keys. No external requests. No JavaScript that breaks your forms. Everything runs on your server (GDPR friendly). Firewall rules blocking common WordPress attack patterns — SQL injection probes, known exploit signatures, suspicious request parameters XML-RPC protection — disable or restrict entirely, including pingbacks and trackbacks REST API firewall — block unauthenticated requests Fake crawler detection — identifies bots spoofing legitimate search engines Login & Account Security Two-factor authentication (2FA) — email codes, Google Authenticator, or YubiKey OTP for all users Brute force protection with configurable login attempt limits and cooldown Session locking — tie sessions to a browser or IP to stop account theft after a successful login User enumeration blocking — closes off ?author= probes used to harvest usernames before an attack Scanning & Integrity Core file scanning — compares WordPress core against official checksums and repairs changed files automatically Suspicious PHP detection — flags PHP files in locations where they have no business being Abandoned plugin detection — identifies unmaintained plugins most likely to carry unpatched vulnerabilities Visibility & Control Security Admin PIN — lock Shield’s own settings so other administrators cannot quietly weaken your configuration Security activity log — logins, user changes, plugin and theme events, post edits, and suspicious requests: Everything in one clear view IP Rules — automatic & manual block and bypass rules, CIDR range support, full per-IP request history 🤝 CrowdSec Integration Shield is the only WordPress security plugin with a native CrowdSec integration. CrowdSec aggregates threat signals from millions of sites into a shared IP reputation network — your site blocks known attackers before they ever probe you, using intelligence far beyond your own traffic history. ✨ ShieldPRO Passkeys — phishing-resistant, passwordless login for users Backup login codes — emergency 2FA access when a device is lost AI-based malware scanner — detects known and unknown PHP malware Plugin & theme file scanning — compares installed files against WordPress.org originals, flagging unauthorised changes Vulnerability scanning — active checks across all installed plugins and themes Broader spam protection — WooCommerce, EDD, Contact Form 7, Ninja Forms, Elementor, and more Traffic rate limiting — cap request rates per IP to absorb high-volume bot floods User suspension — manual or automatic suspension of idle accounts MainWP integration White Label — rename and rebrand Shield for client sites Who It’s For Shield suits site owners, agencies, and MSPs who want protection that runs itself — not a plugin that demands constant attention to be useful. If you have been burned by security plugins that generate more noise than protection, or dashboards that tell you everything is wrong without telling you what to fix, Shield was built to be the alternative.