Errors

Redirect Error: What It Means + How to Fix It

“Redirect error” in Google Search Console means Googlebot couldn't follow your redirect to a working page. Here's why it happens — and exactly how to fix it.

Updated Sep 1, 2026
TL;DR

“Redirect error” means Googlebot tried to follow a redirect and never reached a real page — a loop, a chain that's too long, a URL that exceeded the length limit, or a redirect that dead-ends. It's a broken hop in the chain, not a content problem. Trace the chain with a redirect checker, collapse it to one direct hop, and eliminate loops.

A redirect error means Googlebot started following a redirect and never arrived anywhere. Somewhere between the old URL and the destination, the chain broke — it looped back on itself, ran too long, pointed at a URL too long to process, or simply never resolved to a real page. Google gave up and logged the attempt as a failure.

This is a plumbing problem, not a content one. The destination page might be perfectly fine — the issue is entirely in how the request gets routed there.

First, confirm it's still broken

Redirect configurations get fixed and re-broken often, especially on sites with multiple layers of redirect logic (CMS, CDN, server config all doing their own thing). Confirm before you start diagnosing.

Open Pages → Why pages aren't indexed, click into "Redirect error," and copy an affected URL. Run it through a redirect-chain checker (or curl -IL from a terminal) to see every hop in order, and cross-check with URL Inspection → Test live URL in GSC to see what Google currently observes.

Google Search Console Pages report filtered to 'Redirect error', showing the affected-page count and trend.
The 'Redirect error' view — URLs where Googlebot couldn't successfully follow the redirect to a final page.

Run the chain check from a fresh, unauthenticated context (incognito window, or curl) — a redirect that resolves fine for you because you're logged in, or because your browser cached an old destination, can still be broken for Googlebot.

Find your cause

1. A redirect loop

URL A redirects to URL B, which redirects back to URL A — or a longer cycle through several URLs that never terminates. This is the classic case and usually comes from two separate redirect rules fighting each other (a plugin-level redirect and a server-level www/https rule, for example).

Tell: running the chain check shows the same URL appearing more than once in the hop sequence.

2. A redirect chain that's too long

Each hop is valid, but there are too many of them in sequence — old URL → slightly newer URL → newer still → current. Every migration or URL-structure change that redirected the previous redirect instead of pointing straight at the final destination adds another link.

Tell: the chain check shows four, five, or more sequential hops before landing on a real page.

3. The redirect target exceeds the URL length Google will follow

Rare, but it happens with auto-generated URLs carrying long query strings or deeply nested paths — the destination URL is technically valid but long enough that Google's crawler declines to follow it.

Tell: the final destination URL in the chain is unusually long, often carrying multiple stacked query parameters.

4. The chain never resolves to a real page

The redirect eventually points at a URL that itself 404s, times out, or is blocked — so even though it's not technically a loop, Googlebot never reaches a valid endpoint.

Tell: the chain check terminates in an error status rather than a 200, or hangs without returning anything.

The fix

  1. Break the loop

    For a redirect loop (cause 1): find where two rules are contradicting each other — most often a CMS or plugin redirect and a separate server/CDN-level rule (forced https, forced www, a legacy .htaccess rule) both trying to redirect the same URL. Remove one of them so there's a single, authoritative rule per URL. Test with curl -IL until you see exactly one 30x hop followed by a 200.

  2. Collapse the chain to one hop

    For a long chain (cause 2): don't redirect a redirect. Go back to the original source and point it directly at the current, final live URL — skip every intermediate hop. This matters beyond just fixing the error: each extra hop in a chain risks losing a share of the ranking signal you're trying to pass along.

  3. Shorten the destination URL

    For a length issue (cause 3): if the destination is auto-generated with a long query string, redirect to a clean canonical path instead, and let the page itself handle any parameters it needs internally rather than carrying them through the redirect URL.

  4. Point at a URL that actually resolves

    For a dead-end chain (cause 4): trace it to where it breaks and fix that specific hop — if it lands on a 404, redirect to a page that exists; if it times out, that's a server issue on the destination (see Server error (5xx)) that needs fixing independently.

  5. Re-test the whole chain, not just the first hop

    After any fix, re-run the chain check end to end. A fix at one layer (say, removing the plugin redirect) can reveal a second, previously-hidden redirect rule underneath it that also needs addressing.

