We’ve all been there. You click a link expecting a homepage or a helpful article, and instead your browser just spins its wheels. A few seconds later you’re staring at a frustrating error screen that says “The page isn’t redirecting properly” or “ERR_TOO_MANY_REDIRECTS,” and you’re not quite sure what to do next.

If this is happening on your own WordPress site, take a breath, it’s a common problem and it’s much easier to solve than it looks. Let’s walk through exactly what a redirect loop is, why it happens, and how to fix it step by step, so you can get your site back online quickly.

Key Takeaways

  • A redirect loop happens when your browser gets stuck bouncing back and forth between two or more web addresses, forever.
  • The usual suspects are mismatched WordPress site URLs, a misconfigured SSL certificate, a buggy plugin, or CDN caching gone sideways.
  • Clearing your browser cache and site cookies is always worth trying first, it’s the easiest fix and solves this more often than you’d think.
  • Managed hosting like Elementor Hosting helps you avoid this altogether by handling SSL setup and server configuration for you.
  • Updating configuration files like your .htaccess file can clear up deeper, server-level routing conflicts.

What Exactly Is a Redirect Loop?

Picture a museum with two overly polite guides. You ask the one at the door where the modern art exhibit is, and he points you to Room A. In Room A, someone tells you it’s actually back in Room B. So you head to Room B, and that guide sends you right back to Room A. You end up pacing between the same two rooms forever, never actually seeing any art.

That’s basically what happens inside your browser during a redirect loop. When you try to load a page, the server sends back a redirect response telling your browser the page has moved. This usually happens through HTTP redirect status codes like 301 (a permanent redirect) or 302 (a temporary one). But if page A redirects to page B, and page B redirects right back to page A, your browser gets stuck cycling between them with no way out.

Eventually your browser catches on. To protect your computer’s memory and bandwidth, it breaks the cycle itself and shows you an error instead. The exact wording depends on which browser you’re using:

  • Google Chrome – “This page isn’t working. example.com redirected you too many times. Try clearing your cookies. ERR_TOO_MANY_REDIRECTS.”
  • Mozilla Firefox – “The page isn’t redirecting properly. Firefox has detected that the server is redirecting the request for this address in a way that will never complete.”
  • Apple Safari – “Safari Can’t Open the Page. Too many redirects occurred trying to open ‘example.com’. This might occur if you open a page that’s redirected to open another page, which then is redirected to open the original page.”
  • Microsoft Edge – “This page isn’t working right now. example.com redirected you too many times. ERR_TOO_MANY_REDIRECTS.”

How Redirect Loops Hurt Your WordPress Site

When your site gets caught in a redirect loop, the fallout is immediate and it isn’t pretty. This isn’t just a minor annoyance. Left alone, it can quietly damage your business and your digital presence.

A Terrible User Experience

First and simplest problem: your visitors can’t get in. It doesn’t matter if they came to read a blog post, browse your portfolio, or buy something, they’re stopped cold by an ugly browser error. Most people online have very little patience these days. If your site doesn’t load in a couple of seconds, or throws up a technical error instead, they’ll hit the back button and find what they need somewhere else. That drives your bounce rate up and does real damage to how people see your brand.

Severe Blows to Your SEO Rankings

Search engines like Google send out automated bots, often called crawlers, to index your website pages. When these crawlers run into a redirect loop, they get stuck the same way human visitors do.

If Google’s bots can’t crawl your pages, they can’t index your content either. And if a redirect loop sticks around for more than a few hours, search engines may temporarily drop those broken pages from search results rather than send their users somewhere that doesn’t work. All the hard work you’ve put into your search engine optimization can slip away fast.

Wasted Server Resources

Every single redirect means another round trip between the browser and your web server. When a browser gets caught in a loop, it fires off dozens of rapid requests before it finally gives up. Now picture several visitors or search crawlers hitting that same loop at once, your server ends up processing thousands of useless requests. That wastes bandwidth, maxes out your CPU, and can even crash your entire server if your hosting plan doesn’t have the power to scale.

Common Causes of WordPress Redirect Loops

Because WordPress runs on PHP, databases, and a whole stack of server settings working together, there are several moving parts that can trigger a redirect loop. Finding the real cause is most of the battle here (once you know what’s actually wrong, the fix is usually quick). Let’s look at the most common reasons this happens.

1. Do Your WordPress and Site Addresses Match?

This is probably the most common WordPress-specific cause of redirect loops. Inside your WordPress general settings, there are two fields that matter a lot here: the WordPress Address (URL) and the Site Address (URL).

