A website that keeps bouncing between the same pages is more than annoying. It can lock visitors out, block your WordPress login, and make your business site look broken.

The WordPress too many redirects error usually appears when parts of your setup disagree. WordPress may expect HTTPS while your server sends HTTP, or your domain may switch between www and non-www. Plugins, caching systems, .htaccess, and Cloudflare can also create conflicting rules.

We’ll start with the quickest checks, then move into server and hosting settings if the problem remains.

Key Takeaways

  • The WordPress too many redirects error usually comes from conflicting HTTPS, domain, plugin, server, CDN, or caching settings.
  • Trace the redirect chain first to identify whether the loop involves HTTP and HTTPS, or www and non-www URLs.
  • Make sure the WordPress Address URL and Site Address URL match exactly, and use wp-config.php if you can’t access the dashboard.
  • Deactivate redirect, security, SSL, and caching plugins, then purge caches across WordPress, hosting, your CDN, Cloudflare, and the browser.
  • Use one clear owner for HTTPS redirects and align Cloudflare, proxy, origin server, and SSL certificate settings.

What ERR_TOO_MANY_REDIRECTS Actually Means

Your browser requests a page, but the server responds with instructions to visit another URL. That URL sends the browser back again, creating a redirect loop error. Chrome, Firefox, or Safari eventually stops after detecting an infinite loop.

The most common loops look like this:

  • http://example.com redirects to https://example.com, then back to HTTP.
  • example.com redirects to www.example.com, then returns to the non-www version.
  • Cloudflare sends HTTP to your server while your server forces HTTPS.
  • A WordPress plugin adds a redirect that conflicts with a hosting rule.
  • Cached 301 responses keep showing an old redirect after the real issue is fixed.

The goal is simple: one preferred domain, one preferred protocol, and one clear redirect path.

Trace the redirect chain first

Don’t change five settings at once. Find the redirect that repeats.

Open your browser’s developer tools, select the Network tab, turn on Preserve log, and reload the affected page. Look for repeated 301 or 302 responses and inspect the Location header. It shows where each request is being sent.

You can also test the headers with curl -I https://example.com from a terminal. If the chain alternates between HTTP and HTTPS, the protocol is the problem. If it switches between www and non-www, your domain settings disagree.

Cloudflare lists SSL mode, Edge Certificate settings, and redirect settings among the common causes in its redirect loop troubleshooting guide.

How to clear browser cookies and cache

Before editing WordPress, try a private window. If it works there, clear browser cache and remove its cookies. Stale cookies and cached redirect responses can make the repaired site look broken.

Delete the domain’s stored data, then close and reopen the browser. A cached redirect can make a fixed website look broken on one device while it works normally elsewhere.

This check takes a minute. It’s worth doing first.

Fix the WordPress Address and Site Address

WordPress stores two important URLs in its settings:

  • WordPress Address URL, which points to the WordPress installation.
  • Site Address URL, which is the public address visitors use.

For most sites, both values should match exactly. Use the same https:// protocol, domain, www preference, and trailing-slash convention where applicable.

URL mismatches often appear after a site migration or domain change.

Match both URLs in the dashboard

If you can access the admin dashboard, go to Settings > General. Check both URL fields carefully, including the HTTPS settings.

For a standard site, the correct setup might be:

https://example.com

Both fields should use that same address. Don’t leave one set to http://example.com and the other set to https://example.com.

The same applies to www. If your preferred address is https://www.example.com, use it in both fields. A small difference can create a large problem.

WordPress provides additional guidance on changing these settings in its site URL documentation.

Save the settings once, then clear your caching layers before testing again. If WordPress immediately redirects you out of the dashboard, use the next method.

Set the URLs in wp-config.php

When the admin area is unavailable, you can temporarily define the correct values in the wp-config.php file.

Use your hosting file manager, cPanel, or an FTP client to open the file in your WordPress root directory. Add these lines above the /* That's all, stop editing! */ line:

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

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

Replace example.com with your real domain. Use HTTPS only if your certificate is active and your server supports HTTPS.

These constants override incorrect values stored in the WordPress database, including the relevant wp_options table. WordPress also explains the file’s role in its wp-config.php editing guide.

Create a backup before editing the file. One missing quote or semicolon can cause a different error, so slow down for this step.

