# 301 redirect

A 301 redirect is an HTTP status that says a URL moved permanently. Browsers cache it and search engines transfer indexing signals to the target. This page shows when to use it, how to set it, how to test it, and what to avoid on a small site.

Updated 2026-09-14 · Source: https://porteur.ai/glossary/301-redirect

## What a 301 means for a small site

Use a 301 when you rename a page or move a section for good. Example: move /pricing-new to /pricing, or /blog/how-to from /guides/how-to. It preserves users, links and rankings.

As of 2016, Google has said 301, 302 and other redirects do not lose PageRank in themselves. Still, a clean move is faster and breaks less.

Fix pages that get type-ins or links first. If your /pricing changes, ship the 301 the same day you launch the new URL and update every internal link to the final URL.

## Where to set it

Set redirects at the server or the edge. Use your web server config, CDN rules or framework router. Avoid app-level hacks that run after the page loads.

Update internal links and the XML sitemap to the final URL. Remove old links in nav, footers and markdown. Keep the 301 in place long term.

> Do not use meta refresh or JavaScript for permanent moves. They are slower and less reliable than HTTP redirects.

## 301 vs 308: which to use

Both are permanent. 308 is the HTTP/1.1 permanent redirect that keeps the request method. A POST stays a POST. 301 may turn a POST into a GET.

- Use 301 for page and asset URL changes: /guides/getting-started to /guides/get-started.
- Use 308 when the method must persist: moving /api/v1/login to /api/v2/login.
- For http to https or domain moves, 301 is fine for web pages.

## How to check and measure redirects

1. **Trace the hop** Use a URL redirect checker or curl -I to see each status and target. You want one hop, 301 or 308, to the final URL.
2. **Test key paths** Check home, /pricing, /login, any old slugs, and canonical variations like http to https and no-www to www.
3. **Verify in Search Console** Inspect the old URL. The tool should show a redirect and the indexed page as the target. Check the Page with redirect report for totals.
4. **Watch logs or analytics** Look for hits to old URLs dropping. Track 404s after the change and add 301s for any missed slugs.

A fixed page loads once at the final URL, shows no mixed redirects, and every internal link points straight to it.

## Redirect chains and cleanup

Chains slow the fetch and add risk. A to B to C is two hops, two chances to fail. Google follows up to ten hops before giving up on a URL.

- Cut chains to one hop. Change A to point to C.
- Update internal links from A and B to C.
- Replace old canonicals and hreflang targets with the final URL.
- Consolidate rules so that http to https and non-www to www resolve in a single hop.
- After a domain move, keep the old host live with 301s for as long as you can.

Example: yourproduct.com/blog/post to yourproduct.com/guides/post, then to yourproduct.com/guides/post-2026. Replace both with one 301 from /blog/post to /guides/post-2026, and update links.

## Questions

### Are 301 redirects bad for SEO?

No. They are the right way to move a URL permanently. As of 2016, Google has said 301, 302 and other redirects do not lose PageRank in themselves. You still want one hop and updated internal links.

### What is the difference between 301 and 302 redirects?

A 301 is permanent. Use it when a resource moved for good. A 302 is temporary. Use it for short-term moves like maintenance or tests, then remove it or switch to 301 when the move is final.

### What do 307 and 308 mean?

They are the HTTP/1.1 versions. 307 is temporary and keeps the request method. 308 is permanent and keeps the method. Choose 308 instead of 301 when a POST must stay a POST, such as on API routes.

### Should I use 301 or 308 for my site move?

For web pages, 301 is fine and widely supported. Use 308 if you need to preserve the request method, for example on form endpoints or APIs. Either way, point straight to the final URL and fix internal links.

### How long should I keep a 301 redirect?

Keep it indefinitely. Browsers cache 301s, and users and links can hit old URLs for years. There is no harm in leaving it in place.

### Why do I still see 404s after adding 301s?

You likely missed some slugs or query variants. Check server logs, Search Console 404s, and inbound link reports. Add specific 301s for any high-traffic misses and update referring links where you control them.

## Read next

- [302 redirect](https://porteur.ai/glossary/302-redirect): A 302 redirect is temporary. Use it for short moves like maintenance or campaigns. See how Google treats it and when to pick 301 or 307.
- [Page with redirect in Search Console: normal, until it is not](https://porteur.ai/guides/page-with-redirect): “Page with redirect” is normal after a move. Fix it only when your sitemap or internal links still hit the old URL, or you have a chain or a loop.
- [Redirect checker](https://porteur.ai/tools/redirect-checker): Follow a URL's redirects hop by hop: each status and destination, the time each took, the kind of hop, meta and script redirects, one rule to replace it.
- [Internal linking for a small site: which pages link to which](https://porteur.ai/guides/internal-linking-for-seo): Decide which pages rank. Build hubs, write clear anchors, fix orphans, and crawl your site to map links you control.
- [The Sitemaps report: what Success, Has errors and Couldn’t fetch mean](https://porteur.ai/guides/search-console-sitemaps-report): How to submit your sitemap URL, read Success, Has errors and Couldn’t fetch, and fix invalid XML, 404s, cross‑host URLs and missing child sitemaps.
- [How to fix 404 errors reported in Search Console](https://porteur.ai/guides/how-to-fix-404-errors-in-google-search-console): Decide which 404s to fix, find the ones with links or traffic, choose redirect, restore or 410, clean internal links and sitemaps, and revalidate.

See how your redirects behave on real queries: paste your URL for a free Porteur check that reads your site and nearby rivals in about thirty seconds and shows three findings. Free check: https://porteur.ai/
