第一部分:为什么要做301重定向?
在开始之前,理解其重要性至关重要:

- 传递SEO权重(权重转移):这是最主要的目的,搜索引擎会将旧网站的“信任度”和“权威性”(即权重)通过301重定向传递给新网站,帮助新网站更快地获得排名。
- 保留流量和用户体验:用户通过旧网址访问时,会被自动引导到正确的新页面,不会遇到404错误(页面未找到),从而避免流量损失和用户流失。
- 避免重复内容问题:如果新旧网站内容同时存在,搜索引擎可能会判定为重复内容,分散权重,301重定向明确告诉搜索引擎“这是永久搬家”,将所有权重集中到新域名。
- 传递链接价值:其他网站指向你旧域名的反向链接,其价值会通过301重定向传递到新域名的对应页面上。
第二部分:实施前的准备工作
在动手重定向之前,请务必做好以下准备工作,这能避免很多后续问题。
规划重定向策略
这是最关键的一步,你需要决定每个旧页面应该跳转到哪个新页面。
-
1对1精确重定向:最理想的情况。
old-site.com/page-a.html→new-site.com/page-a.htmlold-site.com/blog/post-1→new-site.com/blog/post-1- 适用场景:新网站结构和URL与旧网站基本一致,只是更换了域名。
-
1对1非精确重定向:当URL结构发生变化时。
(图片来源网络,侵删)old-site.com/products/item123→new-site.com/item/123old-site.com/category/tech→new-site.com/topics/technology- 适用场景:新网站的URL结构做了优化(如更简洁、包含关键词)。
-
多对一重定向:多个旧页面合并到一个新页面。
old-site.com/product-old-a,old-site.com/product-old-b→new-site.com/product-new- 适用场景:产品线调整或旧页面内容被整合。
-
主页重定向:所有旧网站流量都导向新主页。
old-site.com→new-site.com- 适用场景:网站完全改版,旧页面大部分已无对应页面。
最佳实践:尽量创建1对1的重定向,特别是对于有流量的重要页面和被搜索引擎收录的页面,如果旧页面没有对应的新页面,则重定向到最相关的新页面,或者重定向到新网站的主页。
备份!备份!备份!
在进行任何服务器配置修改前,务必备份你的旧网站文件和数据库,如果重定向配置错误,你可以随时恢复。

