网站换域名、改目录、文章 URL 调整时,重定向是必须处理的事情。处理好了,用户和搜索引擎能顺利到新页面;处理不好,就会出现 404、重复页面、收录混乱。

这篇讲 301 和 302 怎么选,可以配合 301 重定向规则生成器 生成 Nginx、Apache 或 Vercel 风格规则。

301 和 302 的区别#

简单理解:

  • 301:永久移动。
  • 302:临时移动。

如果旧页面以后不再使用,应该用 301。如果只是活动期间临时跳转,用 302 更合适。

SEO 迁移里,换域名、改固定链接、HTTP 到 HTTPS,通常用 301。

什么场景需要 301#

常见场景:

  • http:// 跳到 https://
  • 不带 www 跳到带 www,或反过来。
  • 旧文章路径跳到新文章路径。
  • 产品分类路径调整。
  • 换域名迁移。
  • 删除重复页面,只保留 canonical 版本。

如果页面只是参数不同,不一定需要重定向,也可能用 canonical 更合适。可以配合 Canonical URL 生成器 判断。

避免重定向链#

重定向链是这样:

text已剪下 ✓
A -> B -> C -> D

更好的方式是:

text已剪下 ✓
A -> D

链路太长会拖慢访问,也会让搜索引擎抓取更低效。改版时建议整理映射表,直接从旧 URL 跳最终 URL。

批量规则要小心#

批量规则很方便,也很危险。例如把 /old/(.*) 全部跳到 /new/$1,如果新旧路径并不完全对应,就可能误跳。

上线前至少抽查:

  • 首页。
  • 栏目页。
  • 热门文章。
  • 产品页。
  • 带参数的 URL。
  • 不存在的 URL。

不要只测一个样例。

上线检查清单#

  1. 旧 URL 返回 301 或 302 是否符合预期。
  2. Location 是否是最终 URL。
  3. 是否保留必要查询参数。
  4. 是否出现循环跳转。
  5. sitemap 是否更新为新 URL。
  6. 页面 canonical 是否指向最终地址。
  7. Search Console 是否提交新 sitemap。

总结#

永久迁移用 301,临时跳转用 302。真正要注意的是映射是否正确、是否有链路、是否和 canonical / sitemap 一致。

需要写规则时,可以先用 301 重定向规则生成器 生成草稿,再逐条测试关键 URL。