The WordPress Address tells the system where your core WordPress files actually live, while the Site Address tells it how visitors find your site. If those two don’t match up exactly (say, one uses “http” and the other “https,” or one includes “www” and the other doesn’t), your site gets confused about where to send traffic, and that confusion turns into a loop.

2. Misconfigured SSL Certificates and HTTPS Redirects

Securing your site with an SSL certificate matters a lot today, no argument there. But if you force HTTPS connections before your certificate is properly installed, or your redirect rules aren’t set up quite right, you can trigger a loop without meaning to.

Here’s what that looks like in practice: the server tries to push everyone toward the HTTPS version of a page, but a conflicting rule says traffic should default back to HTTP. Your browser gets tossed between the two until it eventually gives up.

3. Could a Plugin Be Causing the Problem?

Plugins are great for extending what your WordPress site can do, but every so often they don’t play nice with each other. Redirection plugins, SEO tools, and security plugins all like to write their own rules to your server files. If you’ve got two different plugins both trying to manage your redirects or SSL settings, those competing instructions can trap your visitors in a loop.

4. Cloudflare or CDN Flexible SSL Settings

A lot of site owners use a content delivery network, or CDN, like Cloudflare to speed things up and add a layer of protection. But CDNs can cause their own headaches when their SSL settings don’t line up with your origin server’s.

If you’re using Cloudflare’s “Flexible SSL” option, Cloudflare encrypts the connection between your visitor and itself, but talks to your web server over plain, unencrypted HTTP. If your server has a rule forcing all HTTP traffic to redirect to HTTPS, it’ll redirect Cloudflare’s request. Cloudflare then sends that request right back over HTTP, and the loop is born.

5. Corrupted Server Configuration Files

Your web server relies on special files, like .htaccess on Apache servers or configuration files on Nginx servers, to handle rewrite rules. If a plugin, a manual edit, or a server update corrupts one of these with bad code, your entire routing system can break, and a redirect loop follows close behind.

How to Identify a Redirect Loop

Before you start editing code or disabling plugins, it’s worth confirming that a redirect loop is really what you’re dealing with. Here are a couple of simple ways to check.

Want to Watch the Redirects Happen in Real Time?

Your browser’s built-in developer tools let you watch redirects happen as they occur, which is genuinely useful since it shows you the exact path your browser is taking.

  1. Open your browser and head over to your website.
  2. Right-click anywhere on the page and choose Inspect (or press F12).
  3. Click the Network tab.
  4. Refresh the page to capture the traffic.
  5. Scroll through the list of requests. You’ll likely spot the exact same URL showing up over and over, with status codes like 301 Moved Permanently or 302 Found.

Prefer a Tool That Does the Checking for You?

If developer tools feel a little intimidating, don’t worry, there are plenty of free online tools that can analyze your redirects for you. Sites like Redirect-Checker.org or HttpStatus.io let you paste in your website address and see the complete redirect path (this part takes about ten seconds). If there’s a loop, the tool will flag it clearly and show you exactly which URLs are pointing back at each other.

Step-by-Step Guide to Fixing a Redirect Loop

Now that you know what a redirect loop is and how to spot it, let’s roll up our sleeves and get it fixed. We’ll start with the easiest, most common solutions and work up to the more technical fixes if you need them. Take it one step at a time, you’ve got this.

Step 1: Clear Your Browser Cache and Cookies

Sometimes your website is actually perfectly fine, but your browser is still holding onto a cached redirect rule from back when your site was misconfigured. Browsers love to cache 301 redirects because they’re supposed to be permanent.

To rule this out, try clearing your browser cache and cookies. If you’d rather not wipe everything, try opening your website in a private browsing window (Incognito mode) instead. If the site loads fine there, the issue was simply your browser’s local cache. Clear it out and you’re good to go!

Step 2: Check Your WordPress Site URLs

If it isn’t your cache, the next logical place to look is your WordPress URL settings. If you still have access to your dashboard, this one’s easy to check.

  1. Log in to your WordPress dashboard.
  2. Go to Settings and click on General.
  3. Look at the WordPress Address (URL) and Site Address (URL) fields.
  4. Make sure both URLs are exactly the same. Pay close attention to whether they use https:// or http://, and check if one of them has a www while the other doesn’t. They need to match perfectly.
  5. Scroll to the bottom of the page and click Save Changes.

But what if you can’t get into your WordPress dashboard because of the redirect loop? Don’t worry, you can fix this by editing your wp-config.php file instead. You can reach this file using a file manager in your hosting control panel or via SFTP.

  1. Connect to your server using SFTP or your host’s File Manager.
  2. Find the wp-config.php file in your site’s root directory.
  3. Right-click and edit the file (grab a backup copy first, just in case).
  4. Add the following two lines of code near the top of the file, right before the line that says “That’s all, stop editing! Happy publishing”:
