WordPress Plugin

Frontend Auth for
WordPress & Elementor

Secure, accessible login, registration, and password recovery forms that live on your actual site — not wp-login.php.

WordPress 6.5+
PHP 8.0+
Elementor Optional
License GPL-2.0
Everything you need, nothing you don't
🔒

Complete Auth Flow

Login, registration, lost password, and password reset — all handled on your frontend with proper nonce verification and WordPress hook compatibility.

Elementor Widgets

Four native Widget_Base widgets with full Elementor style controls, V4 compatibility, dynamic content flagging, and Theme Builder integration via real WordPress pages.

🛡

Rate Limiting

Configurable per-IP lockout after failed attempts. Uses transients with anonymised IP hashing. Protects login, registration, lost-password, and reset-password forms.

🕷

Honeypot Protection

Rotating hidden field (hourly key rotation via HMAC) catches bots. Trapped submissions get a fake success response — bots never know they failed.

🔌

AJAX Forms

Optional no-reload form submission. Inline error display, loading spinners, and automatic redirect on success — all configurable from the admin panel.

🌐

URL Rewriting

All wp-login.php links across your entire site — login_url, logout_url, lostpassword_url, site_url — are transparently rewritten to your frontend pages.

👥

Multisite Ready

Network activation support. Per-site settings, signup/activation URL rewriting, and automatic option seeding for new sub-sites via wp_initialize_site.

3rd-Party Compatible

Fires standard WordPress hooks (login_form, register_form, etc.) so 2FA, CAPTCHA, and social login plugins render their fields inside your forms automatically. MCP Bridge and OAuth flows are transparently exempted from URL rewriting.

Accessible

ARIA roles, aria-required, aria-live regions for errors, focus-visible outlines, and translatable password-strength labels. Clean, semantic HTML throughout.

🔁

Cache-Aware

Automatically excludes auth pages from LiteSpeed Cache, Super Page Cache, WP Rocket, W3 Total Cache, and WP Super Cache. Purges stale 404s on plugin update. Sends no-store HTTP headers as a universal fallback.

📌

Smart Redirects

Fully honours ?redirect_to= on both virtual and Elementor pages. Subscribers are blocked from wp-admin and sent to a configurable destination. Privileged users always land where they intended.

Drag, drop, done
Widget Panel Name Key Controls
wpfa-login Login Form Custom labels, placeholders, toggle text, link URLs, redirect URL, remember me. Honors ?redirect_to= from URL.
wpfa-register Registration Form Custom labels, placeholders, toggle text, link URL, redirect URL, strength meter
wpfa-lost-password Lost Password Form Custom label, placeholder, link URL, redirect URL
wpfa-reset-password Reset Password Form Custom labels, placeholders, toggle text, invalid-link message, request-link URL
Up and running in 60 seconds
# Upload and activate
wp plugin install wp-frontend-auth.zip --activate

# Rewrite rules flush automatically on first load (v1.4.16+)
# Run manually if needed:
wp rewrite flush

# Optional: create real pages for Elementor Theme Builder
# (or use the "Create Missing Pages" button in Settings)

# Optional: enable AJAX forms and user-chosen passwords
wp option update wpfa_use_ajax 1
wp option update wpfa_user_passwords 1

# Optional: customise subscriber post-login destination
add_filter( 'wpfa_subscriber_redirect', fn() => home_url( '/dashboard/' ) );

# That's it. Visit /login/ on your site.