A redirect is a one-line server instruction: "this URL now lives elsewhere." The type you choose tells search engines how to treat the move — permanently, temporarily, or as a duplicate. Choose wrong and link equity leaks, rankings flicker, and the mess compounds quietly. Three types cover everything.

301: the permanent move

The 301 says "gone forever, here's the new address." Search engines transfer most of the old URL's signals — links, history, rankings — to the destination over weeks. This is the correct answer for platform migrations, merged content, deleted pages with useful replacements, and URL cleanups. When in doubt between 301 and anything else: if the move is real, 301.

302: the temporary detour

The 302 says "redirected for now, original will return" — maintenance pages, seasonal takeovers, A/B tests. Crucially, the engine keeps indexing the original URL and doesn't pass equity across. Use a 302 for a genuine temporary state and you're fine; use one for a permanent move (the most common redirect mistake in the wild) and you've told Google to keep waiting for a page that will never return, splitting your signals between two addresses.

Canonical: the nomination

Neither redirect nor canonical removes a page — they differ in mechanism. A redirect sends the visitor elsewhere at the HTTP level; a canonical keeps both pages live and nominates one for indexing. Use redirects when the old URL should cease to exist. Use canonicals when both URLs must keep working (filter views, syndicated content, parameter variants) but only one deserves to rank.

The hygiene rules

Redirect chains are where implementations rot: A→B→C should be A→C, always — each hop loses a little signal and adds latency. Never redirect everything to the homepage "to be safe"; Google treats that as a soft 404. And audit redirects after every migration with a crawler, because the map you think you deployed and the map that's live are different documents surprisingly often.