01Why trace a redirect chain?
An HTTP redirect sends the visitor from one URL to another — domain change, move to HTTPS, relocated page, shortened link. Every hop adds a request, hence loading time, and every status code (301, 302, 307, 308) has a precise meaning for browsers and search engines alike.
Tracing the full chain lets you verify a site migration (http → https, old → new domain), detect over-long chains that dilute SEO (Google recommends a single hop), unshorten a link before clicking it, or understand why a page loops. You can then inspect the destination domain with our whois.
02Understanding redirect status codes
- 301
- Moved permanently: browsers cache it and search engines transfer rankings to the new URL. The right choice for a migration.
- 302
- Moved temporarily: the original URL remains the reference. Avoid it for a permanent migration — rankings don't follow as well.
- 303
- "See other": points to another resource fetched with GET, typically after a form submission.
- 307
- Strict temporary: same as 302, but the HTTP method (POST, PUT…) is preserved across the hop.
- 308
- Strict permanent: the 301 equivalent that preserves the HTTP method.
- 200
- End of chain: the page answers directly, no more redirects.
03From the command line
The same URL as this page answers in plain text for curl, and the JSON API returns the structured chain (open CORS):
$ curl "its-my-ip.com/redirect?url=http://exemple.fr" 301 http://exemple.fr/ -> https://exemple.fr/ 200 https://exemple.fr/ $ curl "its-my-ip.com/api/redirect?url=http://exemple.fr" { "hops": [ { "status": 301, … } ], "finalStatus": 200, … }
04Frequently asked questions
How many chained redirects are reasonable?
Ideally one: every hop adds a full network round trip, slows the page down and dilutes the SEO signal. Google follows up to 10 redirects before giving up, but recommends pointing straight to the final URL. If your chain has 3 hops (http → https → www → page), merge the rules.
301 or 302: which one should I use?
301 for anything permanent (migration, new URL): search engines transfer history and rankings to the target. 302 for temporary situations (maintenance, A/B test, geo redirect): the original URL stays indexed. A 302 left in place for months sends engines a contradictory signal.
Why does my browser cache the redirect?
301 and 308 are permanent: browsers memorize them and stop re-checking the old URL, sometimes indefinitely. When testing a configuration, use a 302 during the trial phase, or test in private browsing. This is also why a wrong 301 is painful to undo.
What is a redirect loop?
A chain that returns to an already-visited URL: A redirects to B which redirects back to A. The browser shows “ERR_TOO_MANY_REDIRECTS”. A classic cause: a server-side HTTPS redirect combined with a proxy (Cloudflare in “Flexible” mode) that contacts the server over HTTP again.
Why does the result differ from what my browser sees?
Some sites redirect differently depending on the User-Agent, language, cookies or geolocation of the request. This test starts from Cloudflare's servers with a neutral User-Agent and no cookies: close to what a search crawler sees — which is precisely the point for SEO.