Error rescue

WordPress "Too Many Redirects" Error: Fix in 5 Minutes (2026)

By Ali Yasin Jatoi 5 min readUpdated July 2, 2026
Reviewed by Ali Yasin Jatoi, Founder & Lead Engineer· Updated July 2, 2026

Quick answer

WordPress "Too Many Redirects" (ERR_TOO_MANY_REDIRECTS) usually means WordPress and your server disagree about what the canonical URL is — most often an HTTPS-to-HTTP loop, or a www vs non-www mismatch. Fix by matching WordPress Address and Site Address exactly in wp-config.php, checking Cloudflare's SSL/TLS mode is set to Full (Strict), and clearing conflicting redirect rules in .htaccess.

What's actually happening

A redirect loop happens when server A redirects to server B, and server B redirects back to server A. The browser gives up after ~20 hops and shows ERR_TOO_MANY_REDIRECTS.

In WordPress the loop is almost always between: (a) HTTPS ↔ HTTP, (b) www ↔ non-www, or (c) trailing slash ↔ no trailing slash. Once you find which pair is looping, the fix is trivial.

Fix #1 — Force canonical URLs in wp-config.php

Edit wp-config.php. Above the "That's all, stop editing" line add:

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

Use your exact canonical URL — same protocol, same www or non-www. This overrides the values in Settings → General and stops WordPress from redirecting to a different version of the URL you're already on.

Fix #2 — Cloudflare SSL/TLS mode

Log into Cloudflare → SSL/TLS → Overview. If it's set to "Flexible", change to "Full (Strict)". Flexible mode makes Cloudflare talk to your origin over HTTP while presenting HTTPS to the browser — WordPress detects HTTP and redirects to HTTPS, Cloudflare sees the redirect and forwards, WordPress redirects again. Infinite loop.

Full (Strict) requires a valid SSL cert on your origin. Most modern hosts include one automatically (Let's Encrypt). If your origin doesn't have one, install it via your host panel before switching modes.

Prefer we just fix it?

This exact error is what our flat-fee website repair service resolves — most fixes ship in under 60 minutes, no retainer, no lock-in. Learn more about flat-fee website repair or grab a slot below.

Fix #3 — Check .htaccess for competing rules

SFTP in and open .htaccess. If you see multiple redirect blocks — one forcing HTTPS, another forcing www, a third forcing no trailing slash — they can compound into a loop when combined with a plugin like Really Simple SSL.

Temporarily rename .htaccess to .htaccess-old. Load the site. If the loop is gone, one of your redirect rules was the cause. Reintroduce rules one at a time until the loop returns to identify which.

Fix #4 — Deactivate SSL/redirect plugins temporarily

Really Simple SSL, Redirection, and 301 Redirects are common triggers when their rules conflict with server-level redirects. SFTP into /wp-content/plugins and rename the plugin folder to disable it. Load the site — if the loop is gone, the plugin's config was the cause.

When to call for help

If URLs, Cloudflare SSL mode, .htaccess, and plugins are all clean and the loop persists, the redirect is happening at the host or DNS level — needs someone to trace the response headers step by step. We fix redirect loops in under 15 minutes on care plans.

Common questions

What causes ERR_TOO_MANY_REDIRECTS in WordPress?+

A redirect loop between two versions of your URL. Most commonly HTTPS ↔ HTTP (often caused by Cloudflare in Flexible SSL mode), www ↔ non-www, or trailing-slash mismatches. Force canonical URLs in wp-config.php with WP_HOME and WP_SITEURL to fix the majority of cases.

Does Cloudflare cause the too many redirects error?+

Yes — specifically when SSL/TLS mode is set to Flexible. Cloudflare talks to your origin over HTTP while presenting HTTPS to the browser, WordPress redirects to HTTPS, Cloudflare forwards, WordPress redirects again. Switch to Full (Strict) after confirming your origin has a valid SSL cert.

How do I fix a WordPress redirect loop without wp-admin?+

Add define('WP_HOME', 'https://yourdomain.com'); and define('WP_SITEURL', 'https://yourdomain.com'); to wp-config.php via SFTP. Use your exact canonical URL. This bypasses the database values and stops WordPress from redirecting to a different variant of the URL you're already loading.

Can Really Simple SSL cause redirect loops?+

Yes, when its rules conflict with server-level HTTPS redirects. If you added Really Simple SSL after your host already forced HTTPS, both are trying to do the same job. Deactivate the plugin — if the loop resolves, keep the host-level redirect and skip the plugin.

Want help with this?

The pages below go deeper, by service and by city.

Want this handled for you?

Book a call and we will review your site before recommending anything.

Call Book a call