301 Moved Permanently
Use a permanent server-side redirect when a URL has moved for the long term and the destination should become the preferred location.
A redirect chain is the sequence of 3xx responses between the URL requested first and the final destination. Trace every hop instead of checking only where the browser eventually lands.
Start with the original URL, record its HTTP status and Location header, then repeat the request for each redirect target until a non-redirect response or a loop is reached. The Redirect Checker follows supported 301, 302, 303, 307 and 308 responses and shows each hop, destination and final URL.
Use a permanent server-side redirect when a URL has moved for the long term and the destination should become the preferred location.
308 is also permanent and preserves the request method. It can be useful where method preservation matters.
Use a temporary redirect when the original URL should remain the intended long-term location and the alternate destination is temporary.
307 is temporary and preserves the request method. This distinction is important for non-GET requests and APIs.
Every avoidable hop adds another request before the final resource can load. Chains also make migrations, canonicalization and troubleshooting harder. When you control the rules, point old URLs directly at the final intended destination instead of preserving historical intermediate hops.
Google documents permanent redirects such as 301 and 308 as signals that the target should be canonical, while 302, 303 and 307 are temporary. Google also recommends server-side permanent redirects for URL moves and advises avoiding unnecessary chains by redirecting directly to the final destination where possible.
The server-side tool follows HTTP redirects communicated by status code and Location. A JavaScript navigation or delayed meta refresh happens after HTML processing and may require browser-level inspection instead.
Last technically reviewed: September 28, 2026.