ERR_TOO_MANY_REDIRECTS in WordPress – causes and solutions

A redirect loop makes your site unreachable. The steps below break the loop and bring your site back online.

You try to visit your WordPress website, but instead of the page you see a white screen or an error. Often the message says “This page isn’t working – domain.com redirected you too many times” (in English: “Too Many Redirects”). In other words: your site gets stuck in a loop of redirects and never loads. As a business owner or site admin this is frustrating — your site is unreachable to visitors, which can cost customers and revenue. The good news: this problem is usually fixable with a few targeted steps.

What does “too many redirects” mean?

The Too Many Redirects error (also known as ERR_TOO_MANY_REDIRECTS) means something is wrong in your redirects. A redirect is an automatic forwarding from one URL to another — for example, when a page has moved. Redirects are normal, but the problem arises when two (or more) redirects contradict each other. For example, URL A redirects to URL B, and URL B redirects back to URL A. The browser gets stuck in an infinite loop and never reaches the page. Modern browsers detect this and show the “too many redirects” error instead of looping forever.

Unlike many errors, the server can’t resolve this automatically — it needs manual intervention to break the loop. A redirect loop makes (parts of) your site completely unusable. Search engines also can’t index your site properly while the error exists, which hurts SEO. So it’s important to fix it quickly.

Common causes of a redirect loop

Here are typical reasons a WordPress site ends up in a redirect loop:

  • Incorrect site URL settings — WordPress Address (URL) and Site Address (URL) define your domain and HTTP/HTTPS usage. If these don’t match the real URL, WordPress can endlessly redirect between the wrong and correct URL. This often happens after a migration or HTTPS switch.
  • SSL/HTTPS configuration errors — misconfigured SSL setups often cause loops, especially when multiple HTTPS redirects conflict. A classic example is Cloudflare Flexible SSL combined with server‑side HTTPS forcing: Cloudflare sends HTTP to your server while your server redirects HTTP to HTTPS — resulting in an endless loop. Plugins that force HTTPS on top of server rules can cause the same issue.
  • Caching or cookie issues — sometimes the loop isn’t a permanent setting but old data stored in browser cookies or caches. A caching plugin may serve an outdated redirect rule.
  • Conflicting plugins or themes — plugins that handle redirects (SEO, caching, redirect plugins) can conflict with each other. Security plugins that force HTTPS can also clash with server rules.
  • Incorrect .htaccess rules — the .htaccess file in your WordPress root often contains redirect rules. A bad or duplicate rule can create a loop.

Step‑by‑step: fix “Too Many Redirects”

Follow these steps in order. After each step, test whether the site works again.

1. Clear browser cache and cookies

Start locally: outdated cookies or cached redirects can keep the loop alive. Clear your browser cache and cookies and try again. Also test in an incognito window or another browser. If it works there, the issue may be local.

2. Check WordPress URL settings

In WordPress go to Settings → General and verify:

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

These must match your real site URL exactly, including http vs https and www vs non‑www. If you can’t access the dashboard, force the values in wp-config.php (replace the domain):

Screenshot of the WordPress URL settings.

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

3. Check SSL/HTTPS configuration

Make sure your SSL certificate is valid and that you’re not forcing HTTPS twice. Common mistakes:

  • Forcing HTTPS both in a plugin and on the server.
  • Using Cloudflare Flexible SSL while your server also forces HTTPS.

Ensure only one layer handles the HTTPS redirect. Prefer Cloudflare Full (Strict) and align server settings accordingly.

4. Temporarily disable plugins

Redirect loops are often caused by plugins. Deactivate plugins (especially caching, security, and redirect plugins). If you can’t access wp-admin, rename wp-content/plugins to plugins_off via FTP. If the site works again, a plugin is the culprit. Reactivate them one by one to find the offender.

5. Check .htaccess

A faulty .htaccess can cause loops. Rename it temporarily (e.g., .htaccess_old) and test your site. If it works, the problem was in that file. Regenerate a clean .htaccess by going to Settings → Permalinks and clicking Save. Then add your custom rules back one by one.

6. Clear server or plugin caches

If you use caching plugins or server‑side caching, clear those caches. Old redirect rules may still be served.

7. Check CDN/proxy settings

If you use a CDN like Cloudflare, verify:

  • SSL mode (avoid Flexible if your server forces HTTPS)
  • Page Rules or Redirect Rules

Make sure you don’t have conflicting redirects enabled.

When to ask for help

If the error keeps returning after all steps, contact your host or a WordPress expert. They can inspect server logs and pinpoint which redirect rules are conflicting, or identify a problematic plugin or config.

Conclusion

Want this to stop being your problem?

If outages or errors keep repeating, the fix is often consistency: updates, backups and monitoring that don’t get skipped.

See managed WordPress hosting