Skip to content
WordPress.org

Lëtzebuergesch

  • Themes
  • Plugins
  • Neiegkeeten
  • Iwwert
  • Kontakt
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Web-Art Login Shield with reCAPTCHA

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Web-Art Login Shield with reCAPTCHA

By WEB-ART Creative Design
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

Description

Web-Art Login Shield with reCAPTCHA is a focused security plugin that protects WordPress authentication, Elementor Login widgets and Elementor Forms against automated attacks.

It strengthens wp-login.php, Elementor Login and Elementor Forms by integrating Google reCAPTCHA v2 verification and optional IP-based rate limiting, without replacing or modifying WordPress core authentication logic.

The plugin is intentionally lightweight and transparent:
– no ads
– no telemetry or analytics sent to the author
– no third-party dashboards provided by the plugin
– no all-in-one security suite overhead

All login protection modules (reCAPTCHA, Login Protect, Advanced login URL) are opt-in and disabled by default.

Additionally, the plugin can apply a small XML-RPC hardening rule-set (disables a few high-risk XML-RPC methods) to reduce common abuse vectors. This does not disable XML-RPC completely. XML-RPC hardening is applied only when Login Protect is enabled and “Protect XML-RPC logins” is enabled.

Each module (reCAPTCHA, Login Protect, Advanced login URL) can be enabled independently. Elementor reCAPTCHA options require reCAPTCHA to be configured and verified.

Key Features

reCAPTCHA v2 integration

  • reCAPTCHA v2 checkbox for wp-login.php (when enabled and IP is not allowlisted)
  • automatic frontend injection for Elementor Login widgets (when enabled)
  • optional frontend injection for Elementor Forms (Elementor Pro) (when enabled)
  • server-side token verification for WordPress login and Elementor Forms validation
  • reCAPTCHA IP allowlist (allowlisted IPs bypass reCAPTCHA checks on wp-login.php, Elementor Login and Elementor Forms; Login Protect may still apply)
  • Google reCAPTCHA scripts are not loaded for allowlisted IPs
  • Elementor frontend scripts inject reCAPTCHA only when they detect relevant widgets/forms in the DOM (supports dynamically loaded content, popups, AJAX, etc.)
  • reCAPTCHA must be verified before enabling protection

Login Protect (IP-based lockouts)

  • failed login attempt counting per IP address
  • timed lockouts after a configurable threshold
  • separate allowlists for reCAPTCHA and Login Protect (exact IP match only)
  • recent security event log (stored locally)
  • blocked IP list (lockouts expire automatically after the configured lockout time)
  • optional protection for authentication attempts via XML-RPC and REST API (applies only when the corresponding checkbox is enabled; Login Protect must be enabled)
  • three practical protection modes:
    • MODE 1 – reCAPTCHA only
    • MODE 2 – reCAPTCHA + Login Protect
    • MODE 3 – Login Protect only

XML-RPC hardening (optional)

  • optionally disables a small set of high-risk XML-RPC methods commonly abused by attackers:
    • pingback.ping
    • pingback.extensions.getPingbacks
    • system.multicall
  • XML-RPC hardening is applied only when Login Protect is enabled and “Protect XML-RPC logins” is enabled
    This reduces abuse without disabling XML-RPC entirely.

Advanced login URL (optional)

  • single toggle enables Advanced login behavior
  • custom login endpoint (rewrites requests to the standard WordPress login handler without altering core authentication logic)
  • when Advanced is enabled, wp-login.php and wp-admin are protected for non-authenticated visitors
  • protection behavior is configured via two required fields:
    • Custom login URL slug (example: “secure-login-1234”)
    • Default redirect slug (recommended: “404” to display the active theme’s 404 page)
  • both fields are required when Advanced is enabled (saving is blocked if any field is empty)
  • if fields are empty when enabling Advanced, the plugin auto-generates a secure random login slug and sets the redirect slug to the recommended default
  • protection applies only to non-authenticated users (logged-in users can still access wp-admin and wp-login.php)
  • safe fallback handling to avoid logout loops (wp-login.php?action=logout remains accessible)

Elementor compatibility

  • Elementor Login: reCAPTCHA widget is injected on the frontend and verified during WordPress authentication.
  • Elementor Login: Smart logout handling that prioritizes Elementor’s native “Redirect After Logout” setting. If Elementor’s redirect is not set, the plugin’s redirect rule is used.
  • Elementor Forms (Pro): reCAPTCHA token is validated during the Elementor form validation phase. Invalid or missing tokens block submission.
  • Custom Alignment: Ability to set Left, Center, or Right alignment for reCAPTCHA in both Elementor Login and Elementor Forms directly from plugin settings.

