# What is 301 redirect?

> A 301 redirect is an HTTP response telling browsers and search engines that a URL has moved permanently to a new address.

URL: https://yes-seo.com/glossary/redirect-301

A **301 redirect** is a server response with the status code [301 Moved Permanently](https://yes-seo.com/http-status-codes/301) and a `Location` header naming the new address. Browsers jump to the new URL automatically; search engines take it as a strong signal that the new URL should replace the old one in their index.

```
HTTP/1.1 301 Moved Permanently
Location: https://example.com/guides/orchid-care
Cache-Control: max-age=3600
```

The status is defined in [RFC 9110, section 15.4.2](https://www.rfc-editor.org/rfc/rfc9110#section-15.4.2).

## Why it matters for SEO

Google’s [redirects guide](https://developers.google.com/search/docs/crawling-indexing/301-redirects) calls permanent server-side redirects the best way to send users and Googlebot to the right page, and treats them as the strongest canonicalization signal — stronger than a [canonical tag](https://yes-seo.com/glossary/canonical-tag). Links and other signals pointing at the old URL are consolidated on the new one; Google has said redirects don’t lose PageRank.

Use a 301 when you:

- change a URL slug or folder structure;

- move to HTTPS or to a new domain;

- merge two pages that cover the same topic;

- consolidate `www` and non-`www` hosts, or trailing-slash variants.

## Server examples

```
# Apache (.htaccess)
Redirect 301 /old-guide /guides/orchid-care

# Nginx
location = /old-guide { return 301 /guides/orchid-care; }

# PHP
header('Location: https://example.com/guides/orchid-care', true, 301);
exit;
```

## 301 versus 308

Both mean “moved permanently”, and Google treats them the same way. The difference is technical: after a 301, clients may change a POST request into a GET, whereas a [308](https://yes-seo.com/http-status-codes/308) guarantees the method and body are kept. For ordinary pages a 301 is fine; for form targets and API endpoints, use 308.

## Common mistakes

- **Redirecting everything to the homepage.** Google usually treats irrelevant redirects as soft 404s. Map each old URL to its closest equivalent, or let it return 404 or 410.

- **Chains and loops.** A → B → C wastes crawls and slows visitors; point A straight at C. See [redirect chain](https://yes-seo.com/glossary/redirect-chain).

- **Removing redirects too early.** For a site move, Google recommends keeping them for at least a year; many sites keep them indefinitely.

- **Internal links still pointing at old URLs.** Update them so people and bots skip the hop.

- **Sending a 302 by accident** for a permanent move — see [302 redirect](https://yes-seo.com/glossary/redirect-302).

- **Testing in a browser that cached an old rule.** Browsers can cache 301s aggressively, so verify with a fresh profile or a command-line tool.

## Trace a redirect

The [redirect checker](https://yes-seo.com/redirect-checker) follows every hop — 301, 302, 307, 308 and meta refresh — with status, location and timing, and flags loops, long chains and inconsistent http→https or www handling.

## Frequently asked questions

### Do 301 redirects lose link equity?

Google has said that 3xx redirects don’t lose PageRank. What matters is that the target is relevant: a redirect to an unrelated page, or to the homepage, may be treated as a soft 404 and pass nothing.

### How long does Google take to process a 301 redirect?

Google has to recrawl the old URL to see the redirect. Popular pages are usually updated within days; less-visited URLs can take weeks. Keeping the old URLs in a temporary sitemap can speed up discovery after a migration.

### Should I use a 301 redirect or a canonical tag?

Use a 301 when visitors no longer need the old URL. Use a canonical tag when both URLs must stay accessible, for example filtered or tracked versions of the same page.