Platform notes

  • WordPress — redirect loops most often come from stacking a redirect plugin (Redirection, Yoast's redirect manager) on top of server-level rules already in .htaccess, or an SSL/domain-forcing plugin fighting a hosting-level force-https setting. Audit .htaccess directly alongside whatever plugin UI you're using — don't assume the plugin is the only thing writing redirect rules.
  • Shopify — Shopify auto-manages redirects for renamed products/collections, but manually added redirects (Settings → Apps and sales channels → URL Redirects) can chain if you redirect a URL that itself already has an entry. Check the redirect list for the source URL before adding a new rule pointing away from it.
  • Next.js (React) — check redirects() in next.config.js (or middleware) for rules that overlap or feed into each other; two separate redirect entries matching the same source path is the most common self-inflicted loop. Also check your hosting platform's own redirect rules (Vercel project settings, or a CDN config) aren't duplicating what's already defined in the app.
  • Webflow — 301 redirects live under Project Settings → SEO → 301 Redirects. Webflow won't stop you from creating a chain (redirecting a URL that's itself already a redirect target) — check the existing list before adding a new rule, and collapse any chains you find down to a single direct hop.

How to verify it's fixed

  1. curl -IL or a redirect-chain tool — confirm exactly one hop from source to a 200 destination, with no loop and no error in between. This is faster and more reliable than waiting on GSC.
  2. URL Inspection → Test live URL — confirms what Google itself sees right now.
  3. Pages report — after requesting indexing, watch for the URL to clear from "Redirect error." Re-crawling and reprocessing can take days to weeks; Google doesn't guarantee a specific timeline, so a clean live test is your best near-term confirmation.

When to ignore it

If the affected URL is an old, low-value page nobody links to anymore and you don't care whether it redirects cleanly, it's reasonable to leave it — or better, let it return a real 404/410 and remove it from any sitemap entirely rather than fixing a redirect chain for a page that shouldn't exist. Chasing a clean redirect is only worth the effort when the URL carries real backlinks, direct traffic, or ranking history you want preserved at the destination.

Let Percy watch this

Redirect chains break quietly — a plugin update or a new CDN rule is often all it takes. Percy connects to Search Console, tells you which redirect errors are actually losing you traffic and what to change, and checks weekly so a broken chain doesn't sit for months before anyone notices.

Connect Search Console

Frequently asked

How is “redirect error” different from “page with redirect”?
“Page with redirect” is a healthy status — the redirect works, Google followed it, and it correctly indexes the destination instead of this URL. “Redirect error” means the redirect itself is broken — Google tried to follow it and failed. One is expected behavior; the other needs fixing.
How many redirect hops does Google allow before giving up?
Google doesn't publish an exact number, but it stops following a chain after a handful of hops — in practice, more than two or three redirects in sequence is a real risk. Keep every redirect a single, direct hop from old URL straight to the final live URL.
Can a redirect loop happen by accident?
Very easily — it's one of the most common causes. A page-level redirect rule and a site-wide rule (like forcing https or www) can each redirect the same URL back to the other, and the two rules bounce the request between them forever. This is especially common after combining a CMS redirect plugin with server or CDN-level redirect rules.
Does a redirect error mean the old page is gone from the index?
Not immediately, and that's part of the risk. If Google can't successfully follow the redirect, it may keep the old URL's previous index entry around longer than you'd expect, or drop it without properly transferring signal to the intended destination — so a broken redirect can cost you the ranking value you were trying to preserve.
Percy

We surface these issues automatically.

Connect Search Console once. Every issue like this gets ranked by impact, with a fix you can ship today.

Start free

Related issues

Browse by topic