Log Failed Logins
Keeps a log of the last 200 failed login attempts with username, IP address and time, viewable under Tools > Failed Logins.
Snippet Library
3,040 free snippets from the WPIDE team and the community. Copy the code, or add any snippet to your site in one click with WPIDE.
Keeps a log of the last 200 failed login attempts with username, IP address and time, viewable under Tools > Failed Logins.
Logs users out after a set time without any mouse, keyboard or scroll activity, counted across all their open tabs.
Ends all of a user's active sessions as soon as an administrator changes or removes their role, so a demoted account cannot keep using old access.
When an administrator creates an account, the new user is sent to their profile and asked to choose a new password before they can use the rest of the site.
Adds a fresh random nonce to every script WordPress prints and sends a strict, nonce-based script policy (report-only by default), the modern way to block injected scripts.
Makes the "Lost your password?" form accept only an email address, not a username, so the form can't be used to probe which usernames exist.
Removes the Deactivate option for the plugins you list, for every user, so key functionality cannot be switched off by accident.
Stops anyone but the users themselves from editing, demoting or deleting the accounts you list, such as the site owner or an agency account.
Hides the login page behind a secret link: wp-login.php returns "Not Found" unless you have opened it with your key once in this browser.
Turns on WooCommerce's built-in rate limiting for the Store API used by the block cart and checkout, slowing down bots that test stolen cards.
Limits how many searches one visitor can run per minute and answers the rest with "429 Too Many Requests", protecting your database from search floods.
Limits how many REST API requests a logged-out visitor can make per minute and answers "429 Too Many Requests" beyond that, slowing scrapers and scanners.
Records the last 10 logins for each user (time, IP address and browser) and lists them on their profile screen so they can spot logins they do not recognise.
Permanently redirects every plain HTTP request to the HTTPS version of the same URL, for sites whose host does not do it already.
Sends logged-out visitors who open /wp-admin/ to the homepage instead of the login page, so bots probing wp-admin do not learn where to log in.
Refuses login attempts for usernames bots love to try, such as "admin", "administrator" or "root", before WordPress even checks a password.
Shows administrators a reminder when they have not changed their password for 180 days.
Shows administrators a gentle notice on the Dashboard and Plugins screens when plugins have been left inactive, since unused plugins still need updates and can be a security risk.
Strips the author and commenter usernames WordPress adds to body and comment classes, closing a quiet way to discover login names.
Stops WooCommerce adding its version number to your page source, so bots scanning for outdated stores learn a little less.
Stops outgoing emails announcing "PHPMailer" and its version in the X-Mailer header, which reveals details about your server and can count against you in spam filters.
Requires at least 12 characters with letters, numbers and a symbol or mixed case for users who can edit other people's content.
Stops users from picking a public display name that another member already uses, which prevents impersonation in comments and forums.
Rejects new passwords shorter than 12 characters on the profile screen, the Add New User screen and the password reset form.