How to use the Redirect Checker
- Enter the URL to test. Include the protocol you want to check: use
http://example.comto test your HTTP to HTTPS redirect, orhttps://www.example.comto test hostname normalization. - Run the check. We follow the redirects one hop at a time.
- Read the hop list from top to bottom: each URL, its status code, the Location it points to and how long it took.
- Review the warnings under the list.
- Confirm the final URL returns 200 and is the address you expect.
Understanding your results
Each hop
Every request we made is listed with its status code, the Location header it returned and its response time. The last row is the final destination. If it is not a 200, the redirect ends somewhere broken or blocked.
Redirect status codes
| Code | Meaning | Request method | How Google treats it |
|---|---|---|---|
| 301 | Moved permanently | May change POST to GET | Strong signal that the target is canonical |
| 308 | Permanent redirect | Method preserved | Strong signal that the target is canonical |
| 302 | Found (temporary) | May change POST to GET | Not a canonical signal; original URL may stay in results |
| 307 | Temporary redirect | Method preserved | Not a canonical signal |
| 303 | See other | Always changes to GET | Not a canonical signal |
The method behaviour comes from RFC 9110. The search behaviour comes from Google's redirects documentation: Google treats 301 and 308 as a signal that the target should be canonical, and does not treat 302, 303 or 307 that way. For ordinary page moves, 301 and 308 behave the same in search. Our guide to 301 vs 302 redirects covers when to use each.
Warnings
- Redirect loop. A URL eventually redirects back to one already visited. Browsers show an error and crawlers give up.
- Chain longer than one hop. Each extra hop adds a round trip for visitors and more work for crawlers. Point the first URL straight at the final destination.
- Temporary redirect that looks permanent. A 302 or 307 used for a move that appears permanent, such as HTTP to HTTPS or an old URL to a new one. If the move is permanent, use 301 or 308.
- HTTP to HTTPS. Whether the site upgrades insecure requests, and whether it does so in a single step.
- www and non-www normalization. Whether the site settles on one hostname, and whether that happens in the same hop as the HTTPS upgrade.
- Meta refresh on the final page. An HTML redirect inside the page rather than an HTTP status code. Google treats an instant meta refresh like a permanent redirect and a delayed one like a temporary redirect, but server-side redirects are faster and clearer.
How this tool works
We request the URL ourselves without following redirects automatically, read the status code and Location header, then request the next URL, repeating up to 10 hops. Google's crawlers also follow up to 10 redirect hops by default, so a chain that reaches our limit is a real problem.
We measure the response time of every hop and inspect the final page's HTML for a meta refresh tag.
We do not run JavaScript, so redirects performed by scripts are not detected. The test runs from a single location without cookies, so redirects based on country, device, language or login state may behave differently for your visitors.
Tips
- Aim for a single hop from any old URL to its final destination.
- Update internal links, canonical tags and sitemaps to point at final URLs, so visitors and crawlers skip redirects entirely.
- Use 301 or 308 for permanent moves and keep 302 or 307 for genuinely temporary situations.
- Combine the HTTPS upgrade and the hostname choice into one redirect where your server allows it.
- After a site migration, test a sample of old URLs from every section, not just the homepage.
- Check the certificate on the destination with the SSL Checker.
- Find links on your pages that point at redirecting URLs with the Broken Link Checker.
Frequently asked questions
What is the difference between a 301 and a 302 redirect for SEO?
A 301 tells Google the move is permanent, and Google uses it as a signal that the new URL should be canonical. A 302 is temporary, so Google may keep the original URL in search results. Use 301 when a page has moved for good.
What is the difference between 301 and 308?
Both are permanent. A 308 requires the client to repeat the request with the same method, so a POST stays a POST, while a 301 may be changed to GET. For normal page moves they work the same in search.
How many redirects is too many?
Ideally one. Every extra hop slows the page for visitors. Google's crawlers follow up to 10 hops, but long chains waste crawling and are easy to break during future changes.
Why does my browser behave differently from this checker?
Browsers cache permanent redirects, so your browser may skip steps it has seen before. Redirects can also depend on location, cookies, language or device. This checker makes fresh requests from one location without cookies.
Does a meta refresh count as a redirect?
Google does treat it as one: instant meta refreshes are treated as permanent and delayed ones as temporary. A server-side 301 or 308 is still the better choice because it happens before the page loads.
What causes a redirect loop?
Two or more rules that send traffic back to each other, often conflicting HTTPS or www rules set in different places, such as the server configuration and a CMS or CDN setting. Remove one of the conflicting rules.