Skip to main content
Too Many Redirects Error Fix — Contractor Website

Too Many Redirects Error Fix — Contractor Website

Too Many Redirects Error Fix

Your contractor website shows: “This page isn’t working — example.com redirected you too many times. ERR_TOO_MANY_REDIRECTS.”

This error means the browser followed a chain of redirects that looped back on itself. Instead of loading a page, it kept bouncing between URLs until it hit the limit and gave up. The site is completely unreachable to visitors until it is fixed.

What Causes a Redirect Loop

HTTP to HTTPS Misconfiguration

The most common cause for contractor websites. It happens when:

  1. The hosting server is configured to redirect all traffic from http:// to https://
  2. WordPress is also configured to redirect to https:// in the settings
  3. A caching plugin or CDN adds a third redirect layer

Each redirect triggers the next, and they form a loop. The browser cannot find a stable destination.

This is especially common immediately after:

  • Installing or activating an SSL certificate
  • Migrating a site from HTTP to HTTPS
  • Enabling “Force HTTPS” in a hosting control panel

See Fix Not Secure Warning and SSL Errors for context on HTTPS configuration.

WordPress Site URL Mismatch

WordPress stores the site URL in its database. If the WordPress Address and Site Address settings (Settings → General) reference a different URL than what the server expects, it creates a redirect loop.

For example:

  • WordPress is set to http://example.com
  • The server redirects all HTTP traffic to https://example.com
  • WordPress then redirects back to http://example.com
  • Loop

The fix is updating WordPress Site URL settings to match the intended HTTPS URL.

Incorrect .htaccess Rules

The .htaccess file on Apache servers controls redirect rules. Duplicate or conflicting redirect rules — often added by plugins, hosting tools, or manual edits — can create loops.

A WordPress .htaccess file with a manual redirect to HTTPS alongside a plugin that also handles the redirect is a common conflict.

Cloudflare SSL Mode Mismatch

If the site uses Cloudflare and the SSL mode is set to “Flexible” while the origin server also has HTTPS enabled, a loop forms:

  • Browser requests https://example.com
  • Cloudflare connects to origin over HTTP
  • Origin redirects to HTTPS
  • Cloudflare receives the redirect and loops

The fix is changing Cloudflare’s SSL mode to “Full” or “Full (Strict)”.

Plugin or Theme Conflict

Some SEO plugins, security plugins, or themes add redirect rules that conflict with existing server or WordPress configuration. This is more likely after a plugin update.

See Plugin Conflicts for how to isolate a plugin-caused redirect issue.

How to Fix ERR_TOO_MANY_REDIRECTS

Step 1 — Clear Browser Cache and Cookies

Before doing anything else, clear the browser cache and cookies for the affected site. Redirect loops are sometimes cached by the browser and clearing cache resolves the error without any server changes.

Step 2 — Check WordPress Site URL Settings

Access WordPress via /wp-admin/. Go to Settings → General and check:

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

Both should be https://yourdomain.com (with HTTPS, no trailing slash). If either shows http://, update it.

If you cannot access /wp-admin/ due to the redirect loop, update the URL directly in the database via phpMyAdmin or using WP-CLI:

wp option update home 'https://yourdomain.com'
wp option update siteurl 'https://yourdomain.com'

Step 3 — Check .htaccess

Access the .htaccess file via FTP or the hosting file manager. Look for duplicate redirect rules. A correct WordPress .htaccess with HTTPS redirect looks like this:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Remove any duplicate redirect blocks.

Step 4 — Deactivate All Plugins

If the redirect loop started after a plugin update, deactivate all plugins via FTP (rename the /wp-content/plugins/ folder) and test. Reactivate one at a time to find the conflict.

Step 5 — Check Cloudflare SSL Mode

If using Cloudflare, log in → SSL/TLS → change mode from Flexible to Full or Full (Strict).

Get It Fixed

A redirect loop makes the site completely inaccessible — every visitor sees an error. The fix is usually a single configuration correction, but finding the right one requires access to the hosting account, WordPress admin, and .htaccess. If you do not have that access or are not sure where the loop is coming from, a technical diagnosis will locate it quickly.