troubleshooting

How to Fix ERR_TOO_MANY_REDIRECTS: A No-BS Troubleshooting Guide

RC
Redirect Check Team
8 min read

So your site just died with "ERR_TOO_MANY_REDIRECTS" and you're frantically Googling at 2 AM? Been there. Let me help you fix this mess.

I've probably fixed this error a hundred times across different setups. The good news? It's almost always one of a handful of causes. The bad news? Finding which one is your problem can feel like detective work.

Let's get your site back online.

What's Actually Happening

Here's the deal: your browser is bouncing between URLs in an infinite loop. Something like this:

yoursite.com → yoursite.com/page → yoursite.com → yoursite.com/page → (forever)

Most browsers give up after about 20 redirects and show you that lovely error. The redirect chain never ends, so your page never loads.

Quick Fixes to Try First

Before we dive deep, try these quick wins. They fix about 30% of cases:

1. Clear Your Browser Stuff

Sometimes it's just stale cookies messing with you. Try:

  • Open incognito/private mode and test the URL
  • Press Ctrl + Shift + R (Windows) or Cmd + Shift + R (Mac) for a hard refresh
  • Clear cookies specifically for your domain

If it works in incognito but not normally? Your browser cached a bad redirect. Clear those cookies.

2. Test From Another Device

Quick sanity check: is it just you or everyone? Try your phone on cellular (not WiFi) or ask a friend to test. If it works for others, the problem is local caching.

The Usual Suspects

OK, so it's not just caching. Let's find the real culprit.

Suspect #1: Cloudflare SSL Settings (Most Common)

I'm going to be honest: if you use Cloudflare, there's a 60% chance this is your problem. Here's why.

Cloudflare has SSL modes: Off, Flexible, Full, and Full (Strict). The classic mistake?

  • You set Cloudflare to Flexible SSL
  • Your server has its own SSL certificate
  • Your server forces HTTPS
  • Boom. Infinite loop.

What's happening: Cloudflare connects to your server via HTTP (Flexible mode), your server says "nope, use HTTPS" and redirects, Cloudflare gets the redirect, tries HTTP again... forever.

The fix:

  1. Go to Cloudflare Dashboard → SSL/TLS
  2. Change encryption mode to Full or Full (Strict)
  3. Wait a few minutes and test

Or if you don't have an SSL cert on your server, remove the HTTPS redirect from your server config.

Suspect #2: WordPress URL Mismatch

For WordPress sites, this is classic. Your site URL and WordPress URL don't match, or they're set wrong after a migration.

Check these in wp-admin → Settings → General:

  • WordPress Address (URL)
  • Site Address (URL)

Can't access wp-admin? Add this to wp-config.php:

define('WP_HOME','https://yoursite.com');
define('WP_SITEURL','https://yoursite.com');

Make sure both use the same protocol (https) and the same www preference (either both with www or both without).

Suspect #3: The www vs non-www Conflict

This one bites people all the time. You have:

  • A redirect from www.site.com to site.com somewhere
  • A redirect from site.com to www.site.com somewhere else

They fight each other. Forever.

Places to check:

  • Your .htaccess file
  • WordPress settings
  • Cloudflare page rules
  • Your hosting control panel
  • Any redirect plugins

Pick one version (www or non-www) and make sure every redirect points there. Not some here, some there.

Suspect #4: Plugin Conflicts (WordPress)

Got multiple plugins handling redirects? SSL plugins? Caching plugins? They might be stepping on each other.

The nuclear option that works:

  1. FTP/SFTP into your site
  2. Go to /wp-content/
  3. Rename the plugins folder to plugins_backup
  4. Test your site

If it works, you've got a plugin problem. Rename the folder back, then disable plugins one by one to find the culprit. Common offenders:

  • Really Simple SSL
  • Redirection plugins
  • Security plugins with force HTTPS
  • Caching plugins

Suspect #5: .htaccess Gone Wrong

If you're on Apache, your .htaccess file might have conflicting rules. Here's a safe way to test:

  1. Download your current .htaccess as backup
  2. Replace it with a minimal WordPress .htaccess:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Site works now? Your old .htaccess had the problem. Check for duplicate redirect rules, especially for HTTPS and www handling.

Platform-Specific Fixes

Nginx with Reverse Proxy

Running Nginx in front of Apache? Add this to tell WordPress it's actually on HTTPS:

// Add to wp-config.php
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}

Cloudflare with WordPress

The Cloudflare plugin can help prevent loops. Install it, then:

  1. Enable "Automatic HTTPS Rewrites"
  2. Make sure SSL mode is Full or Full (Strict)
  3. Disable any other SSL-forcing plugins

cPanel / Shared Hosting

Check these places for conflicting redirects:

  • cPanel → Redirects
  • cPanel → SSL/TLS Status (Auto-redirect settings)
  • Let's Encrypt / AutoSSL settings

Debugging Like a Pro

Can't figure it out? Let's trace the actual redirects.

Use curl to See the Chain

curl -I -L --max-redirs 10 https://yoursite.com

This shows you each hop. Look for the pattern—where does it loop back?

Use Chrome DevTools

  1. Open DevTools (F12)
  2. Go to Network tab
  3. Check "Preserve log"
  4. Load your URL
  5. Look at the redirect chain—you'll see 301s and 302s stacking up

Use Our Redirect Checker

Shameless plug: Redirect Check shows you the complete redirect chain with timing info. Paste your URL, see exactly where the loop happens.

Preventing This in the Future

Once you've fixed it, don't want to go through this again:

  • Keep redirects in one place - Don't scatter them across .htaccess, plugins, CDN rules, and hosting panels
  • Test before going live - Use staging environments for SSL and redirect changes
  • Document your setup - Future you will thank present you
  • Pick your canonical URL and stick with it - www or non-www, HTTPS (obviously), and be consistent

Still Stuck?

If you've tried everything:

  1. Contact your host - They can see server logs you can't access
  2. Pause Cloudflare temporarily - Remove that variable while you debug
  3. Check recently changed things - What did you change right before this started?

The ERR_TOO_MANY_REDIRECTS error is annoying, but it's fixable. Usually it's just two things disagreeing about where traffic should go. Find the conflict, pick a winner, and you're back in business.

Good luck. You've got this.

References

  1. Cloudflare SSL/TLS Documentation - ERR_TOO_MANY_REDIRECTS - Cloudflare Developers (2025)
  2. How to Fix The ERR_TOO_MANY_REDIRECTS Error - Kinsta (2025)
  3. How to Fix Error Too Many Redirects Issue in WordPress - WPBeginner (2025)
  4. Community Tip - Fixing ERR TOO MANY REDIRECTS - Cloudflare Community (2025)

Controleer nu je omleidingen

Laat slechte omleidingen je SEO niet schaden. Gebruik onze gratis tool om je links direct te controleren.

#troubleshooting#redirects#wordpress
Deel dit artikel: