Redirect Checker
Trace the full redirect chain for any URL. See every HTTP hop with its status code, find the final destination, and identify chains that are burning crawl budget and diluting the SEO value of your backlinks.
What Is a Redirect Chain?
A redirect chain is a sequence of HTTP redirects between an original URL and its final destination. Instead of URL A pointing directly to URL C, it goes A to B to C, with each step adding a separate HTTP request. Each hop costs time and, depending on the redirect type, can erode the SEO value passing from the source to the destination.
Redirect chains most commonly appear after domain migrations where old redirects are not cleaned up, after switching from HTTP to HTTPS through an intermediary URL, and when marketing landing pages or shortened URLs point to other short URLs before reaching the real page. The longer the chain, the worse the impact on both crawlers and real users.
How Redirects Affect SEO and PageRank
Since Google's Penguin 4.0 update in 2016, a single 301 (permanent) redirect passes close to 100% of PageRank to the destination. This corrected the older behavior where each hop caused a measurable loss of link equity. However, chained redirects still cause cumulative dilution at each step. A chain of three hops through 301s loses a meaningful percentage of the original link equity, so any backlinks pointing to the start of the chain pass less value to your actual page.
Google also enforces a hard limit of 10 redirect hops before abandoning the crawl. If your URL chain exceeds this, the final page will not be indexed at all. Most real-world chains stay under 10, but they do consume crawl budget: every hop is a separate Googlebot request against your server. For large sites with thousands of redirected URLs, this can meaningfully reduce how many pages Google crawls each day.
301 vs 302 vs 307 vs 308
301 Moved Permanently
The resource has permanently moved to a new URL. Google transfers PageRank from the old URL to the new one and updates its index. Use this for all permanent URL changes, domain migrations, and HTTP to HTTPS upgrades.
302 Found (Temporary)
The resource has temporarily moved. Google continues to index the original URL and does not transfer PageRank to the destination. Using a 302 for a permanent move is one of the most common SEO mistakes. Google may never fully index your new URL if you use 302 where you should use 301.
307 Temporary Redirect
Like 302 but strictly preserves the HTTP request method. A POST request to a 307 URL stays a POST at the destination, rather than being converted to a GET. Use for login flows or API redirects where the method matters.
308 Permanent Redirect
Like 301 but preserves the HTTP request method. Useful for permanently migrating API endpoints or form submissions that use POST. Less commonly needed for standard web pages.
Common Redirect Problems for Indie Makers
- www to non-www (or reverse)If your domain redirects www to non-www but your CDN also redirects at the origin, you get two hops. Consolidate at the DNS level or in your hosting config.
- HTTP to HTTPS via an intermediateSome setups redirect HTTP to a http://www. URL first, then to https://. This creates a chain. Your HTTP URL should redirect directly to your final HTTPS URL in a single hop.
- Old redirects stacking after migrationsWhen you migrate a domain, you create a new set of redirects. If the old domain already had redirects, they chain with the new ones. Audit all redirects after any migration and update old ones to point directly to the final URL.
- Redirect loopsURL A redirects to URL B and URL B redirects back to URL A. Browsers and crawlers detect this and return a 'too many redirects' error. The page becomes completely inaccessible.
- 302 used where 301 was intendedUsing a temporary redirect for a permanent move prevents Google from transferring PageRank and may cause the original URL to stay indexed indefinitely while the destination ranks for nothing.
How to Fix Redirect Chains in Next.js and Vercel
In Next.js, define all redirects in next.config.js. Each entry maps a source pattern directly to its final destination. To eliminate a chain, make sure no source URL points to another URL that also has a redirect entry:
// next.config.js
module.exports = {
async redirects() {
return [
// Good: single hop, permanent
{
source: '/old-page',
destination: '/new-page',
permanent: true, // generates 301
},
// Avoid: chaining — /very-old -> /old-page -> /new-page
// Instead, point very-old directly to new-page
{
source: '/very-old-page',
destination: '/new-page',
permanent: true,
},
]
},
}On Vercel, you can also configure redirects in vercel.json. The same rule applies: always point directly to the final destination, never through an intermediate URL that itself redirects.
Redirects and AI Crawler Indexing
AI crawlers like GPTBot (OpenAI), ClaudeBot (Anthropic), and PerplexityBot follow redirects the same way Googlebot does. A page buried behind a long redirect chain may not get crawled at all if the chain causes a timeout or exceeds the crawler's hop limit. For AI citation purposes, the canonical URL that gets attributed in answers is the final destination — so if your most important content pages are behind chains, they are less likely to be discovered, indexed, and cited in AI-generated responses. Clean, direct URLs with no redirects are the safest baseline for both search and AI visibility.
Frequently Asked Questions
Does a 301 redirect pass 100% of link equity?
Since Google's Penguin 4.0 update in 2016, a single 301 redirect passes close to 100% of PageRank to the destination URL. Before 2016, there was a documented PageRank loss per hop. Today, a single clean 301 is largely neutral for SEO. However, chained redirects (one URL redirecting to another that redirects again) still cause cumulative losses at each step, so chains of three or more should be eliminated.
How many redirects does Google follow before giving up?
Google's documentation states that Googlebot follows redirect chains of up to 10 hops. If the final destination is not reached within 10 redirects, Google may stop crawling that URL entirely and the page will not be indexed. Most real-world redirect issues involve 2 to 4 hops, which Google does follow, but each hop adds latency and costs crawl budget.
What is the difference between a redirect loop and a redirect chain?
A redirect chain is a sequence of hops from URL A to URL B to URL C until a final non-redirect response is reached. A redirect loop is a circular chain where URL A redirects to URL B and URL B redirects back to URL A, creating an infinite cycle. Redirect loops return a timeout or too-many-redirects error and are never resolved by crawlers or browsers.
Do temporary (302) redirects hurt SEO?
A 302 redirect signals to Google that the move is temporary, so Google may continue indexing the original URL rather than the destination. If you use a 302 for a permanent move, your new URL may not accumulate PageRank and may not rank for keywords. Always use a 301 for permanent URL changes, domain migrations, and HTTP to HTTPS upgrades. Use 302 only for genuinely temporary situations such as maintenance pages or login redirects.
How do I fix redirect chains in Next.js?
In Next.js, define all redirects in next.config.js using the redirects() async function. Each redirect object requires a source pattern, a destination URL, and a permanent flag. Setting permanent: true generates a 301 response; permanent: false generates a 302. To eliminate a chain, ensure each source maps directly to its final destination rather than through intermediate URLs. You can also use Vercel's vercel.json redirects array for the same purpose.