准备新旧网站清单
创建一个详细的映射表,
| 旧网站 URL | 新网站 URL | 备注 |
| :--- | :--- | :--- |
| https://old-site.com | https://new-site.com | 主页 |
| https://old-site.com/about-us | https://new-site.com/about | “关于我们”页面URL变了 |
| https://old-site.com/contact | https://new-site.com/contact | 保持不变 |
| https://old-site.com/blog/old-post | https://new-site.com/blog/new-post | 文章URL优化了 |
第三部分:如何设置301重定向
设置方法取决于你的服务器环境,以下是最常见的几种情况:
使用 Apache 服务器(.htaccess文件)
这是最常见的方式,适用于绝大多数Linux虚拟主机。
- 找到
.htaccess文件:它位于你网站根目录下(public_html或www目录),如果找不到,可以新建一个。 - 编辑文件:在文件的开头(在
RewriteEngine On之后)添加重定向规则。
示例代码:
# 启用重写引擎
RewriteEngine On
# --- 开始重定向规则 ---
# 1. 将整个旧域名重定向到新域名(推荐放在最前面)
# 这会确保所有访问 old-site.com 的请求都跳转到 new-site.com
# [R=301,L] 表示301永久重定向,L表示这是最后一条规则(匹配后停止)
RewriteCond %{HTTP_HOST} ^old-site.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old-site.com [NC]
RewriteRule ^(.*)$ https://new-site.com/$1 [L,R=301]
# 2. 特定页面的重定向(如果URL结构有变化)
# RewriteRule ^old-page-path$ https://new-site.com/new-page-path [L,R=301]
# RewriteRule ^products/old-item/(.*)$ https://new-site.com/items/$1 [L,R=301]
# --- 结束重定向规则 ---
代码解释:
RewriteCond %{HTTP_HOST} ^old-site.com [NC,OR]:检查访问的域名是否是old-site.com(NC表示不区分大小写,OR表示“或”条件)。RewriteRule ^(.*)$ https://new-site.com/$1 [L,R=301]:将所有请求(^(.*)$匹配所有路径)重定向到https://new-site.com/的相同路径($1代表捕获的路径)。[L,R=301]:R=301指定301重定向,L告诉服务器这是最后一条匹配规则,提高效率。
使用 Nginx 服务器
Nginx的配置文件通常是 nginx.conf 或在 sites-available 目录下的配置文件。
- 找到服务器配置块:在配置文件中找到处理
old-site.com的server块。 - 添加重定向指令:在
server块内添加return指令。
示例代码:
# 针对 old-site.com 的服务器块
server {
listen 80;
server_name old-site.com www.old-site.com;
# 将所有HTTP请求重定向到HTTPS的新域名
return 301 https://new-site.com$request_uri;
}
# 如果你想配置特定路径的重定向,可以使用 rewrite
# server {
# listen 80;
# server_name old-site.com;
#
# location /old-path/ {
# rewrite ^/old-path/(.*)$ https://new-site.com/new-path/$1 permanent;
# }
#
# location / {
# return 301 https://new-site.com$request_uri;
# }
# }
代码解释:
return 301 https://new-site.com$request_uri;:301是状态码,https://new-site.com是目标域名,$request_uri会保留原始的请求路径(包括查询参数)。permanent是301的另一种写法。
使用 WordPress(通过插件)
如果你不熟悉代码,使用插件是最简单、最安全的方法。
- 安装插件:在WordPress后台搜索并安装 “Redirection” 或 “All 404 Redirect to Homepage” 等重定向插件,Redirection 功能更强大。
- 配置重定向:
- 激活插件后,在左侧菜单找到“Tools” -> “Redirection”。
- 点击“Add New”,填写“Source URL”(旧网址)和“Target URL”(新网址)。
- 选择“ permanently (301)”。
- 点击“Add Redirect”。
- 批量导入:如果你有大量的重定向规则(比如从CSV文件),Redirection插件支持批量导入。
第四部分:实施后的检查与维护
设置好重定向后,工作并未结束。
验证重定向是否生效
- 浏览器测试:在浏览器地址栏输入旧网址,检查是否正确跳转到新网址,并确认浏览器地址栏显示的是新网址,状态码为
301。 - 在线工具测试:
- Redirect Checker (redirect-checker.org): 输入旧网址,它会显示重定向链和最终状态码。
- Search Console (见下文)。
- 命令行测试(高级用户):
curl -I https://old-site.com/some-page
你应该会看到响应头中包含
HTTP/2 301或HTTP/1.1 301以及Location: https://new-site.com/some-page。
更新搜索引擎站长工具
这是至关重要的一步,可以主动通知搜索引擎你的网站搬家了。
- Google Search Console (GSC):
- 同时验证并添加旧域名和新域名的属性。
- 在旧域名的GSC中,找到“设置” -> “站点地址更改”(Site Move)。
- 指出你的网站已从
old-site.com搬迁到new-site.com,Google会使用这个信息来更新其索引。
- 百度搜索资源平台:
- 同样,添加并验证旧域名和新域名。
- 在旧域名的站点管理中,寻找类似“网站改版”或“站点迁移”的功能(百度平台可能会更新此功能名称,请留意官方指引)。
- 按照提示提交你的新旧域名对应关系。
更新外部链接
尽可能联系与你交换友情链接或链接到你的重要网站,请他们更新链接到你的新域名,虽然301重定向可以处理大部分问题,但直接的外部链接传递的权重更“纯净”。
监控数据
- 流量监控:在GSC和百度统计等工具中,密切观察搬家后几周到几个月内,新域名的流量是否逐渐增长,旧域名的流量是否逐渐下降至零。
- 排名监控:使用SEO工具监控旧网站的关键词排名是否逐渐消失,新网站对应页面的排名是否出现。
常见问题与注意事项
-
Q: 301和302有什么区别?
- A: 301是永久重定向,告诉搜索引擎这个页面永久移动了,权重会转移。302是临时重定向,告诉搜索引擎这个页面暂时不可用,以后还会回来,权重不会转移,网站搬家必须用301。
-
Q: 301重定向会影响网站速度吗?
- A: 会有一点点额外的HTTP请求开销,但现代服务器处理这个毫秒级的延迟对用户几乎无感。 为了传递权重和流量,这点影响完全可以接受。
-
Q: 需要多久才能看到SEO效果?
- A: 这没有固定时间。 Google通常需要几周到几个月的时间来处理和传递权重,百度可能需要更长的时间,请保持耐心,并持续做好新网站的内容和SEO优化。
-
Q: 如果我把301重定向删了,旧网站的排名会回来吗?
- A: 不会。 一旦301设置,搜索引擎已经记录了“永久搬家”的信息,删除重定向后,旧网站在搜索引擎中的记录仍然是“已移动”,用户访问会得到404错误,权重也不会恢复。
希望这份详细的指南能帮助你顺利完成网站301重定向!祝你新网站一切顺利!