define('WP_HOME', 'https://example.com');define('WP_SITEURL', 'https://example.com');

Swap out https://example.com for your actual domain name. Save the file and upload it back to your server. This hardcodes your URLs and overrides whatever’s sitting in your database, which often clears up the loop instantly.

Step 3: Fix Your Cloudflare or CDN SSL Settings

If you’re using Cloudflare, this is a very common place for a loop to start. If your WordPress site is configured to force HTTPS but Cloudflare’s SSL setting is still set to “Flexible,” the two will fight each other.

To fix this, log in to your Cloudflare dashboard and head over to the SSL/TLS tab. Change your encryption mode from Flexible to Full or Full (Strict). This tells Cloudflare to talk to your origin server over a proper, secure HTTPS connection, which stops the HTTP-to-HTTPS redirect loop cold.

If you’re on a premium, modern cloud hosting plan, this kind of CDN configuration is usually handled for you already. Elementor Hosting, for instance, builds Cloudflare Enterprise right into its infrastructure, so you’re not stuck wrangling manual CDN setups or SSL mismatches yourself.

Step 4: Troubleshoot Your WordPress Plugins

If your URLs and SSL settings check out, a plugin is likely causing the conflict. The tricky part is figuring out which one.

If you have access to your dashboard, go to your Plugins page. Deactivate your active redirect plugins, security plugins, or SEO plugins one by one, checking your site after each deactivation to see if the loop is gone.

Can’t reach your dashboard at all? You can deactivate all your plugins at once via SFTP. It sounds a bit drastic, but it’s actually a safe and easy trick:

  1. Connect to your server via SFTP.
  2. Navigate to the wp-content folder.
  3. Locate the folder named plugins.
  4. Rename this folder to something like plugins_temp. This instantly deactivates every plugin on your site because WordPress can no longer find them.
  5. Try loading your website. If it works, you’ve confirmed a plugin was causing the issue.
  6. Rename the folder back to plugins.
  7. Log in to your WordPress dashboard (which should now be accessible) and go to your Plugins page. They’ll all show up deactivated.
  8. Activate them one by one until the loop returns. Whichever one you just turned on is the problem plugin, you can delete it, find an alternative, or dig into its settings.
Elementor Hosting includes a dashboard for safely activating and deactivating plugins while you track down a conflict.

Step 5: Reset Your Server Configuration Files

Sometimes bad redirect rules get written directly into your server configuration files. If your site runs on an Apache server, that means your .htaccess file. Over time, plugins can pile lines of code into this file until it’s a tangled mess of rules.

To fix this, you can reset your .htaccess file to the default WordPress settings:

  1. Connect to your server using SFTP.
  2. Find the .htaccess file in your root folder. If you can’t see it, make sure your SFTP client is set to show hidden files (anything starting with a dot is often hidden by default).
  3. Rename the file to .htaccess_old to disable it.
  4. Create a brand new file on your server and name it .htaccess.
  5. Open the new file and paste in the default WordPress rewrite rules:
# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress

Save the file and upload it. This clean slate clears out any broken custom rules that might have been causing your redirect loops. Going forward, if you need to set up redirects, keep them clean and organized so you don’t run into the same problem twice.

Comparison of Redirect Rules and Status Codes

To help you understand how these different redirects work and when to use each one, here’s a simple comparison table. Choosing the right redirect status code matters for keeping your site’s traffic flow clear and healthy.

Status Code Type of Redirect Best Use Case SEO Link Juice Passed?
301 Moved Permanently Permanent redirect You’ve permanently moved a page to a new URL, or you’ve migrated your entire website to a new domain. Yes, almost all link authority is passed to the new URL.
302 Found (Temporary) Temporary redirect You’re running a temporary promotion, updating a page, or doing short-term site maintenance. No, search engines keep indexing the original URL.
307 Temporary Redirect Temporary (modern) The modern equivalent of a 302 redirect. Used when the request method must not be changed. No, search engines continue to prioritize the original URL.
308 Permanent Redirect Permanent (modern) The modern equivalent of a 301 redirect. Used when you want a permanent move but need to preserve the exact request method. Yes, link authority passes over to the new URL.

Expert Insights on WordPress Redirect Management

Managing redirects well isn’t only about fixing errors once they happen. It’s also about building a clean, scalable structure that keeps your site fast and reliable as it grows. Keeping your redirect list short and simple goes a long way toward maintaining top-tier site performance.

