What does a redirect checker show?
A redirect is a response that says "not here, look over there" — a 301, 302, 307 or 308 with a `Location` header naming the address to try next. The browser or crawler obeys it silently, which is exactly why a bad chain stays invisible for years. This checker requests one address at a time and stops following, records the status and the Location it was handed, then requests that next address, and so on until one answers with something other than a redirect. What you get is the whole chain in order, with each hop's code, target and timing.
Redirects hide three separate problems. A chain that is longer than it should be costs a round trip on every visit and dilutes the signal a search engine passes along. A hop that leaves HTTPS for HTTP is a mixed-security hole. A 302 where a 301 belongs tells search engines the move is temporary, so the old address keeps being indexed even though it no longer resolves. None of that is visible from a browser address bar, because the bar shows only the end of the journey.
The tool follows at most five hops, since a legitimate site almost never needs more and a sixth is usually the symptom rather than the fix. When it stops it tells you why — a loop back to an address already seen, an address it refused for safety, or a hop cap — rather than quietly reporting the last page as the answer.
How to trace a redirect chain
- Enter the address a visitor actually arrives at — an `http://` URL, an old path, a `www.` hostname. Tracing the canonical address instead proves nothing, because the redirect only fires for the ones that are not canonical.
- Press Trace redirects. The chain is requested from this site's server, one hop at a time, with redirects deliberately not followed automatically.
- Read the chain from the top. Each row is one hop: the number, the status code with its meaning, the address it was requested at, the `Location` it pointed to, and how long that hop took.
- Check the verdict and the notes under it. A canonical-form warning means the site settles on a different host or scheme than the one you entered, so internal links and sitemaps should use that settled form directly and skip the hop.
- Watch for a temporary code where a permanent one belongs: 302 and 307 keep the old address eligible for indexing, while 301 and 308 move it.
- If a hop leaves HTTPS for HTTP, treat it as a bug rather than a style preference, and fix the `Location` value at the server that produced it.
Redirect tracing limits and rules
| Item | Limit |
|---|---|
| Hops followed | 5, then the trace stops and says so |
| Loop handling | An address already seen in this chain ends the trace as a loop |
| Codes treated as redirects | 301, 302, 303, 307, 308 |
| Per hop timeout | 12 seconds, 6 of them for the connection |
| Per request | Only the header is wanted, so HEAD is tried first and a GET with the body discarded is the fallback |
| Rate limit | 40 traces per minute per visitor |
| Not included | Client-side redirects made by JavaScript, `meta refresh`, Service Worker navigation, and redirect rules that only fire for a specific user agent or IP |
| Not verified | A CDN edge may answer differently from the origin, so the trace reflects the path from this server to the site |
When to use it
- Confirming a forced HTTPS upgrade works for every hostname, including the `www` and non-`www` variants that people actually type and link.
- Finding an accidental chain — old URL to http, to https, to www, to trailing slash — and collapsing it to a single hop.
- Checking whether a domain migration used 301 rather than 302, so the ranking signal follows the move instead of staying behind.
- Diagnosing an infinite redirect loop that makes a page unreachable in a browser, by seeing which two addresses keep handing off to each other.
- Verifying that a shortened or campaign link lands where it claims to, before it is published or sent to a list.
Is it private?
Redirect tracing runs on this site's server, because a browser follows redirects automatically and hides each intermediate hop from the page script. When you press the button, your browser sends the address to this site's own endpoint, which requests it hop by hop with a crawler user agent and returns the chain. The site you trace sees requests from this server and never learns who asked. None of your cookies, credentials or browser details are forwarded. The address and the chain are not stored, and your IP is only counted against a per-minute meter that keeps the endpoint from being used as a free redirect tracer.
Frequently asked questions
Because the browser only shows you the end. It follows each hop and throws away the intermediate responses, so a 302 that should be a 301, or a hop that drops from https to http, leaves no trace anywhere in the UI. This tool deliberately does not follow redirects automatically: it reads one response, records what it was told, and asks for the next address itself, which is the only way each hop can be shown.
A 301 is permanent and a 302 is temporary. Search engines treat that as a statement about whether to move the indexed address or keep it. 307 and 308 keep the same method and body the original request used, where 301 and 302 historically let a browser downgrade a POST to a GET; 308 is the permanent, method-preserving version and 307 the temporary one. For a lasting move you want 301 or 308, and for a temporary one 302 or 307.
One hop where the site settles on a canonical form is normal and harmless. A chain hurts when it costs time and when it accumulates: each hop is a round trip before the visitor sees anything, and crawlers allocate less attention to a URL that wastes them. The real damage is usually an internal link, a sitemap or a canonical tag that points at an address which then redirects — the fix is to point those at the settled URL directly, so the hop only ever exists for visitors arriving from outside.
One of three reasons, all reported on the page. The chain looped back to an address already visited, which is a redirect loop and the usual cause of a page that never loads. The hop cap of five was reached while the site was still redirecting. Or an address in the chain was refused for safety — a private-network address, which this tool will not fetch. The message names which one, so you know whether to fix the site or simply trace a different starting URL.
Usually because the server is answering on port 80 instead of redirecting, or a proxy is serving the same content over both schemes. That is worse than a redirect, because the page is genuinely reachable over plain HTTP and search engines may index that version, so any ranking and any security benefit stays with whichever address gets linked. The absence of a redirect shows up here as a chain of length one — the http:// request simply answered.
Not reliably. A trace from this server looks like one ordinary crawler request from one location, so rules keyed to user agent, `Accept-Language`, geography or cookies may never fire. Those redirects are real, but they are conditional, and the tool reports the path it was given rather than claiming to cover every visitor. For a conditional rule, the reliable test is the one that matches the condition — a device, a VPN, or the header the rule keys on.
Related tools
Written and maintained by Md. Nur Hossain Repon.