Follow every redirect hop by hop. Enter a bare domain to check all four ways people type it (http and https, with and without www), or a full URL to trace just that one.
A redirect sends a visitor (or a search engine) from one address to another. Most sites have several without anyone thinking about them: plain HTTP to HTTPS, www to the bare domain, an old page to its new address. Each one adds a round trip before the page can load, and a wrong one can split your search ranking or lock visitors out entirely.
Enter a bare domain to check all four ways people type it, or a full URL to follow that one address hop by hop, with the status code and timing at every step.
People reach your site as http://example.com, http://www.example.com, https://example.com and https://www.example.com. Ideally all four end at the same HTTPS address, each in one redirect, at most two. If two of them end at different addresses, search engines can treat them as separate sites and split links and ranking between them. If one does not work at all, everyone who types it that way gets an error.
Which one you choose as the main address (with or without www) does not matter. What matters is that you choose one and redirect everything else to it.
301 and 308 are permanent: they tell search engines the old address has moved for good, so ranking signals should pass to the new one, and browsers may remember the move. 302 and 307 are temporary: the old address is expected to come back. The difference between each pair is that 307 and 308 guarantee a form submission (POST) stays a POST, while 301 and 302 may turn it into a GET.
For HTTP to HTTPS, www changes and pages that have moved permanently, use 301 or 308. A temporary redirect in those places is one of the most common technical SEO mistakes, and this checker flags it.
A chain is a redirect that leads to another redirect: http://www to https://www to https://. Every hop is a full request before the page starts to load, which costs real time on mobile connections. Google's documentation says its crawler follows up to ten hops, but each one wastes crawl effort, and long chains usually mean old rules stacked on new ones. Collapse them so each old address points straight to the final one.
A loop is a chain that comes back on itself, typically when two rules disagree (one adds www, another removes it) or when a site behind a CDN redirects to HTTPS without realising the CDN already did. Browsers give up with "too many redirects".
We follow HTTP redirects, the ones sent as a status code and a Location header. Redirects done with JavaScript or a meta refresh tag inside the page are not followed. Requests come from our server in the US, so sites that redirect by country, language or device may send other visitors elsewhere.
Browsers can also show redirects we do not. Once a browser has seen a site's HSTS header, it upgrades http:// to https:// itself, and developer tools show that as a "307 Internal Redirect". That redirect never reaches the server, which is why we report the server's real response instead.
For a permanent move, use a 301 (or 308). It tells search engines to index the new address and pass ranking signals to it. Use 302 or 307 only when the original address really will come back, such as a temporary maintenance page.
One is ideal and two is acceptable. Three or more is a chain worth collapsing. Each hop is a full round trip before the page can load, and Google's crawler stops after ten.
Either works. What matters is picking one and redirecting the other three variants to it permanently, so search engines and visitors always end up at the same address.
A redirect loop: two rules sending visitors back and forth, such as one rule adding www and another removing it, or a server forcing HTTPS behind a CDN that connects to it over HTTP. Trace the URL here to see exactly where the loop closes.
That is usually HSTS. After a browser has seen the site's Strict-Transport-Security header, it switches http to https itself and labels it "307 Internal Redirect". The server never sees that request, so we show what the server really sends.