# 301 redirect

Category: [Technical SEO](https://seo-geo-glossary.com/en/glossary/category/technical-seo/) › [Redirects](https://seo-geo-glossary.com/en/glossary/category/technical-seo/redirects/) · Also known as: 301 Moved Permanently, permanent redirect

A **301 redirect** is a server response with the HTTP status code 301 Moved Permanently. It tells browsers and crawlers that a URL has permanently moved to a new address, which the server sends in the `Location` header.

## What does a 301 redirect mean for SEO?

Google treats 301 and 308 as permanent redirects and uses them as a strong signal that the target URL should be canonical. Over time, the new URL replaces the old one in search results. With a temporary redirect (302, 307), the original URL tends to stay visible. Google calls server-side redirects the most reliable option and recommends JavaScript redirects only when nothing else is possible.

For site moves, Google advises keeping redirects in place as long as possible, generally at least one year. It also recommends redirecting straight to the final destination. Googlebot follows up to 10 redirect hops. If a chain cannot be avoided, the site move documentation advises ideally no more than 3 hops and fewer than 5. Each extra hop adds a request for browsers and crawlers.

RFC 9110 notes one technical difference to 308. For historical reasons, a browser may turn a POST request into a GET when following a 301. A 308 keeps the method. For normal page views this has no effect; for forms and APIs it can matter.

## Example

Server response for an old URL:

```http
HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/new-page/
```

The matching rule in an Apache `.htaccess` file:

```apache
Redirect 301 /old-page/ https://www.example.com/new-page/
```

## Common mistakes

- **302 instead of 301** for a permanent move, for example because a CMS or plugin defaults to 302, as WordPress's `wp_redirect()` does.
- **Chains after several relaunches,** where old rules were never updated to point at the current URL.
- **Redirecting everything to the home page.** Google warns this may be treated as a soft 404. Each old URL should lead to its closest equivalent.

## FAQ

**How long should a 301 redirect stay in place?**
Google recommends at least one year after a site move and, from the user's point of view, indefinitely, as long as old links and bookmarks exist.

**301 or 308?**
Google treats both as permanent. 308 is the better choice when the request method has to be preserved, for example for form submissions or API endpoints.

**What do 307 and 308 redirects mean?**
307 Temporary Redirect and 308 Permanent Redirect are the method-preserving counterparts of 302 and 301.

## At a glance

- **Class:** 3xx (redirection)
- **Duration:** permanent
- **In Google:** signal that the target should become the canonical URL
- **Request method:** POST may become GET when followed (not with 308)
- **Caching:** heuristically cacheable
- **Specification:** [RFC 9110, section 15.4.2](https://www.rfc-editor.org/rfc/rfc9110.html#name-301-moved-permanently)

Last checked: October 8, 2026

## Redirect types compared

| Type | Permanent or temporary? | Request method | Effect in Google | How reliably Google detects it |
|---|---|---|---|---|
| 301 Moved Permanently | permanent | POST may become GET when followed | Signal that the target should become canonical | most reliable (server-side) |
| 308 Permanent Redirect | permanent | preserved | same as 301 | most reliable (server-side) |
| 302 Found | temporary | POST may become GET when followed | not used as a canonical signal for the target; other signals can still get it indexed | most reliable (server-side) |
| 307 Temporary Redirect | temporary | preserved | same as 302 | most reliable (server-side) |
| Meta refresh, instant (0 s) | permanent | – (redirect inside the HTML, no 3xx status code) | same as 301 | after server-side redirects |
| Meta refresh, delayed (> 0 s) | temporary | – (redirect inside the HTML, no 3xx status code) | same as 302 | after server-side redirects |
| JavaScript (location) | permanent | – (redirect in the browser) | same as 301, but only if Google renders the page | least reliable: if rendering fails, Google may never see it |

Sources: [Google Search Central: Redirects and Google Search (last updated 2026-04-14)](https://developers.google.com/search/docs/crawling-indexing/301-redirects); [Google Search Central: How to specify a canonical URL (redirects as canonical signal)](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls); [RFC 9110: HTTP Semantics, 15.4 Redirection 3xx](https://www.rfc-editor.org/rfc/rfc9110.html#name-redirection-3xx). Last checked: October 8, 2026

*Diagram: Redirect chain vs. direct redirect.* Every hop in a chain is a separate request. Google’s crawlers follow up to 10 redirect hops; Google still recommends redirecting straight to the final destination.

*Diagram: What happens between browser and server during a 301.* The server names the new target in the Location header, and the browser requests it with a second request. 301 and 308 are permanent, 302 and 307 temporary. Only with 301 and 302 may a POST become GET when the redirect is followed.

## Not to be confused with

- [308 redirect](https://seo-geo-glossary.com/en/glossary/308-redirect/index.md): also permanent, and Google treats both the same. A 308 keeps the request method, which matters for forms and APIs.
- [Canonical tag](https://seo-geo-glossary.com/en/glossary/canonical-tag/index.md): a signal in the HTML telling Google which URL to choose as canonical. The old URL stays reachable for visitors. A 301 actually sends visitors and crawlers to the new URL.

## Related terms

- [302 redirect](https://seo-geo-glossary.com/en/glossary/302-redirect/index.md)
- [308 redirect](https://seo-geo-glossary.com/en/glossary/308-redirect/index.md)
- [Redirect chain](https://seo-geo-glossary.com/en/glossary/redirect-chain/index.md)
- [Redirect mapping](https://seo-geo-glossary.com/en/glossary/redirect-mapping/index.md)
- [Website migration](https://seo-geo-glossary.com/en/glossary/website-migration/index.md)

## More on the searchVIU blog

- [Testing redirects before and after a website migration](https://www.searchviu.com/en/testing-redirects/)

## Sources

- [Redirects and Google Search – Google Search Central (updated Apr 14, 2026)](https://developers.google.com/search/docs/crawling-indexing/301-redirects)
- [Site moves with URL changes – Google Search Central (updated Aug 20, 2026)](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes)
- [How HTTP status codes, and network and DNS errors affect Google Search – Google Search Central](https://developers.google.com/search/docs/crawling-indexing/http-network-errors)
- [RFC 9110: HTTP Semantics, 15.4.2 301 Moved Permanently – IETF](https://www.rfc-editor.org/rfc/rfc9110#name-301-moved-permanently)
- [301 Moved Permanently – MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/301)
- [wp_redirect() – WordPress Developer Resources](https://developer.wordpress.org/reference/functions/wp_redirect/)

---

Last updated: October 8, 2026
URL: https://seo-geo-glossary.com/en/glossary/301-redirect/
