凌峰创科服务平台

老网站301到新网站,具体该怎么做?

第一部分:为什么要做301重定向?

在开始之前,理解其重要性至关重要:

老网站301到新网站,具体该怎么做?-图1
(图片来源网络,侵删)
  1. 传递SEO权重(权重转移):这是最主要的目的,搜索引擎会将旧网站的“信任度”和“权威性”(即权重)通过301重定向传递给新网站,帮助新网站更快地获得排名。
  2. 保留流量和用户体验:用户通过旧网址访问时,会被自动引导到正确的新页面,不会遇到404错误(页面未找到),从而避免流量损失和用户流失。
  3. 避免重复内容问题:如果新旧网站内容同时存在,搜索引擎可能会判定为重复内容,分散权重,301重定向明确告诉搜索引擎“这是永久搬家”,将所有权重集中到新域名。
  4. 传递链接价值:其他网站指向你旧域名的反向链接,其价值会通过301重定向传递到新域名的对应页面上。

第二部分:实施前的准备工作

在动手重定向之前,请务必做好以下准备工作,这能避免很多后续问题。

规划重定向策略

这是最关键的一步,你需要决定每个旧页面应该跳转到哪个新页面。

  • 1对1精确重定向:最理想的情况。

    • old-site.com/page-a.htmlnew-site.com/page-a.html
    • old-site.com/blog/post-1new-site.com/blog/post-1
    • 适用场景:新网站结构和URL与旧网站基本一致,只是更换了域名。
  • 1对1非精确重定向:当URL结构发生变化时。

    老网站301到新网站,具体该怎么做?-图2
    (图片来源网络,侵删)
    • old-site.com/products/item123new-site.com/item/123
    • old-site.com/category/technew-site.com/topics/technology
    • 适用场景:新网站的URL结构做了优化(如更简洁、包含关键词)。
  • 多对一重定向:多个旧页面合并到一个新页面。

    • old-site.com/product-old-a, old-site.com/product-old-bnew-site.com/product-new
    • 适用场景:产品线调整或旧页面内容被整合。
  • 主页重定向:所有旧网站流量都导向新主页。

    • old-site.comnew-site.com
    • 适用场景:网站完全改版,旧页面大部分已无对应页面。

最佳实践:尽量创建1对1的重定向,特别是对于有流量的重要页面和被搜索引擎收录的页面,如果旧页面没有对应的新页面,则重定向到最相关的新页面,或者重定向到新网站的主页。

备份!备份!备份!

在进行任何服务器配置修改前,务必备份你的旧网站文件和数据库,如果重定向配置错误,你可以随时恢复。

老网站301到新网站,具体该怎么做?-图3
(图片来源网络,侵删)

准备新旧网站清单

创建一个详细的映射表, | 旧网站 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虚拟主机。

  1. 找到 .htaccess 文件:它位于你网站根目录下(public_htmlwww 目录),如果找不到,可以新建一个。
  2. 编辑文件:在文件的开头(在 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.comNC表示不区分大小写,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 目录下的配置文件。

  1. 找到服务器配置块:在配置文件中找到处理 old-site.comserver 块。
  2. 添加重定向指令:在 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 会保留原始的请求路径(包括查询参数)。
  • permanent301 的另一种写法。

使用 WordPress(通过插件)

如果你不熟悉代码,使用插件是最简单、最安全的方法。

  1. 安装插件:在WordPress后台搜索并安装 “Redirection”“All 404 Redirect to Homepage” 等重定向插件,Redirection 功能更强大。
  2. 配置重定向
    • 激活插件后,在左侧菜单找到“Tools” -> “Redirection”。
    • 点击“Add New”,填写“Source URL”(旧网址)和“Target URL”(新网址)。
    • 选择“ permanently (301)”。
    • 点击“Add Redirect”。
  3. 批量导入:如果你有大量的重定向规则(比如从CSV文件),Redirection插件支持批量导入。

第四部分:实施后的检查与维护

设置好重定向后,工作并未结束。

验证重定向是否生效

  • 浏览器测试:在浏览器地址栏输入旧网址,检查是否正确跳转到新网址,并确认浏览器地址栏显示的是新网址,状态码为 301
  • 在线工具测试
    • Redirect Checker (redirect-checker.org): 输入旧网址,它会显示重定向链和最终状态码。
    • Search Console (见下文)。
  • 命令行测试(高级用户):
    curl -I https://old-site.com/some-page

    你应该会看到响应头中包含 HTTP/2 301HTTP/1.1 301 以及 Location: https://new-site.com/some-page

更新搜索引擎站长工具

这是至关重要的一步,可以主动通知搜索引擎你的网站搬家了。

  • Google Search Console (GSC):
    1. 同时验证并添加旧域名新域名的属性。
    2. 旧域名的GSC中,找到“设置” -> “站点地址更改”(Site Move)。
    3. 指出你的网站已从 old-site.com 搬迁到 new-site.com,Google会使用这个信息来更新其索引。
  • 百度搜索资源平台:
    1. 同样,添加并验证旧域名新域名
    2. 在旧域名的站点管理中,寻找类似“网站改版”或“站点迁移”的功能(百度平台可能会更新此功能名称,请留意官方指引)。
    3. 按照提示提交你的新旧域名对应关系。

更新外部链接

尽可能联系与你交换友情链接或链接到你的重要网站,请他们更新链接到你的新域名,虽然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重定向!祝你新网站一切顺利!

分享:
扫描分享到社交APP
上一篇
下一篇