“One of the most common causes of slow page load times is a long chain of unnecessary redirects. Every hop adds physical latency. When those hops loop back on themselves, you don’t just get a slow site, you get a completely broken one. Keep your redirection rules clean, localized, and close to the server level to ensure your site performs at its absolute best.” – Itamar Haim, WordPress Performance Specialist

Take that advice to heart and try to avoid “redirect chains,” where Page A redirects to Page B, which then redirects to Page C. If you need to move content, point Page A directly at Page C instead. This cuts down on the work your server and browser both have to do, keeping your website snappy and responsive.

Preventing Future Redirect Loops with Quality Hosting

Knowing how to troubleshoot a redirect loop is a genuinely useful skill, but preventing one from happening in the first place is even better. Many redirect loops trace back to misconfigured server software, poorly managed SSL certificates, and messy caching setups. This is where your choice of web hosting makes a real difference.

Choosing a managed hosting solution like Elementor Hosting takes a lot of that technical stress off your plate. Built on Google Cloud C2 infrastructure and paired with Cloudflare Enterprise, it gives you a stable, well-tuned environment built specifically for WordPress.

Managed WordPress hosting environment that handles SSL certificates and server configuration automatically
Quality managed WordPress hosting handles SSL and server configuration, so mismatches like these rarely happen in the first place.

Here’s how quality managed hosting keeps you safe from redirect loops:

  • Installs a free, premium SSL certificate automatically, so you skip the classic HTTP/HTTPS mismatch loop entirely.
  • Optimizes server-level caching and CDN settings together, so you’re not stuck untangling clashing caching plugins or CDN configurations.
  • Spins up a safe staging environment where you can test new plugins, updates, or redirect rules before they ever touch your live site.
  • Restores your site to a previous working version from a backup if a configuration error ever goes wrong.
A staging environment lets you test redirect rules and plugin updates before they ever touch your live site.

When your hosting provider handles these server-level details for you, you get to spend less time editing code files and more time building beautiful pages and growing your business.

Frequently Asked Questions

Still have questions? Here are answers to some of the ones people ask most about redirect loops and how to handle them on a WordPress site.

What is a redirect loop?

A redirect loop is an infinite cycle that happens when a browser tries to load a page, gets redirected to another URL, and that second URL redirects back to the original page (or to a third page that redirects back to the start). Because the cycle never ends on its own, the browser eventually stops trying and displays an error message instead.

Can a plugin cause a redirect loop in WordPress?

Yes, conflicting plugins are one of the most common causes of redirect loops in WordPress. Redirection plugins, SEO plugins, security tools, and SSL enforcers can easily end up writing rules that clash with each other. Deactivating your plugins one at a time is a reliable way to pinpoint the exact culprit.

Why does Cloudflare cause redirect loops?

Cloudflare often causes redirect loops when its SSL setting is set to “Flexible” while your origin server is configured to force HTTPS connections. Cloudflare requests your site over unencrypted HTTP, your server tells Cloudflare to use HTTPS, and Cloudflare sends the request back via HTTP again, trapping the visitor in an endless loop. Changing Cloudflare’s SSL setting to “Full” or “Full (Strict)” fixes this.

How do I fix ERR_TOO_MANY_REDIRECTS on my phone?

Seeing this on a mobile device? Start by clearing your mobile browser’s cookies and cache, that’s the easiest first step. If the error keeps happening after that, the issue is really on the website’s server side, and the site owner will need to fix their URL settings or server configuration.

Does a redirect loop affect my website’s SEO?

Yes, redirect loops can severely damage your SEO rankings if they aren’t fixed quickly. Search engine crawlers can’t get through a loop any more than a human visitor can, meaning they can’t index your content either. If a loop continues for more than a day, search engines may drop your broken pages from search results completely.

How do I edit my wp-config.php file to fix a redirect loop?

You can access your wp-config.php file using an SFTP client or your hosting provider’s file manager. Open the file and add two lines of code near the top: define('WP_HOME', 'https://example.com'); and define('WP_SITEURL', 'https://example.com'); (swapping in your actual domain). This overrides any incorrect URL settings sitting in your database.

Are 301 and 302 redirects safe from loops?

Both 301 and 302 redirects are perfectly safe when set up correctly. But if you point a 301 redirect from Page A to Page B, and then accidentally set up a 302 redirect sending Page B back to Page A, you’ve just built yourself a redirect loop. Always double-check your destination URLs to make sure they don’t secretly point back to the source.

Is it better to use a plugin or server files for redirects?

For small sites, a reliable redirection plugin is easy and convenient. But for larger sites, or when performance really matters, handling redirects at the server level (using your .htaccess file or Nginx rules) is faster. It processes the redirect before WordPress even loads, saving your server some work.