换名或迁到更好的 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” 列表。
实操步骤
-
新域名备好。 先在新域名上把 SSL 签发——
curl -vI https://newdomain.com返回 HTTP/2 和有效证书之前不要切 DNS。 -
每个老 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 手工调一下
- 每个老 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;
}
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,不能有链
-
Search Console 加新域名 property 并验证。 用 Domain property + DNS TXT 记录,HTTPS/HTTP/www/非 www 各变体一个 property 全覆盖。
-
老 property 用「Change of address」工具。 Settings → Change of address → 选已验证的新 property。提交后 Google 会优先抓取和索引新站,并把站点级信号转发 180 天(据 Search Console 帮助文档,截至 2026 年 6 月)。该工具会先确认你的 301 已生效才让你提交,所以先做好第 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
- 新站 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 年,老域名无限期续费。 Google 的搬家指南说重定向「至少 1 年」;从用户角度看就永久留着。给老域名开自动续费再加日历提醒——它失效那一刻,301 就死,转移过来的权威也跟着死。
-
前两周每天看抓取健康,之后每周看。 盯 Search Console → Pages(索引)和 Crawl Stats 里的 404 和重定向错误;最严重的错误前 48 小时就能抓到。Performance 跟前一周期对比。搬家期间别同时做其他大改动,让 Google 只有一个干净信号要处理。
执行检查清单
- 301 规则覆盖
**,至少 20 条随机 URL 用curl -I验证过。 - 新站 canonical 只指新域——
grepbuild 产物验证。 - 老 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:url和rel="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 中转。浏览器会拦截混合协议链,而且每多一跳都拖慢重新索引。
权威参考
- Google:URL 变更的站点搬家 — 官方的重定向、sitemap、时间指南。
- Google:Change of Address 工具 — 180 天信号转发行为。
相关阅读
标签: #独立开发 #域名 #SEO #Technical SEO