If the site starts working, update the database values later or keep the definitions in place. Remember that these lines can make the URL fields in the dashboard read-only.

Disable Plugins and Purge Caches

A plugin can create a redirect loop without affecting every page. This often involves redirect, security, SSL, and caching tools.

Look closely at Redirection, Really Simple Security, WP Rocket, and WP Fastest Cache. Test the caching plugin’s layer separately from the redirect and security tools.

The issue isn’t that these tools are bad. It usually comes from two systems trying to control the same redirect.

Deactivate plugins without dashboard access

If you can still log in, deactivate plugins one at a time. Start with redirect, SSL, security, and caching tools, then test the site after each change.

If you can’t reach the admin dashboard, use FTP or your hosting file manager instead. Open wp-content/plugins and rename the suspected plugin folder, such as redirection to redirection.off.

If you can’t identify the plugin, rename the entire plugins folder to plugins.off. WordPress will deactivate all the plugins. This deactivates the tools without deleting their settings or website content.

Rename the folder back after testing, then restore plugins one at a time until the loop returns. That process takes longer, but it identifies the source while preserving your plugin settings and website content.

Purge every caching layer

Run one cache flush across your WordPress plugin, hosting account, content delivery network (CDN), and browser. Include Cloudflare if it’s active.

Some hosting security systems and Cloudflare Automatic Platform Optimization can cache redirect responses. That can preserve a bad 301 even after you fix the rule that created it.

Test in a private window after the flush. If the page works privately but not normally, the regular browser session may still hold stale data.

Reset the .htaccess File

Apache and LiteSpeed servers often use an htaccess file (.htaccess) for redirects and rewrites. A damaged or duplicated rewrite rule can send every request into an infinite loop.

Before changing the file, download a backup. Then rename .htaccess to .htaccess.bak. Renaming is safer than deleting because you can restore the original file if needed.

Identify all owners of HTTP-to-HTTPS redirect rules in your hosting control panel, .htaccess, WordPress plugins, and CDN settings. You usually need one clear owner for that redirect.

Try loading the site. If the redirect error disappears, .htaccess caused the problem.

Once you can access WordPress, go to Settings > Permalinks and click Save Changes. WordPress will usually generate a fresh set of basic rewrite rules.

Remove duplicate HTTPS rules

Remove duplicate redirect rules from the hosting panel, file, plugins, or CDN.

For example, an HTTPS rule in .htaccess can conflict with a hosting panel rule. A CDN may add another redirect at the edge. Multiple rules can turn one simple action into a loop.

If your site runs behind a proxy or load balancer, the server may see the connection as HTTP even when the visitor used HTTPS. In that setup, redirect logic must correctly read the X-Forwarded-Proto header. Ask your hosting provider to check this rather than adding random rewrite rules.

Nginx servers don’t use .htaccess. If renaming the file changes nothing, inspect Nginx configuration, hosting redirects, or your CDN instead.

Fix Cloudflare Flexible SSL Loops

Cloudflare Flexible SSL is a common cause of redirect loops in WordPress.

With Flexible mode, the visitor connects to Cloudflare over HTTPS, but Cloudflare connects to the origin server over HTTP. A consistent SSL configuration requires agreement between the edge mode, origin protocol, and certificate. If your WordPress host automatically redirects HTTP to HTTPS, the cycle looks like this:

  1. The visitor requests HTTPS.
  2. Cloudflare connects to the origin using HTTP.
  3. The origin sends an HTTPS redirect.
  4. Cloudflare repeats the same HTTP request.
  5. The process starts over.

Cloudflare documents this exact problem in its explanation of ERR_TOO_MANY_REDIRECTS and SSL modes.

Use Full or Full (strict) with a valid certificate

If your hosting account has a working SSL certificate, open Cloudflare and go to SSL/TLS > Overview.

Choose:

  • Full (strict) when the origin has a valid certificate that matches the domain.
  • Full when the origin supports HTTPS but the certificate doesn’t pass Cloudflare’s full verification.

Full (strict) is the stronger option because Cloudflare encrypts the connection to your server and checks the origin certificate.

Don’t use Flexible mode while your origin server forces HTTPS. Either remove the origin redirect, which is rarely the preferred long-term choice, or move Cloudflare to Full or Full (strict).