Technical Design Principles

  • Fail-closed security model (scoped)
    If reCAPTCHA verification cannot be completed and reCAPTCHA protection is enabled for the given login or form, the request is rejected to reduce the risk of automated bypass.
    Administrators can always regain access by disabling the feature in plugin settings or by deactivating the plugin via hosting or FTP.

  • Non-intrusive defaults
    Login protection modules remain disabled until explicitly enabled by an administrator.

  • Conflict awareness
    If another plugin injects reCAPTCHA into login or form flows, it should be disabled to avoid duplicate widgets or verification conflicts.

External Services

This plugin integrates with Google reCAPTCHA v2, an external service provided by Google LLC.

reCAPTCHA features are disabled by default. The plugin does not load reCAPTCHA scripts or send verification requests unless an administrator enables reCAPTCHA protection and/or uses the “Verify reCAPTCHA” test in the plugin settings.

Google’s reCAPTCHA JavaScript (https://www.google.com/recaptcha/api.js) may be loaded on:
– wp-login.php (when reCAPTCHA is enabled and the visitor IP is not allowlisted)
– the frontend (when Elementor Login protection is enabled and a non-allowlisted visitor loads the page; injection occurs only if Elementor Login widgets are detected in the DOM)
– the frontend (when Elementor Forms protection is enabled and a non-allowlisted visitor loads the page; injection occurs only for Elementor Forms)
– the plugin settings page only when an administrator runs the “Verify reCAPTCHA” test (if provided in the UI)

When a visitor (or admin during verification) completes the reCAPTCHA challenge:
– a verification token (g-recaptcha-response) is generated in the browser
– during server-side verification on your website, the token and the configured Secret Key are sent to:
https://www.google.com/recaptcha/api/siteverify
– the visitor’s IP address is sent to Google as the remoteip parameter when it is available on the server

The plugin sends the g-recaptcha-response token to Google only when the protected form is submitted (login attempt / form submission) or when an administrator runs the “Verify reCAPTCHA” test.
The plugin does not send usernames, passwords, email addresses, or any form field contents to Google — only the reCAPTCHA token, the configured Secret Key, and the visitor IP address (remoteip) when available.

The plugin does not store or process any data returned by Google beyond the verification result, and it does not send any telemetry, analytics, or usage data to the plugin author.

Note: Google reCAPTCHA may set cookies and collect additional device and usage data in the visitor’s browser, as described in Google’s privacy policy and terms. Site owners are responsible for disclosing this in their site privacy policy and obtaining consent where required by applicable law.

Google privacy policies apply:
– https://policies.google.com/privacy
– https://policies.google.com/terms

Privacy

This plugin does not send telemetry, analytics or usage data to the plugin author or any third party.

Local data stored by the plugin (for security purposes only):
– IP addresses related to login attempts / lockouts (Login Protect)
– timestamps of failed attempts and lockouts
– last username associated with a locked IP (Login Protect)
– recent security event log entries (the plugin stores up to the last 30 events; entries rotate automatically)
– last reCAPTCHA configuration or HTTP error (for admin diagnostics)

Data retention:
– security event log keeps only the most recent entries (up to 30; automatic rotation)
– Login Protect state is stored locally and is automatically pruned (e.g. stale non-locked entries are removed over time and the list is capped)
– plugin data can be removed during uninstall if the uninstall cleanup option is enabled

All data is stored locally in the WordPress database and is used solely to enforce security rules and display administrative information.

Legal

reCAPTCHA is a trademark of Google LLC.
Elementor is a trademark of Elementor Ltd.
This plugin is not affiliated with, endorsed by, or sponsored by Google LLC or Elementor Ltd.

Screenshots

  • reCAPTCHA settings panel
  • Login Protect settings panel
  • Security event log and blocked IP list
  • WordPress login screen (wp-login.php)
  • Elementor Login widget (frontend)
  • Elementor Form (Elementor Pro)

Installation

To use reCAPTCHA protection, obtain reCAPTCHA v2 Site Key and Secret Key from Google and configure them in the plugin settings.

  1. Install the plugin by uploading the ZIP via Plugins -> Add New -> Upload Plugin, or install it from the WordPress plugin directory after it is published.
  2. Activate the plugin.
  3. Open the plugin settings page in the WordPress admin area.
  4. (Optional) Enter Google reCAPTCHA v2 Site Key and Secret Key.
  5. Save the keys and click Verify reCAPTCHA (if provided).
  6. After successful verification, reCAPTCHA will be enabled automatically.
  7. (Optional) Enable Login Protect lockouts and configure limits and allowlists.
  8. (Optional) Enable Elementor Login and/or Elementor Forms protection.
  9. (Optional) Enable Advanced login options (toggle) and review the generated slugs. Important: copy and store your custom login URL.

FAQ

Do I need reCAPTCHA keys?

Yes. To use reCAPTCHA protection you must configure a reCAPTCHA v2 Site Key and Secret Key in the plugin settings.

Why can’t I enable Elementor reCAPTCHA options?

Elementor Login and Elementor Forms reCAPTCHA can be enabled only after reCAPTCHA v2 is configured and successfully verified in the plugin settings.

Does the reCAPTCHA IP allowlist apply to Elementor too?

Yes. IPs added to the reCAPTCHA allowlist bypass reCAPTCHA checks on wp-login.php, Elementor Login and Elementor Forms. This bypass applies only to reCAPTCHA — Login Protect rate limits and lockouts may still apply.

What happens if Google reCAPTCHA verification is unreachable?

If reCAPTCHA protection is enabled for the given login or form and verification cannot be completed, the request is rejected to reduce the risk of automated bypass. Administrators can disable the feature in plugin settings or deactivate the plugin via hosting or FTP.

Are protections active immediately after installation?

No. Login protection modules are disabled by default and must be explicitly enabled by an administrator.

Does the plugin disable XML-RPC completely?

No. The XML-RPC endpoint is not disabled. The plugin can optionally disable a small set of high-risk XML-RPC methods (pingback and system.multicall) when Login Protect is enabled and “Protect XML-RPC logins” is enabled. Login Protect can also optionally apply rate limiting/lockouts to XML-RPC authentication attempts under the same conditions.

What if Elementor (or another plugin/theme) already adds reCAPTCHA (v2/v3)?

For Elementor Login widgets and Elementor Forms, the plugin avoids injecting a second reCAPTCHA widget if it detects an existing widget or an existing g-recaptcha-response field on the form. If a g-recaptcha-response token is submitted, the plugin will use it for server-side verification.
To avoid conflicts (duplicate widgets, mixed keys, different versions), it is recommended to keep only one reCAPTCHA integration active for a given login/form flow (including wp-login.php).

How does Advanced login URL work?

When Advanced is enabled, wp-login.php and wp-admin are protected for non-authenticated visitors. The login screen is served only under the configured custom login URL slug. Both slug fields are required when Advanced is enabled, and saving is blocked if any field is empty. The default recommended redirect slug is “404” (redirects to /404/ so your theme can display its 404 template).

Is the Advanced login URL slug translated per site language?

No. The Advanced login URL uses a single configured slug value. If you run a multilingual site, choose a neutral slug that you want to use across languages.

Reviews

One plugin, several useful features

studiochacha 2. Januar 2026 1 reply
Nice combination of login masking, protection and reCAPTCHA. Most importantly – it integrates seamlessly with Elementor.

Lightweight and effective

izaxnu68 26. Dezember 2025 1 reply
The plugin does exactly what it’s supposed to. It secures the login and allows for clean reCAPTCHA alignment in Elementor. It doesn’t slow down the site and is simple to configure. A solid tool.

Lightweight, solid, and doesn’t bloat the site.

misiek1914 24. Dezember 2025 1 reply
Great plugin! It effectively secures Elementor forms and does a great job protecting the WordPress login page. It’s a simple, lightweight tool that’s very easy to set up. Everything works perfectly and doesn’t slow down the site at all. Highly recommended.
Read all 3 reviews

Contributors & Developers

“Web-Art Login Shield with reCAPTCHA” is open source software. The following people have contributed to this plugin.

Contributors
  • WEB-ART Creative Design

Translate “Web-Art Login Shield with reCAPTCHA” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.1

  • Feature: Added visual alignment options (Left, Center, Right) for reCAPTCHA in Elementor Login and Elementor Forms.
  • Security: Enhanced input sanitization standards for better FastCGI/Nginx compatibility.
  • Performance: Disabled reCAPTCHA rendering in the Elementor Editor backend to improve editor performance.
  • Fix: Stabilized Elementor Forms reCAPTCHA alignment in multi-column layouts when column gaps are used.
  • UX: Simplified and unified configuration status labels in the admin settings.
  • Tweak: General code hardening and strict type enforcement.

1.0.0

  • Initial release

Meta

  • Version 1.0.1
  • Last updated 2 Méint ago
  • Active installations 60+
  • WordPress version 5.8 or higher
  • Tested up to 6.9.1
  • PHP version 7.4 or higher
  • Language
    English (US)
  • Tags
    Brute Forceelementorloginrecaptchasecurity
  • Advanced View

Ratings

5 out of 5 stars.
  • 3 5-star reviews 5 stars 3
  • 0 4-star reviews 4 stars 0
  • 0 3-star reviews 3 stars 0
  • 0 2-star reviews 2 stars 0
  • 0 1-star reviews 1 star 0

Add my review

See all reviews

Contributors

  • WEB-ART Creative Design

Support

Got something to say? Need help?

View support forum

Donate

Would you like to support the advancement of this plugin?

Donate to this plugin

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Lëtzebuergesch

  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Code ass Poésie