301 重定向与反向链接:一次干净的迁移配方
在迁移网站之前,找出其他站点实际链接了哪些旧 URL。其他内容可以稍后整理,但这些链接无法保留。

第一步:列出携带链接的 URL
这需要 2 个积分进行一次调用,最多 1,000 行。
curl "https://rankbrainmarketing.link/api.php?action=toppages&q=old-domain.com&per=1000&sort=ref_domains&order=desc&key=sk_live_..."原料与方法
- 1
导出
将响应保存为电子表格。前 100 个 URL 通常包含大部分链接权重。
- 2
映射
为每个 URL 在新站点上指定一个目标,选择语义最接近的匹配项。将所有链接重定向到首页会浪费信号。
- 3
重定向
永久迁移使用 301。确保一次跳转完成,因为重定向链会减慢爬虫速度,有时甚至会被丢弃。
- 4
测试
请求每个映射的 URL,确认返回 301 后跟随 200。其他任何情况都需重新列入清单。
- 5
刷新后重新抓取
我们的索引每月更新,因此在四到六周后检查新域名的
refdomains。
常见的错误方式
首先是重定向链。旧 URL 指向临时页面,再指向最终页面,这会增加跳转次数并容易出错。
其次是信号混合。指向带有 noindex 标记或 robots.txt 屏蔽页面的 301 重定向会浪费权重。获取每个目标页面并查看其响应头,而不仅仅是状态行。
第三是大小写和斜杠变体。在某些服务器上,/Page/ 和 /page 可能是两个不同的 URL,且两者都可能拥有外链。将两者都加入映射表。
第四是子域名分割。在迁移前决定使用 www 还是非 www,然后在一条规则中重定向另一个主机,并将站点地图保留在你选择的主机上。在旧站点下线前使用 Screaming Frog 等爬虫工具,因为被遗忘的页面往往会在后期造成麻烦。
第五个问题容易被忽视。旧的站点地图仍列出已停用的地址,即使映射表已更改,它仍会引导爬虫通过重定向访问这些页面。在切换当天替换它。
指向移动目标的“重定向”
目标页面在迁移后更改了自己的地址,会创建第二个未计划的跳转。在编写规则之前,先检查每个目标的最终地址,而不是之后。
稳定的目标使重定向映射表在一年后易于审计。
报告中残留的旧错误
迁移后,旧的爬取错误仍会出现在报告中。陈旧的错误行不一定是当前的故障。在采取行动之前,将每个错误的日期与切换日期进行比较。

此阶段人们常问的问题
301 会损失链接权重吗?Google 自 2016 年以来表示 301 不会损失 PageRank。但需谨慎对待,因为指向不相关页面的重定向可能被视为软 404。
关于 www 子域名怎么办?选择一个主机,将另一个重定向到它,并更新站点地图。这听起来显而易见,但主机分裂是索引混乱中最常见的问题之一。
指向旧域名的垃圾链接也会跟随重定向。在保留重定向多年之前,请查看 垃圾链接处理手册。
当你进行最终检查时,计算依赖 301 重定向的反向链接数量,而不是重定向的总数。一千个用于无链接页面的整洁重定向,其价值远低于十个用于被广泛引用页面的重定向。
一个相关的问题是是否保留旧域名的注册。持有它多年是廉价的保险,因为每个过期的域名都是外链可能指向错误页面的一个地方。
重定向链比单次重定向更有害吗?一次跳转是安全默认值。两次跳转通常可行,但每次额外跳转都是另一个可能出错的地方,因此应通过设计保持重定向链短小。
示例映射(为说明目的而虚构)
| 旧 URL | 引用域名(虚构) | 新目标 | 备注 |
|---|---|---|---|
| /blog/trail-shoes-2019 | 42 | /guides/trail-shoes | 语义最接近的匹配 |
| /blog/tent-sizes | 18 | /guides/tents | 分类页面,可接受 |
| /tag/misc | 1 | (无) | 让它返回 410 |
| /about-us | 9 | /about | 简单重命名 |
当没有新页面适合时映射 URL
表格显示了简单的行。更难的行需要一个规则,以便向未参与决策的人解释。
相同主题,相同意图
大多数旧 URL 都有明确的后续页面,即回答相同问题的页面。映射到它,然后检查访问旧主题的读者是否仍能看到解答。
语义最接近的匹配是你在报告中可以辩护的规则。
检查后续页面。如果它已被精简,或现在覆盖的范围更窄,重定向会将旧链接带入较弱的页面。在切换前并排阅读两个页面可以及时发现这个问题。
计算你正在停用而非重定向的旧页面数量。高比例通常意味着新站点较小,这在计划中值得明确指出。
当没有页面适合时
有时旧文章介绍的是你已下架的产品或现在无人问津的问题。重定向到不相关页面在 Google 看来是软 404。在这种情况下,具有真实内容的分类页面通常比首页更安全。
为每个未匹配的 URL 写下一行简短的原因。这样审核者可以区分故意删除和因时间不足而未能映射的情况。
永久消失:404 或 410
没有链接权重且无后续页面的 URL 可以返回 410 而不是重定向。这告诉 Google 删除是故意的。保持该列表简短,并在返回错误之前将其与你的顶级页面报告进行对比。
410 不是对读者的惩罚。页面已消失,清晰的状态码告诉浏览器和爬虫停止请求它。404 和 410 之间的区别不如做出选择背后的决策重要。
在映射表中每个 410 旁边写下原因,以便以后无人误恢复该页面。
多久后才能评估效果
至少给予六周时间。Google 以自身节奏重新爬取旧 URL,大型站点需要更长时间。
我们的链接索引每月刷新一次,因此第一次新域名的快照可能仍显示差距。不要在第一次查看时回滚。
根据携带链接的 URL 评估迁移,而不是基于全站平均值。平均值会掩盖少数丢失的链接,而掩盖了大量无人引用的页面。
按固定计划进行检查。不规则的检查往往会捕捉到下降而错过恢复,从而使健康的迁移看起来像失败。

