Short answer: something is redirecting the request in a circle. Two rules disagree about the canonical address — usually about HTTPS, or about whether the domain includes www. The browser stops after a set number of hops and reports the loop.
Confirm the two addresses first
Open Settings › General and check that WordPress Address and Site Address match exactly — same protocol, same www choice. A mismatch here (for example site set to http:// while the server forces https://) is the single most common cause of the loop.
Where the conflict usually lives
- Site/home URLs disagreeing with a server redirect rule.
- An HTTPS redirect at the CDN while the origin still redirects to HTTP — a classic Cloudflare “Flexible SSL” loop; set it to Full instead.
- A
www-to-non-wwwrule duplicated in two places, in opposite directions. - A caching or security plugin adding its own canonical redirect.
- A reverse proxy not passing the original protocol, so WordPress thinks HTTPS requests are HTTP and redirects them.
Trace the chain, do not guess
- Follow the redirect chain and record each hop and its target; the point where the address repeats identifies the conflicting pair.
- If a proxy sits in front (Cloudflare, a load balancer), add
define('FORCE_SSL_ADMIN', true);and theHTTP_X_FORWARDED_PROTOhandling towp-config.phpso WordPress detects HTTPS correctly. - Test with cookies cleared — a login-only loop is often a cookie or domain mismatch, not a redirect rule.
- Temporarily rename the plugins folder to rule a plugin in or out.
Fix one layer, then verify all four combinations
Decide the single canonical form and make exactly one layer enforce it. Then test all four of http/https and www/non-www — each should reach the canonical address in one redirect — and confirm you can log in and stay logged in, since admin loops often survive a fix that only addressed the front end.
WP REPAIR INCIDENT STANDARD
Reconstruct the incident before fixing it
A redirect loop is a disagreement between layers about the canonical scheme, host or path. The chain itself identifies the two rules that are bouncing the request.
- 1
Capture every Location header until the first URL repeats.
- 2
Compare WordPress home/site URLs with proxy, CDN and server redirects.
- 3
Check forwarded-protocol headers when TLS terminates before WordPress.
- 4
Separate site-wide loops from login-only cookie or domain loops.
What must be verified
- HTTP/HTTPS and www/non-www variants reach the canonical URL in one intentional hop.
- Login persists after authentication.
- No redirect depends incorrectly on a cache or client cookie.
Official technical sources
Continue the diagnosis
This guide explains the diagnosis. If the site is affected now, the intervention should preserve a rollback path and verify the real business journey.
See the emergency repair service →