How to Fix ERR_TOO_MANY_REDIRECTS on Your WordPress Site

Updated on March 17, 2018

We come across a lot of different errors here at Kinsta, and ERR_TOO_MANY_REDIRECTS (also known as a redirect loop) is one we see on a regular basis. Typically this occurs after a recent change on your WordPress site, a misconfiguration of redirects on your server, or wrong settings with third-party services. But don’t worry, this error is fairly easy to fix. Check out the recommendations below on how to fix this error and get your site back up and running.


The reason for ERR_TOO_MANY_REDIRECTS is pretty much what it sounds like, something is causing your website to go into an infinite redirection loop. Essentially the site is stuck (such as URL 1 points to URL 2 and URL 2 points back to URL 1, or the domain has redirected you too many times) and unlike some other errors, these rarely resolve themselves and will probably need you to take action to fix it.

There are a couple different variations of this error depending upon the browser you’re running.

Google Chrome

In Google Chrome this error will show as ERR_TOO_MANY_REDIRECTS (as seen below) or This webpage has a redirect loop problem.

This page isn’t working. redirected you too many times.



Mozilla Firefox

In Mozilla Firefox it will show as The page isn’t redirecting properly (as seen below).

Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

The page isn't redirecting properly

The page isn’t redirecting properly in Firefox

Microsoft Edge

In Microsoft Edge, it will simply show as Hmmm… can’t reach this page (as seen below). Which isn’t very helpful.



Here are some recommendations and things to check to fix the error (sorted in order by most common reasons we see):

Delete Cookies on That Specific Site

Google and Mozilla both in fact recommend right below the error to “try clearing your cookies.” Cookies can sometimes contain faulty data in which could cause the ERR_TOO_MANY_REDIRECTS error. This is one recommendation you can try even if you’re encountering the error on a site you don’t own.

Due to the fact that cookies retain your “logged in” status on sites and other settings, we recommend simply deleting the cookie(s) on the site that is having the problem. This way you won’t impact any of your other sessions or websites that you frequently visit.

Follow the steps below to delete a cookie on a specific website in Google Chrome.

Step 1

In Google Chrome click on the three small dots in the upper right-hand corner. Then click on “Settings.”

Chrome settings

Chrome settings

Step 2

Scroll down and click on “Advanced.”

Chrome advanced settings

Chrome advanced settings

Step 3

Then click on “Content settings.”

Chrome content settings

Chrome content settings

Step 4

Click on “Cookies.”

Chrome cookies

Chrome cookies

Step 5

Then click on “See all cookies and site data.”

Chrome see all cookies

Chrome see all cookies

Step 6

Search for the site (domain) where you are encountering the ERR_TOO_MANY_REDIRECTS error. You can then delete the cookie(s) currently stored on your computer for that domain. Then try visiting the site again.

Delete cookie in Chrome

Delete cookie in Chrome

Clear Server, Proxy, and Browser Cache

Due to the fact that redirect loops are responses that can be cached, it’s always recommended to try clearing the cache on your WordPress site, the server, third-party proxy services, and even your browser if necessary.

Clear WordPress Site Cache

Depending upon the type of redirect loop, you might still be able to gain access to your WordPress admin dashboard. In this case, you can easily clear the cache within the settings of your caching plugin. Here are a couple quick links on how to clear WordPress cache with popular plugins:

If you’re a Kinsta client, you can easily clear your cache from the WordPress admin toolbar.

Clear Kinsta cache from WordPress admin

Clear Kinsta cache from WordPress admin

Clear Server Cache

If you can’t access your admin dashboard, many WordPress hosts have their own control panel tools for clearing the cache on your WordPress site.

If you’re a Kinsta client, you can manually clear WordPress cache from within the MyKinsta dashboard. Simply click on your site, click into tools, and click on the “Clear Cache” button. Then check your site to see if the redirect loop still exists.

Clear WordPress cache

Clear WordPress cache

Clear Proxy Cache

If you’re using a third-party reverse-proxy service such as Cloudflare or Sucuri, it can also be beneficial to clear the cache on their side.


To purge Cloudflare cache, login to their dashboard, click into “Caching” and click on “Purge Everything.”


To purge Sucuri cache, login to their dashboard, go to “Performance” and click on “Clear Cache.”

Clear Sucuri cache

Clear Sucuri cache

Clear Browser Cache

If you want to check and see if it might be your browser cache, without clearing your cache, you can always open up your browser in incognito mode. Or test another browser and see if you still see the ERR_TOO_MANY_REDIRECTS error.