切换当天执行的检查
在宣布迁移之前运行这些检查。在当天发现的故障成本远低于一个月后在流量图表中发现的故障。
记录每次检查的时间。早上和晚上获取的列表可能因与重定向无关的原因而存在差异。
一次通过的状态码
请求每个旧 URL 一次,记录状态和第一次跳转。映射的 URL 应显示 301,然后是 200,中间没有链。
返回 302 或 404 的任何内容都是错误,除非你证明否则。
将结果保留在与映射表相同的电子表格中。计算每个 URL 跳转次数的列可以显示你未预料到的链。
- 旧 URL
- 首次响应的状态
- 最后一次跳转后的地址
- 跳转次数
响应头和索引信号
检查目标是否带有 noindex 响应头或 meta robots 标签,且 robots.txt 未屏蔽它。指向隐藏页面的正确 301 重定向会浪费权重。
读取响应头以及状态行。仅看状态行会隐藏问题。
同时在移动设备和桌面上测试样本。某些重定向规则是按设备或用户代理编写的,因此在浏览器中有效的规则在爬虫中可能表现不同。测试爬虫实际采取的路径。
Screaming Frog 爬取旧站点以捕获链接索引从未看到的 URL。Search Console 列出 Google 已显示的页面。我们的 toppages 调用涵盖第三个视图,即其他站点链接的页面。
我们的建议
手动映射前一百名
自动化适合长尾部分。吸引链接的 URL 需要人工决策,因为每个链接都是一次不可重复投票。
- 优先选择语义最接近的页面,而不是首页。
- 保持重定向至少一年有效。
- 迁移后重新检查 未索引页面。
关于 301 和链接的问题
如果无人链接到 URL,我需要重定向吗?
对于链接权重不需要。你可能仍希望保持访问者和书签的正常工作。如果旧页面吸引了搜索流量,重定向到最接近的匹配通常是整洁的答案。
我可以将两个旧站点合并到一个域名吗?
可以,如果每个旧 URL 都有各自的目标,且在迁移前已确定主机。难点在于映射,而不是规则。先规划列表,然后编写重定向。在切换前对照每个旧站点的爬取结果检查列表,因为无人链接的页面往往在普通导出中被遗漏。
多少重定向算太多?
没有固定的数字。重要的是携带链接的 URL 是否都能在一次跳转内解析。大量用于无链接页面的整洁重定向价值较低。
如果重定向不起作用该怎么办?
先修复目标,再修复规则。大多数故障是链、noindex 目标或映射表中的拼写错误,每次检查响应头都能发现。保留每次修复的日期记录,以便以后区分哪项更改解决了哪个问题。