Founding offerThe first 10 online stores pay $9 a month instead of $15, for as long as they stay.Founding offer: $9 a month instead of $15 for the first 10 stores.Claim yours
Ropeline Check my site

Getting WordPress password reset emails you didn't ask for?

A guide for site owners and their users. Updated October 17, 2026.

The email says "Someone has requested a password reset for the following account", and that someone wasn't you. Maybe it's one email, maybe it's a dozen a day. Here's what it means, whether anyone can get in, and how to make it stop.

First: is someone in my account?

No. A reset request only sends a link to the email address on the account, which is yours. Nothing changes unless someone opens that link, and only you can. WordPress says so in the email itself: "If this was a mistake, ignore this email and nothing will happen." The link stops working after a day.

So: don't click it, and you're fine. Two things are worth a look, though:

Why it happens

Anyone can type a username or email address into WordPress's "Lost your password?" form (/wp-login.php?action=lostpassword), or into WooCommerce's at /my-account/lost-password/. Bots do it for a few reasons:

How do they know your username? Usually because WordPress shows it: in the public user list at /wp-json/wp/v2/users, and in author pages like /?author=1. Our guide to hiding WordPress usernames covers all five places.

The email itself shows the address the request came from, when the person asking wasn't logged in: "This password reset request originated from the IP address …". If the same address keeps showing up, that's one bot.

How a site owner stops it

1. Limit reset requests

A real person asks for a reset once, maybe twice. Limit how many requests one internet address can make in an hour, and how many reset emails one account can get in an hour. WordPress has no setting for this; it needs a plugin or a firewall rule. Make sure the limit covers WooCommerce's lost-password form too, not just WordPress's.

2. Stop showing usernames

Bots can only ask for resets for accounts they know about. Hiding usernames from the user list and author pages takes away the easy list. It doesn't stop a bot that guesses email addresses, so do it together with the limit.

3. Add a "prove you're human" check to the form

A check like Cloudflare Turnstile on the lost-password form stops simple bots. It's best shown only when something looks wrong, so real people aren't slowed down for no reason.

4. If one account is the target

WordPress doesn't let you change a username (the profile page says "Usernames cannot be changed."). If one account keeps getting reset emails, you can make a new account for that person with a less obvious username, move their posts to it when you delete the old one, and have them log in with their email address from then on. Give every admin account a strong, unique password and two-factor login either way.

The free Ropeline plugin does steps 1 to 3

The free Ropeline plugin limits password reset requests to 5 an hour from one address, and 3 reset emails an hour to one account, on WordPress's lost-password form and WooCommerce's. When a real person on a busy network hits the limit, they can pass a quick Cloudflare Turnstile check and carry on, once you've added your free Turnstile keys. For its first 7 days Ropeline only records what it would have stopped, so you can see it won't get in anyone's way; then it starts blocking.

It also locks out password guessers on the login page, WooCommerce's login, XML-RPC and application passwords. Hiding usernames is part of Ropeline Pro.

See what bots can see on your site. The free check looks for public usernames, open XML-RPC, an unguarded login page and more, in 10 seconds.

Check my site free Get the free plugin

Questions

I'm not the site owner. What should I do?

Ignore the emails and don't click the links. If they keep coming, tell the site's owner: they can limit them. Use a strong password that you don't use anywhere else, so a bot that guesses at your account gets nowhere.

Should I change my password?

Only if you got a "Password Changed" email you didn't expect, or you reuse that password on other sites. The reset email on its own doesn't mean anyone knows your password.

Can I turn off password resets altogether?

You can, with a plugin or a few lines of code, but then anyone who forgets a password needs you to reset it for them. Limiting resets keeps the way back in for real people.