Open Chrome in Incognito mode

Open Chrome in Incognito mode

If you determine it is being caused by your browser cache, you can then clear it. Below are instructions on how to do it in various browsers:

Determine Nature of Redirect Loop

If clearing the cache didn’t work, then you’ll want to see if you can determine the nature of the redirect loop. The free online Redirect Checker tool can help provide some further analysis into what might be going on. This could also be done via cURL.

For example, on the site below, it has a 301 redirect loop back to itself, which is causing a large chain of faulty redirects. You can follow all the redirects and determine whether or not its looping back to itself, or perhaps is an HTTP to HTTPS loop in which we’ll discuss how to solve that further below.

Too many redirects

Too many redirects

The Redirect Path Chrome extension can also be very useful and provides insights into all of the redirects happening on your site (specific URL or page.

Redirect Path extension

Redirect Path extension

Check Your HTTPS Settings

Another thing to check is your HTTPS settings. A lot of times we ‘ve seen ERR_TOO_MANY_REDIRECTS occur when someone has just migrated their WordPress site to HTTPS and either didn’t finish or setup something incorrectly.

1. Don’t Force HTTPS Without an SSL Certificate

This is by far the most common reason we see on a regular basis. If you force your WordPress site to load over HTTPS without first installing an SSL certificate, you’ll instantly throw your site into a redirection loop. To fix this, simply install an SSL certificate on your WordPress site.

It’s also recommended to run an SSL check. SSL/TLS certificates require not only your main certificate but also what they call intermediate certificates (chain) to also be installed. These need to be setup properly.

We recommend using the free SSL check tool from Qualys SSL Labs. It is very reliable and we use it for all Kinsta clients when verifying certificates. Simply head over to their SSL check tool, input your domain into the Hostname field and click on “Submit.” You can also select the option to hide public results if you prefer. It could take a minute or two to scan your site’s SSL/TLS configuration on your web server.

SSL check

SSL test

2. Don’t Use an SSL Plugin, Update your Hard-coded Links

There are some free SSL WordPress plugins, such as the Really Simple SSL plugin that will help you automatically redirect to HTTPS. However, we don’t recommend this method as a permanent solution because third-party plugins can always introduce another layer of problems and compatibility issues. It’s a good temporary solution, but you should really update your hard-coded HTTP links.

We have a great tutorial with 4 easy ways to do a search and replace in WordPress. If you’re a Kinsta client, you can always reach out to our support team to do this for you as well.

3. Check HTTP to HTTPS Redirects on Server

It could very well be that perhaps the HTTPS redirect rules on your server were misconfigured.

Redirect HTTP to HTTPS in Nginx

If your web server is running Nginx, you can easily redirect all of your HTTP traffic to HTTPS by adding the following code to your Nginx config file. This is the recommended method for redirecting WordPress running on Nginx.

server { listen 80; server_name; return 301$request_uri; }

We use Nginx for everyone here at Kinsta. The great news is that you don’t have to worry about this. If you need to add a redirect simply open up a quick support ticket and let us know which domain you need redirected. We then add it to the Nginx config for you.

Redirect HTTP to HTTPS in Apache

If your web server is running Apache, you can easily redirect all of your HTTP traffic to HTTPS by adding the following code to your .htaccess file. This is the recommended method for redirecting WordPress running on Apache.

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

4. Check For Too Many HTTPS Redirects

Perhaps you simply have too many HTTPS redirects. You can easily check your site to see how many redirects it’s using with Patrick Sexton’s Redirect mapper tool. Here is an example below of redirects that are not setup correctly which are easily spottable using the redirect mapper. You can see that there are duplicate HTTPS redirects happening on both the www and non-www versions.

redirects not setup correctly


Check Third-Party Services

ERR_TOO_MANY_REDIRECTS is also often commonly caused by reverse-proxy services such as Cloudflare. This usually happens when their Flexible SSL option is enabled and you already have an SSL certificate installed with your WordPress host. Why? Because, when flexible is selected, all requests to your hosting server are sent over HTTP. Your host server most likely already has a redirect in place from HTTP to HTTPS, and therefore a redirect loop occurs.

To fix this you need to change the Cloudflare Crypto settings from Flexible to either Full or Full (strict). If you’re a Kinsta client, make sure to also check out our steps on how to install an SSL certificate while using Cloudflare.

Cloudflare full

Set Cloudflare crypto level to full

You can use their Always Use HTTPS page rule to redirect all users to HTTPS without creating a loop. Another thing to watch out for with Cloudflare is their forwarding URL redirection rules. Be careful not to create a redirect where the domain points to itself as a destination. This can cause an infinite redirect error, and the affected URLs will not be able to resolve.

Check Your WordPress Site Settings

Another thing to check is your WordPress site settings. There are two different fields you’ll want to ensure are set correctly, and not pointing at a wrong domain or are mismatched. Another common mistake is that you’re not using the correct prefix to match the rest of your site, www or non-www. Sometimes people migrate hosts, or change domains and these can get changed without you realizing it.

  • WordPress Address (URL): The address to reach your blog.
  • Site Address (URL): The address of your WordPress core files.

Both should match unless you are giving WordPress it’s own directory.

WordPress address

WordPress address

Most likely though you aren’t able to access your WordPress dashboard. So what you can do is override the settings above by inputting the values in your wp-config.php file.

The wp-config.php file is typically located at the root of your WordPress site and can be accessed via FTP, SSH, or WP-CLI. To hard-code WP_HOME and WP_SITEURL, simply input the following code towards the top of the file, changing the values to reflect your domain.


Below is an example of what your wp-config.php file might look like afterward.

change wordpress url wp-config.php

Change WordPress URL in wp-config.php file

Or if you prefer, here are two additional ways you could change your WordPress URLs without access to your admin dashboard:

Once you manually set it, you can browse to your site to verify whether or not it fixes the redirect loop.

Temporarily Disable WordPress Plugins

When it comes to WordPress, temporarily disabling all your WordPress plugins can be a quick way to spot problems. For example, plugins such as Redirection or Yoast SEO premium let you implement redirects. Sometimes settings or updates to these plugins can conflict with redirects that might already be set on your server, causing a redirect loop.

Remember, you won’t lose any data if you simply disable a plugin. Most likely you can’t access the WordPress admin, so you’ll need login via SFTP to your server and rename your plugins folder to something like plugins_old. Then check your site again.

SFTP rename plugins folder

SFTP rename plugins folder

If it works, then you will need to test each plugin one by one. Rename your plugin folder back to “plugins” and then rename each plugin folder inside of if it, one by one, until you find it. You could also try to replicate this on a staging site first.

Rename plugin folder

Rename plugin folder

Check Redirects on Your Server

Besides HTTP to HTTPS redirects on your server, it can be good to check and make sure there aren’t any additional redirects setup wrong. For example, one bad 301 redirect back to itself could take down your site. Usually, these are found in your server’s config files.

Apache .htaccess file

Kinsta only uses Nginx, but if you’re using a WordPress host that is running Apache, it could very well be that your .htaccess file has a wrong rule in it. Follow the steps below to recreate a new one from scratch.

First, login to your site via FTP or SSH, and rename your .htaccess file to .htaccess_old. This ensures you have a backup.

Rename .htaccess file

Rename .htaccess file

Normally to recreate this file you can simply re-save your permalinks in WordPress. However, if you’re in the middle of an ERR_TOO_MANY_REDIRECTS error you most likely can’t access your WordPress admin, so this isn’t an option. Therefore you can create a new .htaccess file and input the following contents. Then upload it to your server. The following uses the default settings.

# 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]
# END WordPress

See the WordPress Codex for more examples, such as a default .htaccess file for multisite.

Nginx Config

If your host uses Nginx, this file can be a little trickier as the config file can vary a bit depending on the hosting provider. We recommend reaching out to your host and have them check your config file for anything that might be causing a redirect loop or too many redirects.

If you’re a Kinsta client, you’ll first want to check to ensure you didn’t setup a redirect wrong in our redirect tool. Below is a simple example of a redirect from back to itself that would cause a redirect loop.

Bad 301 redirect

Bad 301 redirect

And of course, you can always open up a support ticket and we’ll check this for you.

This article was written by Brian Jackson
Brian focuses on our inbound marketing efforts; everything from developing new online growth strategies, content creation, technical SEO, and outreach within the WordPress community. He has a huge passion for WordPress, has been using it for 8+ years, and even develops a couple premium plugins. Brian enjoys blogging, movies, bike rides, and flipping websites.

Hand-picked related articles

Leave a Reply

Use WordPress?

Join 20,000+ others who get our FREE weekly newsletter with WordPress tips on how to drive more traffic and revenue to your business!

You have Successfully Subscribed!

Send this to a friend