Guide WordPress

How to fix a WordPress login redirect loop

Submitting the login form just bounces you back to it — usually a URL mismatch, cookie problem, or a plugin, worked through in order.

Updated 7 min read Intermediate

A login loop is a specific symptom: you enter the correct username and password, the page appears to submit, and you land back on the login screen as if nothing happened — no error message, just a bounce. It has a small number of causes, and they are worth checking in this order because each one is quicker to rule out than the next.

Cause 1: mismatched or cached cookies

WordPress uses cookies to track a logged-in session, and a stale or conflicting cookie is the single most common cause of this exact symptom.

  1. Clear your browser's cookies for the site

    Not your entire browsing history — specifically the cookies for this domain. See clearing your browser cache properly for how to do this precisely rather than clearing everything.

  2. Try a private or incognito window

    This loads the site with no existing cookies or cache at all, which either confirms the problem is cookie-related or rules it out entirely within seconds.

  3. Try a different browser

    If the private window did not resolve it, ruling out the whole browser is the next fastest check.

If a private window works, the fix is on your end

A login loop that disappears in a private window but returns in your normal browser points squarely at a cookie or browser extension conflict, not a problem with the site itself.

Cause 2: the site URL does not match what you are visiting

WordPress stores its own address in the database, and if that stored address does not match the address in your browser's URL bar — http instead of https, www present on one but not the other, or a leftover staging address — the login cookie gets set for one address while the page checks against another, and it never matches.

Check Settings, then General, if you can reach it, or open wp-config.php and look for existing WP_HOME or WP_SITEURL definitions. If they do not exactly match the address you are using to access the site, that mismatch is very likely your cause. See changing a WordPress site URL for how to correct it, including the database method for when the loop stops you reaching Settings at all.

Cause 3: a plugin is interfering

Security plugins, caching plugins, and anything that touches sessions or redirects are the most frequent plugin-related cause — a caching plugin serving a stale, logged-out version of the admin area, for instance, or a security plugin with an overly strict rule blocking the login process itself.

Deactivate plugins to test, using whichever method you can still reach:

  • If wp-admin loads at all before the loop happens, deactivate plugins one at a time from the Plugins screen.
  • If the loop happens before you can reach any admin screen, rename the plugins folder over FTP instead. See disabling plugins when you cannot log in for the full method.

If disabling all plugins resolves the loop, reactivate them one at a time, checking login after each, until you find the specific one responsible.

Cause 4: a corrupted or misconfigured .htaccess file

WordPress's own rewrite rules live in .htaccess, and a corrupted version — often from a plugin that failed partway through writing it, or a manual edit gone wrong — can interfere with how login requests are routed. Rename the current .htaccess file over FTP, then go to Settings, then Permalinks, and save once to have WordPress regenerate a fresh one. If you cannot reach Settings because of the loop, a default working version can be recreated by hand; the standard rules for a normal install are:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Cause 5: an incorrect password is being auto-filled

Occasionally the cause is simpler than any of the above: a browser's saved password is outdated, or a password manager is filling in the wrong credential. Type the username and password manually rather than relying on autofill, and confirm you are using the correct password before assuming the problem is technical. If you are not certain of the password, resetting a WordPress password is quicker than continuing to guess.

Working through it systematically

Try this firstRules out
Private browser windowCookies and browser extensions
Check the site URL settingsURL mismatch
Disable all pluginsPlugin conflict
Rename .htaccess and resave permalinksCorrupted rewrite rules

Working down this list in order resolves the great majority of login loops, because it starts with the checks that take seconds and only moves to more involved fixes once the quick ones are ruled out. If you reach the end of this list with no success, contact support with what you have already tried, since at that point the cause is likely specific enough to your setup that it needs a look at the actual server logs.

Related reading