# IndieRedirect

> Trace every HTTP redirect hop, its status code, and the final URL.

Every HTTP hop and the final URL. Free, no account.

The canonical page is https://indieredirect.com/.

## Use the tool

Open [IndieRedirect](https://indieredirect.com/) to complete the job. The questions below describe the supported input, result, and limits. Every answer names its source next to it.

Source: [The checked URL's HTTP responses and RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4).

## Questions and limits

### What is a redirect chain?

A redirect chain is a sequence of HTTP responses where each one sends the client somewhere else before the final page answers: `http://` to `https://`, then to `www`, then to a new path. Each hop is a 301, 302, 303, 307, or 308 status with a `Location` header. Every hop costs a round trip, and each one is a rule someone has to keep working, so short chains are better than long ones.

### What is the difference between 301, 302, 307, and 308?

301 and 308 are permanent: the client, a search engine included, should update its records and go straight to the new address next time. 302 and 307 are temporary: keep asking the old address. The difference inside each pair is the request method. 301 and 302 let a client change a POST to a GET; 307 and 308 keep the method as it was. [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.4) defines all of them, and 303 tells the client to GET a different resource.

### What does the redirect check result mean?

A pass means the URL answered directly or settled on a successful response within three redirects. A warning names one problem: more than three redirects, a final URL still on plain HTTP, a chain that ends in an error such as 404, a redirect with no usable `Location`, or a destination the tool will not request. A fail means the chain loops back on itself or runs past five redirects. The result also compares query parameters hop by hop and names the exact hop that dropped or changed one.

### How do I fix a redirect chain?

Point the first URL at the final destination. Most chains come from rules stacked over time: a protocol rule, a host rule, and a path rule that each add a hop. Combine them so `http://example.com/old` goes to `https://www.example.com/new` in one 301 or 308. If a hop drops a query parameter your campaign or application needs, the result names that hop; keep the parameter in that rule. Then run the trace again.

### What can one trace not tell me?

One trace is one GET from Cloudflare's network at one instant, with no cookies, no authorization, and no referrer. A server that redirects by country, device, or login state can send your visitors down a different chain. The tool does not run JavaScript or HTML meta refreshes, so a script redirect looks like a direct answer here, and response bodies are never read.

A GET can also consume a one-time link, because the server cannot tell the tracer from a visitor. Do not trace magic links, unsubscribe links, signed downloads, or any address that acts when it is opened; the form warns about these for that reason.

## Promises

- The core is free: no account, no card, no premium plan, no upgrade nag, no hidden paywall.
- Private lookup activity is never published.
- Analytics is currently off. Private lookup activity is never published or sent to a tracker. No lookup history becomes public inventory.

## More

- [Notes](https://indieredirect.com/blog.md): posts by the maker, newest first
- [More tools](https://indieredirect.com/tools.md): the other tools by turushan
- [security.txt](https://indieredirect.com/.well-known/security.txt): how to report a vulnerability

Made by turushan, https://twitter.com/turushan.
