Our server checks the public URL you enter. Results are not stored.
To check a redirect chain, enter the URL into the free Redirect and Status Code Checker above. It follows every hop, shows the status code at each step and the final URL, and flags chains and loops. You see exactly where a link ends up, and whether each move is permanent or temporary.
Google’s own guidance says to use a permanent server-side redirect whenever possible, because that is the best way to send both search engines and visitors to the correct page.
How to use the Redirect and Status Code Checker
- Paste the full URL you want to test, including
https://. - Run the check and wait while the server follows each redirect for you.
- Read the hops from top to bottom, then look at the final URL and the last status code.
- Test the variants too: the
httpversion, thewwwand non-wwwversions, and the address with and without a trailing slash.
How to read the results
Each hop is listed with its status code, so you can see the whole journey rather than only the end point. Here is what the common codes mean.
- 301 and 308 are permanent. They tell search engines the old address has moved for good.
- 302 and 307 are temporary. Google notes that with a temporary redirect the redirect target is not treated as the canonical by default, so the old URL can stay in results.
- 200 at the end of the trail means the final page loads normally.
- 404, 410 or a 5xx code at the end means the journey leads to an error page.
A good result is one hop, permanent, ending on a 200 at the exact URL you want indexed. A bad result is several hops, a temporary code where the move is permanent, or an error at the end.
Common problems this finds
- Redirect chains. A goes to B, B goes to C. Each extra hop adds a request for the visitor and for crawlers. Edit the first rule so A points straight to C.
- Redirect loops. A goes to B and B goes back to A, so the page never loads. Find the two rules that conflict and remove one of them. Common causes are a forced
wwwrule fighting a CDN setting, or two plugins both handling the trailing slash. - Temporary codes on permanent moves. If you moved a page for good, switch the 302 to a 301 so the new address is the one that is shown.
- Redirects to irrelevant pages. Sending every old URL to the home page is poor for visitors. Point each old address at the closest matching new page.
- Redirects ending on an error. Fix the destination, or choose a live page to redirect to.
A worked example
This is an illustrative example, not a real site. Imagine you type http://example.com/shoes. The checker lists a 301 to https://example.com/shoes, then a second 301 to https://www.example.com/shoes/, and finally a 200. That is two hops where one would do. The fix is to change the first rule so the plain http address goes directly to the final https://www.example.com/shoes/.
What the checker cannot tell you
The checker runs from this site’s server, so it sees what the server returns to an automated request. It does not run JavaScript, so a redirect that only happens in the browser through a script will not show as a hop. Some sites block automated requests, which can produce an error or a different response from the one a browser gets. There is also a fair-use limit on repeated checks, so avoid running it on long lists. The result reflects the moment you tested.
If you need to write the rules once you know what is wrong, the Htaccess Redirect Generator builds 301 rules for Apache and LiteSpeed servers. To see the headers behind each response, use the HTTP Header Checker.
Questions about the Redirect and Status Code Checker
How many redirects in a row is too many?
There is no magic number to chase. Aim for a single hop from every old address to its final destination. Anything longer is a chain that you can usually shorten by editing the first rule so it skips the middle steps.
Should I use a 301 or a 302 redirect?
Use a 301 when the move is permanent and you want the new URL to replace the old one in results. Use a 302 only when the change is genuinely temporary, such as a short maintenance redirect, and you expect to remove it.
Why does the checker show a different result from my browser?
Browsers may use cached redirects, cookies, location or logged-in state, and they run JavaScript. The checker makes a plain request from a server, so it shows what a crawler would typically meet. Test in a private window as well to compare.
Back to all free technical SEO tools or the full toolkit. If you would rather have someone check the whole site, see my technical SEO services or ask for a free audit.