# 301重定向详解

> 📝 摘要：做SEO久了，你会发现301重定向这个东西，说简单也简单，说复杂，坑真的不少。
很多人改了域名或者调了URL结构，流量直接掉一半，回头查才发现重定向根本没设对，或者根本没设。这篇文章我尽量把我这些年实操下来的经验都写进去，帮助SEO人士更好地理解和应用这一技术。

作者：小魏博客  
发布时间：2026-06-02 12:43  
评论：0  
阅读：88  
更新时间：2026-07-20 14:58  

做SEO久了，你会发现301重定向这个东西，说简单也简单，说复杂，坑真的不少。

很多人改了域名或者调了URL结构，流量直接掉一半，回头查才发现重定向根本没设对，或者根本没设。

这篇文章我尽量把我这些年实操下来的经验都写进去，帮助SEO人士更好地理解和应用这一技术。

> 不想了解技术细节的可以直接阅读：什么时候该用301 → 301重定向怎么设置 → 几个常见的坑，别踩 → 做了301之后，还要做这几件事，想要详细了解请全文阅读
> 新手用户阅读指南

## 什么是301重定向？

简单说，301是一个HTTP状态码，告诉浏览器和搜索引擎：这个页面**永久搬家了**，以后去新地址找。

具体的流程是这样的：用户或者Googlebot访问旧URL（例如：https://blog.topsucai.com/），服务器返回”301 Moved Permanently”，同时在响应头里带上新地址（https://xiaoweiboke.com/）。

浏览器收到这个信号，自动跳转过去新地址（https://xiaoweiboke.com/）。

用户感觉不到什么，但搜索引擎会更新索引，把旧URL从其索引中移除，并用新URL取代。

