Fix "Too Many Redirects" (ERR_TOO_MANY_REDIRECTS)
ERR_TOO_MANY_REDIRECTSredirected you too many timesredirect loopA redirect loop means two rules keep bouncing the browser back and forth — A sends you to B, B sends you back to A. It's almost always an SSL/Cloudflare or WordPress URL mismatch. Here's the fix.
Cause 1: Cloudflare SSL mode
The classic loop: Cloudflare's SSL is set to Flexible while your server also forces HTTPS. Cloudflare talks http to your server, your server redirects to https, forever. Set Cloudflare SSL to Full (strict) when your server has a valid certificate.
Cause 2: WordPress URL mismatch
If the WordPress and Site URLs disagree (http vs https, www vs non-www), it loops. Set both consistently in wp-config.php:
define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');
Cause 3: conflicting .htaccess redirects
Two rules — one forcing www, another forcing non-www (or http↔https) — fight each other. Keep one canonical redirect direction and remove the duplicate.
Your browser caches redirects, so test in a private window after each change — otherwise you'll keep seeing the old loop even once it's fixed.
A loop = two rules disagreeing. Fix Cloudflare SSL to Full, match WordPress URLs, and keep one canonical redirect.
SSL done right
Our web hosting includes valid SSL and sane redirects out of the box, with DDoS protection on NVMe.
Frequently asked questions
What causes ERR_TOO_MANY_REDIRECTS?
Two redirect rules bouncing the browser in a loop — most commonly Cloudflare's Flexible SSL fighting a server HTTPS redirect, mismatched WordPress URLs, or conflicting www/non-www rules in .htaccess.
How do I fix a redirect loop with Cloudflare?
Set Cloudflare's SSL/TLS mode to Full (strict) when your origin has a valid certificate, instead of Flexible. Flexible plus a server-side HTTPS redirect creates an endless loop.
Why does my WordPress site keep redirecting?
Usually the WordPress Address and Site Address disagree (http vs https or www vs non-www). Set WP_HOME and WP_SITEURL to the same canonical URL in wp-config.php.
Related articles
Fix "500 Internal Server Error" on Your Website
A 500 error on your site? The usual causes — .htaccess, file permissions, PHP — and how to fix them.
Read fix Web HostingHow to Point a Domain to Your Server (DNS A Record)
How to point a domain at your server with an A record — and why it doesn't work instantly.
Read fix Web HostingFix Email Going to Spam (SPF, DKIM & DMARC Explained)
Mail landing in spam? Set SPF, DKIM and DMARC correctly so your email reaches the inbox.
Read fix