What is a 301 redirect and how to use one without losing SEO
A redirect tells a browser (and a search engine) that a URL has moved. Get the type right and you keep your rankings. Get it wrong and you can silently lose traffic for months.
301 vs 302 vs 307 vs 308
301 Moved Permanently — the page has moved for good. Search engines pass ranking signals to the new URL. Use this for real moves.
302 Found — a temporary move. The original URL stays the canonical one. Use for A/B tests and short-term changes.
307 — like 302 but guarantees the HTTP method (e.g. POST) is preserved.
308 — like 301 but preserves the method, permanently.
How to set one up
On Apache, use a Redirect or RewriteRule in .htaccess. On nginx, use a return or rewrite in the server block.
# Apache (.htaccess)
Redirect 301 /old-page /new-page
# nginx
location = /old-page { return 301 /new-page; }Redirect to the final destination, not through a chain
If /a redirects to /b and /b redirects to /c, a visitor and a crawler make two hops instead of one. Chains waste crawl budget and dilute signal. Point every old URL straight at the final URL.
Watch for loops
A redirect loop (A→B→A) means the page can never load. Our redirect chain visualiser flags a repeated URL immediately.
Redirect the whole site safely
Redirect old URLs to the closest equivalent on the new site, not everything to the homepage.
Keep the redirects in place for at least a year — removing them early loses the signal.
Update internal links so they point at the new URLs directly.
Re-check HTTPS and canonical tags after a move.
After a redesign or domain change, run the redirect chain visualiser over your most important old URLs to confirm each one lands where it should, in a single hop.