Home / Wordpress / How to Fix ERR_TOO_MANY_REDIRECTS on Your WordPress Site

How to Fix ERR_TOO_MANY_REDIRECTS on Your WordPress Site



We come across a lot of different errors here at Kinsta, and the ERR_TOO_MANY_REDIRECTS 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.

What is the ERR_TOO_MANY_REDIRECTS Error?

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.

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. domain.com redirected you too many times.

ERR_TOO_MANY_REDIRECTS

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

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

Delete Cookies and Clear Cache in Your Browser

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

And of course, it never hurts to try clearing your cache and restarting your browser as well. Below are instructions on how to clear cache in the various browsers:

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 

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 % off
RewriteRule ^(.*)$ https:

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

Redirects

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.

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

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. If you have some plugins that are doing redirects, a conflict with these could easily cause 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 % !-f
RewriteCond % !-d
RewriteRule . /index.php [L]
</IfModule>
# 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 https://domain.com/ 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.



Check Also

14 Awesome Online Places Where You Can Learn WordPress

Blogs, forums, online courses, webinars, conferences, videos. These are just a few of the ways …

Leave a Reply

Your email address will not be published. Required fields are marked *