Choose which cookies we can use. You can change this at any time from “Cookie settings” in the footer. See our cookie policy for details.

Essential

Needed for the site to work, such as remembering your cookie choices. These can’t be switched off.

Always on
Skip to content
Limit Login Attempts Free + Pro options

Stop brute-force attacks on your login page

Lock out an IP address after a set number of failed logins. Choose how long the lockout lasts, get an email when it happens, and detect visitors’ real IP addresses behind Cloudflare or a load balancer.

Free on WordPress.org. Pro adds the extra options listed below.

with extra Pro options
Free
settings to configure
5
developer hooks
3
updates since 2023
10
A florist checking her shop website’s WP Extended settings on a laptop at the counter

Why you need Limit Login Attempts

WordPress lets anyone try passwords on wp-login.php as many times as they like. Bots try thousands of combinations a day, which slows the server and eventually guesses weak passwords.

Behind a CDN, a badly configured limiter sees every visitor as the same IP address. Then it either locks out everyone or nobody.

What Limit Login Attempts does

  • Attempts and lockout time

    Allow 3 failed attempts and lock out for 30 minutes by default, or set your own limits.

  • Admin alerts

    Get an email when an IP address is blocked.

  • Works behind Cloudflare

    Choose the trusted header for the visitor’s IP: CF-Connecting-IP, X-Forwarded-For, X-Real-IP or True-Client-IP.

  • Block usernames instantly

    Pair it with Block Usernames so attempts on names like “admin” are blocked straight away. Pro adds an unblock action.

Set it up

In WordPress, open WP Extended and find Limit Login Attempts under Security & Privacy.

Full setup guide
  1. 01 Turn on Limit Login Attempts under Security & Privacy.
  2. 02 Set the maximum attempts and the lockout duration in minutes.
  3. 03 Switch on Notify Admin if you want an email for each block.
  4. 04 If the site is behind Cloudflare or a proxy, choose the matching Client IP source.

Free and Pro options

What you can set in the free plugin, and what WP Extended Pro adds.

In the free plugin Free

  • Maximum Login Attempts Number of failed login attempts before blocking.
  • Lockout Duration How long to lockout accounts after reaching maximum attempts.
  • Notify Admin If enabled, an email will be sent to the admin when a user is blocked.
  • Block Usernames If enabled, usernames set in Block Usernames Module will be blocked immediately.
  • Client IP source Leave as the default unless this site sits behind a reverse proxy or CDN (e.g. Cloudflare). Only change this if the chosen header is set by your trusted edge — a header a visitor can send would let attackers spoof their IP and bypass or misdirect lockouts.

Pro options unlock on any Pro plan, from $29 a year.

Where Limit Login Attempts helps

  • A photographer in her studio with WP Extended open on a desktop monitor

    Any site with a public login

    Cut the noise from password-guessing bots and the load they put on the server.

  • A freelance web designer on a sofa with WP Extended open on her laptop, her dog asleep beside her

    Sites behind Cloudflare

    Lock out the attacker’s real IP instead of Cloudflare’s.

  • An agency team in a brick-walled studio reviewing WP Extended settings on a wall screen

    Client sites you manage

    Get an alert when attacks start, before the client notices anything.

Limit Login Attempts vs Limit Login Attempts Reloaded

Limit Login Attempts Reloaded has 1M+ active installs on WordPress.org. If you only need this one job, that’s a fine choice. If the site also needs other modules on this list, it’s one less plugin to update.

What Limit Login Attempts covers
Attempt limits, lockout duration, admin alerts, proxy-aware IP detection and username blocking.
When to choose the specialist plugin
If you need two-factor authentication, a firewall or country blocking, use a full security plugin alongside it.

For developers

Limit Login Attempts has 3 hooks for changing its behaviour per project, without editing the plugin.

All Limit Login Attempts hooks
filter functions.php or a Code Snippet
add_filter( 'wpextended/limit-login-attempts/admin_email', function ( $value ) {
    // Return the value you want to use
    return $value;
} );
  • limit-login-attempts/admin_email
  • limit-login-attempts/site_name
  • limit-login-attempts/table_columns
★★★★★
“Features I love the most: Disable Gutenberg Widgets, Duplicate Page and Posts, Limit Login Attempts, Post & Page Order, Maintenance Mode.”
Meet Mehta WordPress.org review (opens in a new tab)

Recent changes

The latest updates to Limit Login Attempts, from the WP Extended changelog.

Full changelog
  1. v3.3.0 10 Sept 2026
    • improved

      New option to trust a proxy header when detecting a visitor’s IP address, for sites behind Cloudflare or a load balancer.

    • fixed

      A spoofed IP address could bypass the lockout, or lock out every visitor behind a proxy.

    • fixed

      Diagnostic REST routes were registered in production builds.

    • fixed

      Restored the unblock action, and fixed sorting and the status column.

  2. v3.1.0 22 Sept 2025
    • new

      Option to block usernames from Block Usernames module.

Limit Login Attempts questions

Limit Login Attempts documentation

Yes. Limits, lockouts, alerts and proxy settings are free. WP Extended Pro adds an action to unblock an account.

Three failed attempts trigger a 30-minute lockout. You can change both.

Set Client IP source to CF-Connecting-IP. Only choose a header that your CDN or proxy sets, because visitors can fake the others.

Wait for the lockout to end, or log in from a different network. With Pro you can unblock an account from the module settings.

Get Limit Login Attempts free

Limit Login Attempts is in the free plugin on WordPress.org, alongside 34 other free modules you can switch on when you need them.

Pro from $29 a year · 14-day money-back guarantee