Introduction
A WordPress redirect loop usually appears as ERR_TOO_MANY_REDIRECTS after an SSL change, domain move, reverse proxy change, or plugin configuration update. The browser keeps bouncing between two URL versions and never reaches a stable page.
Symptoms
- The browser shows
ERR_TOO_MANY_REDIRECTS - The issue started after enabling HTTPS or Cloudflare
- wp-admin and the front end both redirect endlessly
- Clearing cookies does not solve the problem for all users
- One URL version such as
httporwwwkeeps forcing the other back again
Common Causes
WordPress AddressandSite Addressare set to different URL variants- A redirect plugin conflicts with server or proxy redirect rules
- HTTPS is forced at multiple layers without trusted proxy headers
- Cloudflare Flexible SSL or another mismatched SSL mode causes loops
- Hard-coded redirect rules in
.htaccessor Nginx conflict with app settings
Step-by-Step Fix
- Check the configured site URL values in WordPress settings or
wp-config.phpand make sure both point to the exact canonical URL you want. - Review
.htaccess, Nginx rules, load balancer settings, and CDN settings for duplicate HTTP-to-HTTPS or non-www to www redirects. - If the site sits behind Cloudflare or another proxy, verify the SSL mode matches the origin setup and trusted forwarded headers are available to WordPress.
- Temporarily disable redirect, security, or caching plugins that can rewrite requests before WordPress finishes loading.
- Clear application, CDN, and browser caches so you are testing the live redirect chain rather than stale responses.
- Test the redirect path with a header inspection tool or
curl -Iso you can see exactly which layer issues each redirect. - Remove the duplicate or conflicting redirect rule rather than stacking more redirects on top of the problem.
- Re-test the homepage, a post URL, and wp-admin login to confirm all important routes now settle on one final URL.
- Document the canonical hostname and SSL policy so future migrations do not recreate the same loop.