WordPress redirect repair

Fix “too many redirects” in WordPress

Find the two rules sending the browser back and forth. Check HTTPS, www, WordPress URLs, proxy settings and plugins one layer at a time.

ErrorRedirect loop
Common causeCompeting rules
MethodOne change at a time

Back up configuration before changing redirects

Save the database and a copy of .htaccess or server configuration. Do not simultaneously disable several layers; you need to know which rule caused the loop.

Test the exact URL in a private window

Record whether the loop affects http, https, root, www, wp-admin or only one path. A private window avoids a cached redirect but does not fix the underlying configuration.

Where possible, inspect the redirect chain and identify the two URLs repeating. That usually reveals whether the conflict is www, HTTPS, a proxy or an application rule.

Check Plesk preferred-domain and HTTPS rules

  1. Log in to Plesk and open Hosting Settings for the domain.
  2. Note the current Preferred domain setting.
  3. Confirm the SSL/TLS certificate covers the selected root or www hostname.
  4. Check whether Permanent SEO-safe 301 redirect from HTTP to HTTPS duplicates a rule in WordPress, .htaccess or a proxy.
  5. Temporarily remove only the suspected duplicate rule, apply and retest.

Make WordPress Home and Site URL agree

In Settings > General, WordPress Address and Site Address normally use the same intended scheme and hostname. If wp-admin cannot open, inspect the corresponding home and siteurl values in the installation's options table or WP Toolkit.

Edit the correct database only

Confirm the database and table prefix from the site's configuration. Do not assume the prefix is wp_ and do not alter unrelated option rows.

Check how HTTPS is reported to WordPress

A proxy can receive HTTPS from the visitor but contact the origin over HTTP. If its SSL mode or forwarded headers conflict with an origin redirect, each side can send the request back to the other. Use an end-to-end secure mode and the provider's supported WordPress configuration.

Isolate .htaccess and redirect plugins carefully

  1. Save a copy of .htaccess.
  2. Inspect custom Redirect, RewriteRule and HTTPS directives for duplicates.
  3. If needed, temporarily rename .htaccess and retest once.
  4. Disable only the likely redirect, cache or security plugin and retest.
  5. Regenerate normal WordPress rewrite rules from Permalinks after the site opens.
WordPress .htaccess guidance

Restore one canonical route

  • http reaches the intended https URL in as few redirects as possible.
  • Root and www behaviour match the selected canonical hostname.
  • wp-admin, an inside page and forms work.
  • No temporary diagnostic setting remains in place.

Still caught in a redirect loop?

Send the domain, exact failing URL, repeating redirect chain, Plesk preferred-domain and HTTPS settings, WordPress Home/Site URL, proxy provider and changes tested. Never send passwords.

Ask the WordPress team

Was this answer helpful?

« Back