什么是 301 跳转?#

301 是一个 HTTP 状态码,意思是“永久移动”。浏览器或搜索引擎请求旧网址时,服务器返回 301 和一个 Location 响应头,告诉对方这个页面已经永久搬到新地址,以后请直接访问新地址。

常见的几个状态码:

  • 200:请求成功,页面正常返回
  • 301:永久跳转,旧地址的权重会传给新地址
  • 302:临时跳转,搜索引擎通常继续保留旧地址
  • 404:页面不存在
  • 5xx:服务器出错

什么时候需要 301 跳转?#

  • 更换域名:整站从旧域名搬到新域名,比如域名被墙后启用新域名。
  • 统一主域名:带 www 和不带 www、http 和 https 只保留一个,其余全部跳到主域名。
  • 多个域名指向同一网站:为保护品牌注册的 .net、.cn 等域名,统一跳到主站。
  • 改版或删除页面:网址结构变了,或者删除的页面还有外链,把旧网址跳到最相关的新页面。

为什么用 301,而不是其他跳转?#

302、JavaScript 跳转和 meta refresh 也能把访客送到新页面,但搜索引擎不一定把它们当成永久搬迁:302 会让旧地址继续留在索引里,JavaScript 和 meta refresh 常被用于作弊,容易被视为可疑。301 明确告诉搜索引擎旧地址已经不再使用,索引和外链权重会集中到新地址。

如何检查 301 是否设置正确?#

在浏览器里打开旧网址、看到跳到了新页面,并不能说明用的是 301,也可能是 302 或 JavaScript 跳转。状态码在响应头里,需要查看响应头:

  1. 浏览器开发者工具:按 F12 打开 Network 面板,再访问旧网址,第一条请求的 Status 应为 301,Location 指向新地址。
  2. 命令行:运行 curl -I http://旧域名,返回 301 Moved Permanently 和正确的 Location 即为设置成功。
  3. 在线工具:用站长工具等 HTTP 状态码查询服务检查。

正确的结果是:旧网址返回 301,跳转后的新网址返回 200,中间只跳一次。多次跳转(A→B→C)会拖慢访问,也会损耗权重,应该直接从 A 跳到 C。

用 Power301 设置 301 跳转#

在 Power301 添加跳转规则,再把域名 CNAME 到 Power301,就能完成 301 跳转,并自动签发 SSL 证书,HTTP 与 HTTPS 都能跳。详细步骤见域名被墙 301 跳转设置教程。