How to Fix WordPress Installation Stuck at 89%
If you’ve ever encountered your WordPress installation getting stuck at 89%, you know how…
WordPress Password Reset Link Not Working
When you click “Lost your password?” on the WordPress login screen, WordPress emails you a special one-time link to set a new password. The “Password Reset Link Not Working” error happens when that link fails — it might display an “Invalid key” message, redirect you to a blank or broken page, or simply expire the instant you click it.
This is one of the more frustrating WordPress issues because it locks users out of their accounts with no clear explanation. The good news is it almost always traces back to one of a handful of root causes, and you can resolve it without writing any code in most situations.
The problem can appear on any WordPress site but is especially common after a domain migration, a URL change, or when a caching or security plugin enters the picture.
You should see: Both URL fields matching perfectly before you move on.
You should see: A fresh “Check your email for the confirmation link” notice after submitting the reset request.
You should see: The reset link opens correctly and presents a “Choose a new password” form.
wp_users table. Find the affected user row, click Edit, locate the user_pass column, set the Function dropdown to MD5, enter a new password as the Value, and click Go.
-- Or run this SQL query directly:
UPDATE wp_users
SET user_pass = MD5('YourNewPassword123')
WHERE user_login = 'your_username';
You should see: A green success banner in phpMyAdmin. Log in with the new password right away to confirm it works.
wp user update your_username --user_pass="NewSecurePassword!"
You should see: “Success: Updated user <ID>.” printed in your terminal output.
You should see: A clean, fully clickable reset link arrive in your inbox within a few seconds.
WP_HOME and WP_SITEURL in wp-config.php overrides the database, so the Settings page can look correct while reset links still embed the wrong URL. Pick one method and stay consistent.Get free WordPress & AI tips
Join 500+ readers. No spam, unsubscribe anytime.
Reset links expire after 24 hours by default. They are also single-use — visiting the URL even once invalidates it, whether or not you complete the password change. If you are unsure whether the link is still fresh, just request a new one instead of troubleshooting an already-consumed key.
Check your spam or junk folder first. If the email is not there at all, your server’s PHP mail function is likely failing silently. Install WP Mail SMTP, configure it with a real SMTP provider, and use the built-in test email feature to confirm delivery is working before trying the password reset again.
A user-specific failure usually points to a corrupted record in the wp_users or wp_usermeta table for that particular account. Try resetting the affected user’s password directly via phpMyAdmin or WP-CLI to bypass the email flow entirely and rule out a database-level issue.
Very likely. After a domain change, the old URL is still stored in the siteurl and home rows of your wp_options table. WordPress uses those stored values to build reset links, so every link still points to the old domain. Fix it by running a search-replace in phpMyAdmin or with the WP-CLI command: wp search-replace 'olddomain.com' 'newdomain.com' --all-tables.