Check URL redirect chains and learn about redirect types
curl -vL from the command line.The URL has permanently moved. Search engines transfer full SEO value. Best for: domain migrations, permanent URL changes, HTTP to HTTPS.
Temporary redirect. Original URL keeps its rankings. Best for: A/B testing, maintenance pages, geo-targeting, seasonal content.
Like 302 but strictly preserves the HTTP method (POST stays POST). Best for: API redirects, form submissions, HSTS enforcement.
Like 301 but strictly preserves the HTTP method. Best for: API endpoint migrations, POST-preserving permanent moves.
A 301 redirect is permanent, telling search engines the page has moved forever and to transfer all SEO value (link equity, rankings) to the new URL. A 302 redirect is temporary, meaning the original URL retains its search rankings and the redirect may be reversed. Use 301 for permanent domain migrations, URL restructuring, or HTTP-to-HTTPS moves. Use 302 for temporary situations like A/B testing, maintenance pages, or geo-based routing.
Redirect chains occur when URL A redirects to B, which redirects to C, and so on. Each hop adds latency (typically 50-100ms per redirect), dilutes link equity (some PageRank is lost at each step), and risks crawlers giving up before reaching the final destination. Google has stated they will follow up to 5 redirects but recommend keeping chains to 3 or fewer. The best practice is to update all redirects to point directly to the final destination URL.
Web browsers enforce Cross-Origin Resource Sharing (CORS) security policies that prevent JavaScript from reading redirect responses from different domains. When you use fetch() with redirect: 'manual', the browser returns an opaque response without the Location header. This is a fundamental browser security feature, not a tool limitation. For complete redirect chain analysis with all status codes and headers, use server-side tools like curl -IvL [url] from your terminal.