Redirect Checker
This redirect checker follows a URL through every hop of its redirect chain and reports the status code at each step, the final destination, and whether the chain loops back on itself.
Result for
-
This page sends an X-Robots-Tag: noindex header, so search engines are told not to index it even though it loads.
Response headers
-
This chain redirects back to a URL already in it and never resolves to a page.
Final destination
What to fix
One permanent redirect straight to a live page: nothing to fix.
The HTTP chain ends here with a 200, but this page also carries a
<meta refresh> tag pointing to
.
Browsers follow this, and Google says it treats a meta refresh like a redirect
too, so the real destination a visitor or crawler ends up at is one hop further
than the status codes above show.
Check multiple URLs
Paste up to 15 URLs, one per line. Each is checked with the same request as above, one at a time.
| URL | Result | Final status |
|---|---|---|
Note
Location header manually up to 10 hops, and report the status code and response time at every step, identifying as whichever user-agent you pick above. 301 and 308 mean permanent, 302, 303 and 307 mean temporary: Google uses a permanent redirect as a signal that the destination is the URL to index and does not use a temporary one that way, so a temporary code left in place after a permanent move can keep the old URL in results. Under the chain, a What to fix list flags temporary codes, a step from HTTPS down to plain HTTP, more than one redirect in a row, and a chain that ends on an error. If the chain ends on a 200 that also carries a <meta refresh> tag, we report that too, since Google says it follows one the same way it follows an HTTP redirect.
Paste any link, ours or someone else's, and see the whole path in one request rather than the single hop a browser shows you.
Use this tool often? Bookmark this page, so it is one click away next time.
Email me this result
Want a copy for your records or a client? Leave your email and we'll send you this result. It is written by a real person at Crawl Cove, not an automated blast, so it may take a little while to arrive. We'll only use your address to send it, unless you also tick the box below. Privacy policy.
Got it. We'll email your result to you. Nothing else lands in your inbox unless you ticked the tips box.
What this redirect checker shows you
Paste a URL and it is fetched server-side, one hop at a time, with redirects followed manually rather than by a browser that only shows you where you landed. Each hop reports the URL requested and the HTTP status code returned; a permanent 301, a temporary 302 or 307, or a rarer 303 or 308. You see the full path and the final destination in one result, and a loop is reported as a loop rather than as a browser error page.
Checking as Googlebot or Bingbot, not just a browser
The "Check as" picker sends the request with a real Googlebot, Bingbot or desktop-Chrome user-agent instead of always identifying as this tool. That matters because a redirect chain is not guaranteed to be the same for both: a site can legitimately serve a different chain by device or region, and some sites (accidentally or otherwise) redirect known crawlers somewhere a browser never sees, which is cloaking whether or not it was intentional. Checking the same URL under two or three of these and comparing the final destination is how you catch that class of mistake, which a browser alone cannot show you no matter how carefully you look.
Why the status code on every hop matters, not just the last one
A 301 or 308 tells search engines the move is permanent, and Google uses it as a signal that the new URL is the one to index. A 302, 303 or 307 says the move is temporary, and Google does not use it that way. The common mistake is a 302 left in place for months after a permanent migration, which can keep the old URL in results instead of the new one. Checking only the final page hides this, because a browser follows every hop silently and shows you only where you ended up; this tool shows the code at each one.
Redirect chains: what they cost, and the fix
A chain is two or more redirects between the URL requested and the page that finally loads: A to B to C to D. Each extra hop adds latency, and search engines allocate a limited number of hops they will follow before giving up on a URL entirely. The fix is always the same: point the original URL straight at the final destination in a single hop, rather than at the intermediate address that used to be correct. That is worth doing even for a chain that still resolves, because every hop it takes is time a visitor and a crawler both spend waiting.
Redirect loops: why they need a crawler, not a click
A loop, A back to B back to A, never resolves to a page you can read, so a browser just spins or eventually gives up with its own generic error. That makes loops easy to miss if nobody happens to click the exact URL that triggers one. A crawler does not have that blind spot: it follows every link it finds on every page, so a looping URL gets caught the moment something links to it, not only when a person stumbles onto it. This tool gives up after 10 hops and reports a loop rather than a timeout, matching the cap Crawl Cove itself uses when it raises a loop as a critical error during a full crawl.
Meta refresh: the redirect the HTTP chain does not show you
Not every redirect is an HTTP status code. A page can return a normal 200 and still carry a <meta http-equiv="refresh"> tag in its head that sends a browser somewhere else a moment after it loads, and Google's own documentation says it treats an instant meta refresh like a permanent redirect and a delayed one like a temporary one. A checker that only reads status codes reports this page as the final destination when it is not. This tool reads the page for a meta refresh tag when the chain ends on a 200, and reports the real target it points to alongside the HTTP hops.
One URL here, every redirect on your site there
Checking a URL you already suspect is useful, but the redirects that quietly cost the most are the ones nobody thought to check: old category pages from a site restructure, migrated blog posts, an entire section moved to a new domain months ago. Finding those means crawling the site rather than testing links one at a time. Crawl Cove maps every redirect it finds while crawling, with the full hop path and status code for each, and flags every chain worth flattening.
Frequently asked questions
- What is a redirect chain?
- Two or more redirects between the URL requested and the page that finally loads (A to B to C, rather than a single A to B hop). Each extra hop adds latency and dilutes the ranking signal search engines pass along the chain, so the fix is always to point the original URL straight at the final destination.
- What is a redirect loop?
- A chain that redirects back to a URL already in the chain, so it never resolves to a page. This tool follows up to 10 hops before reporting a loop rather than continuing indefinitely, the same cap Crawl Cove itself uses when it raises a loop as a critical crawl error.
- What is the difference between a 301 and a 302 redirect?
- A 301 is permanent and tells search engines to transfer ranking signals to the new URL. A 302, along with the less common 303 and 307, is temporary and tells them the original URL should stay the one that is indexed. Using a temporary code for a permanent move is the single most common redirect mistake, and it is invisible unless you check the status code rather than just where the link lands.
- How many redirects are too many?
- Any chain of two or more hops is worth flattening to one. Search engines will follow a limited number of hops before giving up on a URL entirely, and every hop in between adds latency for a real visitor even when the chain still resolves.
- Is this redirect checker free?
- Yes. It is completely free and needs no sign-up. Enter a URL and the chain is fetched server-side, because a browser cannot report the status code of each intermediate hop the way this tool does.
- Why does this run on your server instead of my browser?
- A browser follows redirects silently and only shows you the page you land on, with no way to read the status code of each hop in between. Fetching the chain server-side, one hop at a time with redirect-following turned off, is the only way to see the full path and every status code along it.
- Can I check a redirect chain on a site I do not own?
- Yes, the same as any browser could reach the URL directly. It is a read-only check: one request per hop, nothing is submitted to the target, and results are not stored anywhere you or anyone else can browse back to.
- Does this check redirects across my whole site?
- No, this checks one URL you enter at a time. Crawl Cove maps every redirect on a site as it crawls, with the full hop path and status code for each, and flags every chain worth flattening in one pass rather than one link at a time.
- Can I check more than one URL at once?
- Yes. Paste up to 15 URLs, one per line, into the "Check multiple URLs" box below the main result and each is checked with the same request, one at a time. A "Download CSV" button appears once results are in, with the URL, result and final status for each.
- Does this show how long each hop took?
- Yes, in milliseconds next to each hop’s status code. A slow hop partway through a chain is often the one worth fixing first, since flattening the chain removes its latency along with everything after it.
- Does this catch a meta refresh redirect too, not just HTTP ones?
- Yes. If the HTTP chain ends on a 200 and that page carries a meta refresh tag in its head, this tool reads it and reports the real target alongside the HTTP hops, since a plain HTTP checker would report the 200 page as the final destination when a browser (and Google, which treats meta refresh as a redirect too) actually goes one step further.
- Can I see the response headers on each hop?
- Yes. Open "Response headers" under any hop to see the six that matter for SEO: Location (where it redirects), X-Robots-Tag and Link (a noindex or canonical sent by header, which never shows in the page source), Cache-Control (a cached 301 keeps redirecting browsers even after you fix it on the server), Content-Type and Server. If the final page sends X-Robots-Tag: noindex, the result says so, because that page is telling search engines not to index it even though it loads.
- Can I check how Googlebot is redirected, not just my own browser?
- Yes. Use the "Check as" picker above the URL box to send the request as Googlebot, Bingbot or a desktop browser. A site can serve a different redirect chain to a named crawler than to a browser, sometimes deliberately and sometimes by mistake, so checking the same URL under a couple of these is the only way to catch that from outside the server itself.
From one page to your whole site
This traces one URL. Crawl Cove maps every redirect on your whole site as it crawls, flagging every chain to flatten and raising any loop as a critical error, so you find them before a visitor or Google does. See the bulk redirect checker for your whole site or compare the plans.
Prefer the terminal? This check is also an open-source CLI: crawlcove-redirect-chain-checker.
More free tools
-
SERP Snippet Preview
Open tool → -
Title Tag Checker
Open tool → -
Meta Tag Generator
Open tool →