After changing the mode, run a cache flush in Cloudflare. Check your redirect rules and Page Rules too. An edge rule can conflict with a WordPress or hosting rule even when the SSL mode is correct.

Check the certificate and origin settings

Make sure the certificate covers the exact domain you use. Check both example.com and www.example.com if your site supports both.

You can test the certificate with the Qualys SSL test. If the certificate is expired, missing a hostname, or installed on the wrong server, fix that before changing more redirects.

If you’re using ZADiC hosting, its SSL certificates and WordPress hosting options keep these settings together. Fewer separate layers can make HTTPS issues easier to troubleshoot.

Fix a Login Page That Keeps Redirecting

When only /wp-login.php or /wp-admin loops, the cause is often different from a whole-site redirect.

Start by using clear browser cookies for the domain. WordPress uses authentication cookies, and a stale cookie can send you back to the login page even after the main site works.

Then check these settings:

  • The two WordPress URL values match.
  • The HTTPS settings match between your proxy, WordPress, and server.
  • Your security plugin isn’t blocking or rewriting login requests.
  • Cloudflare isn’t using Flexible mode with an origin that forces HTTPS.
  • Your domain’s www and non-www versions resolve consistently.

If you added define( 'FORCE_SSL_ADMIN', true ); to wp-config.php, the server and proxy must correctly recognize that the original request was HTTPS. Otherwise, WordPress can treat every secure login request as plain HTTP and redirect it again.

Your hosting provider can inspect the server headers and authentication cookies faster than repeated trial and error. Human support is a practical escalation when those checks are needed.

Prevent Redirect Problems on Your Hosting Account

Once the site loads, test more than the homepage. Open the login page, a post, an image, and both www and non-www versions. Test the HTTP version too, and confirm every request reaches one final HTTPS URL.

Keep a record of the canonical domain you chose. Use that same version in WordPress, your hosting panel, Cloudflare, Google Search Console, email links, and marketing materials. Test future domain or HTTPS changes on a staging site when possible, before applying them to production.

If redirect problems keep returning, a simpler hosting architecture may reduce the systems controlling redirects. Ask your hosting provider whether the setup can be simplified. ZADiC offers WordPress hosting, cPanel hosting, managed Web Hosting Plus, and VPS options, so you can choose the level of control your site needs.

Our goal is straightforward: dependable hosting, security monitoring, and 24/7 human support when something breaks. You shouldn’t need to become a server administrator to keep your website online.

Frequently Asked Questions

What causes the WordPress too many redirects error?

The error usually happens when WordPress, the server, Cloudflare, or a plugin sends conflicting redirect instructions. Common examples include HTTP-to-HTTPS loops and repeated switches between www and non-www URLs.

How can I fix the error if I can’t access WordPress?

First, define matching WP_HOME and WP_SITEURL values in wp-config.php. You can also deactivate plugins by renaming their folders through FTP or your hosting file manager, then test the site again.

Can a WordPress plugin cause a redirect loop?

Yes. Redirect, SSL, security, and caching plugins can conflict with hosting or CDN rules. Deactivate suspected plugins one at a time, or temporarily rename the entire plugins folder if you can’t reach the dashboard.

Why does Cloudflare cause too many redirects?

Cloudflare Flexible SSL can create a loop when the visitor connects over HTTPS but Cloudflare connects to an origin server that automatically redirects HTTP to HTTPS. Use Full or Full (strict) mode when the origin supports HTTPS, then purge the Cloudflare cache.

What should I check after fixing the redirect error?

Test the homepage, login page, posts, images, and both www and non-www versions of the domain. Confirm that HTTP requests and alternate domain versions reach one final canonical HTTPS URL without additional loops.

Conclusion

The WordPress too many redirects error usually comes from conflicting URL values, SSL settings, server rules, plugins, or cached responses. Compare the request path, correct mismatched settings, remove conflicts, refresh server rules, and align the proxy with the origin when HTTPS is enforced.

A working site needs one canonical domain and one clear HTTPS path. With the right hosting setup and support behind it, resolving those conflicts becomes manageable instead of a day-consuming mystery.

We use cookies so you can have a great experience on our website. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Who we are

Our website address is: https://zadic.net.

Comments

When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection. An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year. If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser. When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed. If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website. These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue. For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.
Save settings
Cookies settings