换域名会影响 SEO 吗?301 重定向迁移完整步骤

换域名会短期掉排名但可恢复。用这套 301 重定向 playbook、Search Console「Change of address」步骤和验证命令,把排名稳稳带过去。

换名或迁到更好的 TLD 感觉早就该做——直到你想起每条外链、每个 Google 排名、每个书签都还指向老名字。换域名可行、常见、可恢复,但不是免费的。Ahrefs 在 2025 年对一批迁移的分析发现,大约 60% 出现了可测到的自然流量下滑,而且几乎都来自漏做或做坏的重定向,而非搬家本身。把 301 重定向、Search Console 的 Change of address、sitemap 重提这三件事做对,排名就能保住。本文就是这套流程,附真实命令。

一句话结论

  • 每个老 URL 用永久 301(或 308)重定向到精确对应的新 URL,把排名信号传过去;Google 明确说永久重定向不会损失 PageRank。
  • 域名对域名的搬家要在 Search Console 提交 Change of address:它会把站点级信号转发 180 天(截至 2026 年 6 月)。它是 301 的补充,不是替代。
  • 重定向至少保留 1 年(Google 给的下限),老域名无限期续费——任何一边失效那天,转移过来的权威立刻死。
  • 会有短期波动;Google 的 John Mueller 给的稳定区间是 4 到 12 周,随站点规模变化。先搬域名,URL 重构留到以后。

问题背景

搜索引擎把权威性绑在 URL 上。oldsite.com/foo 排得好,权威就绑在这个精确 URL 上。永久 301 把这份权威传给 newsite.com/foo;Google 自己的文档写明 301 和 308 永久重定向「不会损失 PageRank」。烂迁移(不做 301、URL 不对应、canonical 错、Search Console 没提交 Change of address)让排名搁浅在死站上——那 60% 就是这么丢流量的。

判断标准

  • 换品牌,老名不合适了。
  • 多个域名合并成一个。
  • 买到更好的域名(比如 .co.com)。
  • 一个站要拆成两个,需要重新分配排名信号。

快速结论

排名重要就不要为了好看换。必须换就全套 playbook:每个老 URL 301 到对应新 URL、更新 Search Console、重提 sitemap、永久保留重定向。任何一步省了都是排名掉了爬不回来的原因。

开始前准备

  • 新域名已注册、DNS 准备好、SSL 已签发,再动任何东西。
  • 新旧域名都已在 Search Console 验证(首选 Domain property)。
  • 老 URL 清单完整——导出老 sitemap + Search Console “Pages” 列表。

实操步骤

  1. 新域名备好。 先在新域名上把 SSL 签发——curl -vI https://newdomain.com 返回 HTTP/2 和有效证书之前不要切 DNS。

  2. 每个老 URL 映射到新 URL。 导出老 sitemap 建 CSV:

curl -s https://oldsite.com/sitemap.xml \
  | grep -oE '<loc>[^<]+</loc>' \
  | sed -E 's/<\/?loc>//g' > old-urls.txt

awk '{ sub(/oldsite\.com/, "newsite.com"); print $0 "," $0 }' old-urls.txt > url-map.csv
# 路径要改的 URL 手工调一下
  1. 每个老 URL 配 301 到新对应。 简单情况用通配符,特殊情况打补丁。老域名上 Firebase 配置:
{
  "hosting": {
    "redirects": [
      { "source": "/:rest*", "destination": "https://newsite.com/:rest*", "type": 301 }
    ]
  }
}

Vercel vercel.json

{
  "redirects": [
    { "source": "/(.*)", "destination": "https://newsite.com/$1", "permanent": true }
  ]
}

Apache .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?oldsite\.com$ [NC]
RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]

Nginx:

server {
  listen 443 ssl;
  server_name oldsite.com www.oldsite.com;
  return 301 https://newsite.com$request_uri;
}
  1. curl 抽样验证:
while read url; do
  printf '%s -> ' "$url"
  curl -sI "$url" | awk 'tolower($1)=="location:"{print $2}'
done < <(shuf -n 20 old-urls.txt)
# 每行输出都该是对应新 URL,不能有链
  1. Search Console 加新域名 property 并验证。 用 Domain property + DNS TXT 记录,HTTPS/HTTP/www/非 www 各变体一个 property 全覆盖。

  2. 老 property 用「Change of address」工具。 Settings → Change of address → 选已验证的新 property。提交后 Google 会优先抓取和索引新站,并把站点级信号转发 180 天(据 Search Console 帮助文档,截至 2026 年 6 月)。该工具会先确认你的 301 已生效才让你提交,所以先做好第 3 步的重定向。

  3. 新 sitemap 提交,老 sitemap 重提。 都走 Search Console → Sitemaps。重提老 sitemap 能让 Google 更快重爬老 URL、更早看到重定向。新域 robots.txt 指新 sitemap:

