What is 301 Redirect?
A permanent HTTP redirect that tells browsers and search engines a URL has moved permanently to a new location. Passes ~95% of link equity to the destination.
A 301 redirect is the HTTP status code for 'Moved Permanently'. When a browser or crawler hits an old URL, the server responds with `301` plus a `Location` header pointing at the new URL. The browser silently follows it; the crawler updates its index. Use 301s when you rename pages, consolidate duplicate content, or migrate domains. Contrast with 302 (temporary) — Google treats those very differently and won't transfer ranking. In Next.js, add 301s in `next.config.ts` under the `redirects()` async function. Common gotcha: a chain of redirects (A → B → C → D) bleeds equity at each hop; flatten chains to single hops whenever possible.