[对Google来说，301意味着几件事：旧页面不在了、内容移到新地址了、旧页面积累的所有链接权重要转移过去](https://x.com/methode/status/757923179641839616)。

这最后一点，才是SEO里最值钱的地方。

## SEO权重会损失吗?老实说

这个问题被问烂了。

早年间确实有说法认为301会损失一部分PageRank（排名），但Google的Gary Illyes在2016年已经明确说过：[301重定向不再损失PageRank](https://x.com/methode/status/757923179641839616)。

实际测试的结果也印证了这点。

我见过不少域名迁移的案例，只要重定向设置正确、目标页面内容相关，排名波动基本在一两个月内就会恢复，甚至有些反而涨了，因为把分散的权重集中了。

当然，短期内有波动很正常，别慌。

Google重新爬取、处理、更新索引需要时间，这跟你设没设好没关系。

## 什么时候该用301

出现这些情况：

- **域名迁移**，比如从abc.com搬到xyz.com，必须全站301，没有商量的余地
- **URL结构调整**，动态URL换成静态的，或者改了目录层级
- **[HTTP升级HTTPS](https://xiaoweiboke.com/https-zheng-shu/)**，这个现在几乎是标配了
- **统一www和非www**，选一个版本，另一个301过去
- **内容合并**，两篇相似的文章合成一篇，旧的301到新的
- **产品下架**，别让它直接404，重定向到相关分类页或替代产品

有一个很多新手容易忽略的点：产品下架的时候，大家习惯性就让页面404了。

但如果那个页面有外链或者有历史流量，直接404就是白白扔掉权重。

找个相关的页面跳转过去，这个习惯养成了，流量会稳很多。

## 301 vs 302，别搞混

[302是临时跳转](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Reference/Status/302)，告诉搜索引擎：我临时跳过去，原来的地址还有效，继续给我保留索引。

两个的核心区别就一条：**权重传不传**。

301传，302不传(或者传得很慢、很少)。

什么时候用302：促销活动、A/B测试、网站临时维护。

活动结束要恢复原页面，用302。

但凡你打算永久换地址，就用301，别犹豫。

我刚开始做SEO的时候，有个项目改版，开发随手用了302，我也没注意检查。

结果两个月过去了，新页面排名就是上不来，Google一直在索引旧页面。

后来排查才发现问题出在这里。

改成301之后，大概三周开始有起色。

这个坑踩过一次就不会再忘了。

**301跳转与302跳转的区别对比图表**

| 对比项目 | 301重定向 | 302重定向 |
| --- | --- | --- |
| 含义 | 永久跳转 | 临时跳转 |
| SEO权重传递 | 完全传递（几乎100%） | 不传递或仅部分传递 |
| 搜索引擎索引 | 更新到新页面，移除旧页面 | 保留旧页面，不更新索引 |
| 使用时间 | 长期 | 短期 |
| 使用推荐 | 网站迁移、URL结构更改、[HTTPS升级](https://xiaoweiboke.com/https-zheng-shu/)、域名更换、内容合并、页面永久删除 | 促销活动、A/B测试、网站维护、设备适配（如移动端页面） |

## 301重定向怎么设置

**1、Apache服务器(.htaccess)**

大多数虚拟主机用的是Apache，找到网站根目录的.htaccess文件，直接加代码。

单个页面跳转：

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

整站HTTP跳HTTPS：

```
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.* )$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

> 注意：确保您的网站已安装SSL证书 ，否则会导致“不安全”警告 。

**2、Nginx服务器**

Nginx的配置在server block里改，性能上比htaccess更好，大型站推荐这种方式。

单个页面跳转：

```
rewrite ^/old-page.html$ https://example.com/new-page.html permanent;
```

整站HTTPS跳转：

```
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}
```

这里多说一句为什么。

.htaccess的重定向每次请求都要触发 Apache 的 mod\_rewrite 模块去逐行解析规则，规则越堆越多，解析开销就越大。

小站感觉不出来，但如果你有几千条规则，加上 Googlebot 密集爬取期间的并发请求，CPU 尖峰是真实存在的问题。

Nginx 在这点上天然有优势。

上面Nginx给的示例用的是return 301，而不是rewrite，这不是随手写的——return 直接返回响应，不走正则匹配，开销比rewrite小得多。

大型站做全站迁移时，短时间内可能有大量旧 URL 被集中爬取，全部触发重定向，服务器压力不可忽视。

能在 Nginx 层或者CDN层处理掉，就别让它落到应用层。

**3、WordPress设置301**

如果你用WordPress，最省事的方法是装**Redirection插件**，免费的，操作很直观。

它还会自动记录404错误，让你知道哪些URL在报错，方便你补设重定向。

Rank Math和Yoast也有内置的重定向管理，如果你本来就在用这两个插件，直接在里面设就行，不用再装额外的插件。

但如果是大型站，建议还是在服务器层设置，速度更快，不走PHP，响应效率高很多。

**4、用Cloudflare的话**

Cloudflare后台有”页面规则”或者”重定向规则”，可以不动源服务器就配置重定向，Shopify独立站、静态站用这个特别方便。

## 几个常见的坑，别踩

**1、重定向链过长**

A跳B，B跳C，C跳D——这种链式重定向很常见，也很麻烦。

每多一跳，响应时间就多一点，抓取预算也在消耗，权重传递效率也会降。

有条件的话，尽量把链路压到一跳，A直接跳D。

**2、重定向循环**

A跳B，B又跳回A。

浏览器会直接报错，搜索引擎也无法处理。

用[Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/)跑一遍就能发现这种问题。

**3、什么都跳首页**

这是最常见的懒操作。

把一堆404页面或者旧产品页全部301到首页，Google会把这个当软404处理——因为这些页面的内容根本和首页不相关，这种重定向没有意义，权重传递基本等于零。

尽量找最相关的目标页。

**4、该用301用了302**

上面已经说过了，但确实太多人犯这个错，再提一次。

**5、怎么确认301设好了**

最直接的方法是打开Chrome开发者工具，Network选项卡，访问旧URL，看状态码是不是301，以及Location字段指向的是不是正确的新地址。

如果要批量检查，用[Screaming Frog](https://www.screamingfrog.co.uk/seo-spider/)是标准操作，爬一遍就能看到所有页面的状态码和跳转路径。

也可以用[HTTP Status Checker](https://httpstatus.io/)这类在线工具，输入URL直接看重定向链路。

Google Search Console里也能看，”索引”报告下面有”重定向”页面的数据，能帮你判断Google有没有正确处理你的跳转。

## 做了301之后，还要做这几件事

很多人设完301就觉得完事了，其实还差几步。

**1、内部链接要更新**

301虽然能传权重，但它终究是一次额外的请求。

把网站内部所有指向旧URL的链接直接改成新URL，让链接直达目标，不绕路。

**2、更新Sitemap，重新提交到Search Console**

这一步能帮Google更快找到新页面，不用等着Googlebot自己慢慢爬过来。

因为光靠301等Googlebot自己把整站爬完，少则一两个月，多则更长。

地址更改工具相当于直接跟Google说：我搬家了，请优先处理。

实测下来，用了之后索引更新速度明显快于纯靠爬取。

**用之前有几个前提要满足：**

新旧域名都要在GSC里完成所有权验证，301要已经设好，新域名的Sitemap也要提交到位。

然后在GSC旧域名的工具入口「设置」页面里，找「地址更改」那一栏进行指向到新域名。

**有一点要注意：**

这个工具只适用于站点级别的迁移（就是两个不一样的域名进行迁移）

调整了URL结构、HTTP升级 HTTPS、www 与非 www 的切换，这些都可以不用。

**举例：**

**可以用的情况**

①网站内容和URL结构不变，仅仅是域名变了(例如：www.example.com/blog/abc 通过301重定向到example.com/blog/abc)。

②我的博客原本域名blog.topsucai.com，由于发展壮大，你购买了新域名 xiaoweiboke.com，并把整个博客迁移过去。

**不可以用的情况**

①https://www.example.com/news/123.html 改成新域名：https://www.example.com/articles/123/(域名没有发生根本性改变，谷歌不需要地址更改工具来识别，只需做好全站的内部 301 重定向)

②从http://www.example.com/ 变成新域名：https://www.example.com/(同域名下的 HTTP 到 HTTPS 迁移属于安全升级，谷歌的算法能够自动平滑处理，不需要也不允许使用地址更改工具)

[详细请看google官方的使用说明](https://support.google.com/webmasters/answer/9370220?hl=zh-Hans)

最后，还有一点就是如果有重要的外部链接(比如高权重的外链)，能联系到对方站长的话，顺手让对方更新一下链接地址，虽然301能传权重，但直接链接效果更干净。

**3、301保留多久?建议至少12个月**

大型站或者域名迁移，能留就一直留着。

外链是删不完的，总会有你不知道的老链接在某个地方指向旧地址，留着301能持续接住这部分权重。

---

## 301重定向常见问题（FAQ）

**问：**301会损失权重吗?****

答：[根据Google的官方声明](https://x.com/methode/status/757923179641839616)，现代搜索引擎在处理301重定向时，能够传递绝大部分甚至接近全部的SEO权重。  
虽然短期内搜索排名可能会有轻微波动，但长期来看，只要重定向设置正确且目标页面相关，权重损失可以忽略不计。

**问：**301多久生效?****

答：301重定向的生效时间因网站规模、搜索引擎抓取频率和重定向复杂性而异。  
通常情况下，小型网站的重定向可能在几天到几周内被搜索引擎识别并处理。  
对于大型网站或复杂的迁移，可能需要数月才能完全生效。

**问：**301可以批量设置吗?****

答：可以。  
通过Apache的.htaccess规则、Nginx的配置文件、Cloudflare的页面规则或WordPress的重定向插件(如Redirection)，都可以实现批量设置301重定向，以应对大规模的URL更改。

**问：**301删除后会怎样?****

答：一旦301重定向被删除，搜索引擎可能会重新发现并索引旧URL。  
如果旧URL不再存在或返回[404错误](https://xiaoweiboke.com/404-error/)，这会导致权重分散、[用户遇到死链接](https://xiaoweiboke.com/dead-link/)，并可能损害网站的SEO表现。  
因此，在确认所有外部链接和内部链接都已更新到新URL，并且搜索引擎已完全更新其索引之前，不应轻易删除301重定向。

