301 · 302 · chains · loops · free
Redirect checker
Enter a URL and see every redirect it goes through: each hop with its status code, where the chain ends, and whether it loops, stays on http or hides a meta refresh.
What the redirect checker shows
- Every hop. Each address on the way, with its status code: 301, 302, 303, 307 or 308.
- Where it ends. The page that answers, and its status: 200, or a 404 or 500 the redirect leads into.
- Chains and loops. More than one hop, a chain that never settles, or two rules sending the address back and forth.
- http to https, www to bare. Whether the site's other addresses redirect to the one you use in a single hop, or serve a copy.
- Meta refresh. A redirect hidden in the page's HTML, which search engines treat as weaker than a real one.
We ask as a mobile browser would and follow up to 5 redirects. The canonical checker takes the same path and adds which address Google will index.
301 vs 302: permanent and temporary redirects
A 301 or 308 tells search engines the page moved for good, and they move its place in results and its links to the new address. A 302 or 307 says the move is temporary, so the old address stays in the index. Use a 302 for a short campaign or a test, a 301 for everything else: a new domain, https, a renamed page.
Redirect chains
A chain like http://example.com to https://example.com to https://www.example.com to https://www.example.com/ is three round trips before the page starts to load. It usually means redirects were added one at a time, after each migration, and never merged. Point every old address straight at the final one.
Questions about redirects
What is the difference between a 301 and a 302 redirect?
A 301 (and its stricter twin, 308) says the address moved for good: search engines move the old address's place in results and its links to the new one. A 302 (or 307) says the move is temporary, so the old address stays indexed. Google treats a 302 that stays for months like a 301 in the end, but a 301 gets there straight away.
How many redirects are too many?
One is fine. Googlebot follows up to 10 hops and browsers about 20, but every hop is another round trip before the page loads, and chains of three or more usually mean old rules were never merged. Point every old address straight at the final one.
What causes a redirect loop (ERR_TOO_MANY_REDIRECTS)?
Two rules that undo each other. The common ones: the CDN sends http to https while the server sends https back to http (Cloudflare's Flexible SSL with a site that forces https), a www rule in the server fighting the opposite one in the CMS, and WordPress's site address set to a different host than the server redirects to. The checker shows which address points back.
Should http redirect to https and www to the bare domain?
Yes, pick one address for the site and redirect every other one to it with a single 301: http to https, and www to the bare host or the other way round. The checker tests both variants of the page you enter.
Is a meta refresh a redirect?
A <meta http-equiv="refresh" content="0; url=..."> sends the visitor on after the page loads. Google follows an instant one but treats it as weaker than a server redirect, and a delayed one may not be followed at all. Replace it with a 301 on the server.
Does a redirect lose link value?
Not for a single permanent redirect: Google passes the signals of a 301 or 308 to the target. Long chains, loops and redirects to a page that answers an error do lose them, as does a redirect to an unrelated page such as the homepage, which Google treats as a soft 404.