# newsite.com 上的 robots.txt
User-agent: *
Allow: /
Sitemap: https://newsite.com/sitemap-index.xml
  1. 新站 canonical 全指新域。 Astro layout 里:
<link rel="canonical" href={`https://newsite.com${Astro.url.pathname}`} />

然后 grep build 产物确认:

grep -ROIE 'rel="canonical"' dist | grep -v newsite.com
# 任何输出都是漏到非主域的 canonical,必须修
  1. 重定向至少保留 1 年,老域名无限期续费。 Google 的搬家指南说重定向「至少 1 年」;从用户角度看就永久留着。给老域名开自动续费再加日历提醒——它失效那一刻,301 就死,转移过来的权威也跟着死。

  2. 前两周每天看抓取健康,之后每周看。 盯 Search Console → Pages(索引)和 Crawl Stats 里的 404 和重定向错误;最严重的错误前 48 小时就能抓到。Performance 跟前一周期对比。搬家期间别同时做其他大改动,让 Google 只有一个干净信号要处理。

执行检查清单

  • 301 规则覆盖 **,至少 20 条随机 URL 用 curl -I 验证过。
  • 新站 canonical 只指新域——grep build 产物验证。
  • 老 Search Console property 已经提交「Change of address」(它会先确认 301 生效)。
  • 新 sitemap 已提交;老 sitemap 重提以触发重爬。
  • 老域名开了自动续费并设了日历提醒——无限期保留。
  • 切换前约 48 小时把两边 DNS TTL 调到 300s。
  • 新站源码里的内链已改写为新 URL,而不是靠 301 兜底。

上线后验证

  • 老 URL 抽样在 Search Console URL Inspection 应显示 “Page with redirect”。
  • 新域 coverage 上升,老域 coverage 同步下降——这是迁移生效的样子。
  • 老 / 新 property 的 clicks/impressions 每周对比——总和应在 8 周内回到迁前水平。

容易踩的坑

  • 忘做 301——每条外链撞 404,权威化为乌有。这是那 60% 掉流量最常见的原因。
  • 用 302(临时)替 301(永久)——要用永久重定向(301 或 308)。curl -I 看到 HTTP/2 302 而不是 301 就是错了。
  • 搬家同时重构 URL——两件大事叠在一起,恢复更乱更慢。先搬家,后重构。
  • Search Console 没用「Change of address」——Google 最终能搞明白,但慢;工具的 180 天信号转发能加速。
  • 老域名让它过期——域名失效 301 就死,转移过来的权威也跟着死。无限期留着。
  • 新站 canonical 标签没更新——og:urlrel="canonical" 都要指新域。
  • 长链 redirect(old中转new)。Googlebot 最多跟 10 跳,但每多一跳都拖慢重新索引——永远一跳直达最终 URL。
  • 靠 301 处理内链——新站的内链直接改写成新 URL;内链走重定向链白白浪费抓取预算。

FAQ

  • 恢复要多久?: 按 4 到 12 周的稳定期来规划;Google 的 John Mueller 给过这个区间,随站点规模变化。301 干净的小站常常 2 到 4 周就稳了。Google 重爬老 URL 期间会有正常的周与周波动。
  • 外链会丢吗?: 不会。链接还在原站上,301 把它们的价值传给新 URL。Google 说永久重定向不损失 PageRank,所以重定向让这些外链对新域名仍然算数。
  • 一年后能下老站吗?: 域名和 301 无限期保留。Google 给的下限是 1 年,但永久留着没有惩罚,而且你控制不了的外链或书签仍然要靠它们转发。
  • Change of address 工具能替代 301 吗?: 不能——两者分工不同。301 管页面级权威和用户跳转;Change of address 工具发出站点级搬家信号、转发信号 180 天。两个都要做。
  • HTTPS 到 HTTPS 有讲究吗?: 有。从 https://oldsite.com 直接 301 到 https://newsite.com,不要走 HTTP 中转。浏览器会拦截混合协议链,而且每多一跳都拖慢重新索引。

权威参考

相关阅读

标签: #独立开发 #域名 #SEO #Technical SEO