网站换域名是SEO最危险的操作之一。301重定向能解决"旧URL→新URL"的跳转,但外链的问题比301复杂得多:外链指向的页面可能在新网站上根本不存在了,外链锚文本里写的是旧品牌名,有些外链是图片链接(301对图片链接的权重传递效率远低于文字链接),有些外链加了nofollow标签——换域名后这些外链的权重全部打折扣。
外链替换不是一件事,是三种完全不同的场景:①换域名后批量更新外链指向;②批量清理垃圾外链(disavow/拒绝);③批量修改网站内部外链(旧URL→新URL)。三种场景用的工具和思路完全不一样。
外链替换的三个场景,思路和工具完全不同
场景A(换域名更新外链):核心不是"替换",是"联系外链来源站长修改链接+301兜底",工具是Ahrefs/Semrush找外链来源+邮件模板批量联系。
场景B(清理垃圾外链):核心是"识别+拒绝",工具是Google Disavow Tool和百度拒绝链接工具。
场景C(网站内部旧URL→新URL):核心是"数据库批量替换+301兜底",工具是Better Search Replace和.htaccess/Nginx rewrite。
一、场景A:换域名后,怎么让2300条旧外链的权重尽量多地传到新域名
301重定向能传递大部分权重(Google官方说法是"大部分PageRank会传递",实际观测在85%-95%之间)。但301不是万能的——如果你的旧网站有2300条外链,其中500条指向了旧域名里已经删除的页面(返回404),这500条外链的权重就完全浪费了。因为301只在页面级别工作:旧URL存在且返回301→权重传递;旧URL返回404→权重归零。
第一步:用Ahrefs或Semrush导出所有旧域名外链,按权重排序
在Ahrefs的Site Explorer里输入旧域名 → 点击Backlinks → 导出全部外链CSV。重点看三列:

· DR(域名评分)高的外链来源:DR>50的外链值得手动联系站长修改
· DoFollow的外链:只有DoFollow的外链传递权重,NoFollow的改不改意义不大
· 外链指向的旧URL在新域名上是否返回404:在Excel里用VLOOKUP对比外链目标URL和新站URL列表,筛出指向404的外链——这些是最高优先级处理的
Semrush的Backlink Audit工具可以自动给每条外链打分(Toxic Score),筛出垃圾外链以后再手动处理。但Semrush的外链数据库没有Ahrefs全,建议两个工具交叉验证。
第二步:DR>50的高质量外链,手动联系站长修改链接
Ahrefs导出的CSV里有外链来源网站的URL。打开这些网站,找到"联系我们"或"关于"页面的联系邮箱。发一封简短的邮件:
"您好,我是[旧域名]的站长。我们的网站已经迁移到新域名[新域名]。贵站有一篇文章链接到了我们的旧URL:
[旧URL]
能否麻烦将链接更新为新的URL:
[新URL]
非常感谢!"
实际操作中,联系100个站长大概有10-15个会回复并修改链接。不要指望全部改完,但DR>70的那几十条高质量外链值得花这个时间。
对于没有回复的站长,不用反复催。301重定向本身已经能传递大部分权重,手动联系是"锦上添花",不是"雪中送炭"。
第三步:旧域名上指向404页面的外链,重建目标页面或做301
这是外链替换中最大的权重漏洞:旧域名上被外链引用的URL,如果在新域名上返回404,301重定向不生效,权重全部丢失。
解决方案分两种:
· 如果新网站有对应的替代页面(比如旧URL是/old-product,新URL是/new-product),在旧域名上设置301从/old-product指向新域名的/new-product。

· 如果新网站完全没有对应的页面(旧产品停产了),在旧域名上把/old-product 301重定向到新域名的相关分类页或首页——虽然不如精确匹配好,但至少不会让外链权重完全浪费。
二、场景B:怎么批量识别和清理垃圾外链
垃圾外链的来源:竞争对手的负面SEO攻击、你之前买的低质量外链包、自动抓取生成的垃圾站链接、被黑的网站挂上的链接。这些外链不会直接导致网站被惩罚(Google说会忽略垃圾外链),但当垃圾外链占比过高时,整个网站的外链质量评分会被拉低,间接影响排名。
Google Disavow Tool使用流程(免费)
1. 从GSC导出所有外链(链接→外部链接→导出)
2. 从Ahrefs/Semrush导出外链列表(比GSC更全)
3. 在Excel里合并去重,逐条标记"拒绝/保留"
4. 把要拒绝的外链整理成txt文件,格式:每行一个域名或URL,域名前加"domain:"前缀
5. 上传到Google Disavow Tool(google.com/webmasters/tools/disavow-links-main)
6. 选择你的网站 → 上传txt文件 → 提交
处理时间:Google会在下一次重新抓取这些外链时应用你的拒绝列表,通常需要2-4周。
百度拒绝链接工具(免费)
百度站长平台 → 搜索服务 → 拒绝链接。上传的文件格式和Google Disavow一样,每行一个域名或URL。百度处理速度比Google慢,通常需要4-8周。
百度的拒绝链接工具入口比较深,而且百度官方明确说"仅对明显垃圾的外链有效"。如果外链来源是正常网站但内容质量低,百度可能不会处理——百度的拒绝机制比Google更保守。

Disavow的三个关键注意事项
第一:不要批量Disavow所有DR低的外链。DR低不等于垃圾外链。很多小博客、个人站、论坛的DR不高,但内容是真实的相关讨论,这些外链对SEO是有帮助的。只Disavow明显垃圾的、不相关的、或者有付费链接嫌疑的外链。
第二:Disavow是单向操作,提交后不能撤回。如果你Disavow了一个正常的外链来源,唯一的恢复方式是重新上传一份不包含该域名的拒绝文件——但Google不会因为你去掉了拒绝条目就立刻恢复权重,这个恢复过程可能需要几个月。
第三:不是所有垃圾外链都需要Disavow。Google的算法已经能自动忽略大部分明显垃圾的外链(评论区的垃圾链接、自动生成的垃圾站链接等)。Disavow主要针对的是那些"质量够低但不足以被算法自动忽略"的外链——比如你买了外链服务的低质量PBN链接。如果你没有买过外链、没有被负面SEO攻击,通常不需要做Disavow。
三、场景C:网站内部批量替换旧URL→新URL
这个场景和"外链"关系不大,但很多人把"批量替换网站内的链接"也归到"外链替换"这个需求里。实际上这是网站内部链接的批量更新——网站改版后,旧URL出现在文章内容里、侧边栏里、页脚里,需要全部改成新URL。
WordPress:Better Search Replace插件(免费)
WordPress后台装Better Search Replace插件 → 输入旧域名 → 输入新域名 → 选择要替换的数据表(一般全选)→ 先"试运行"看有多少处匹配 → 确认无误后"执行替换"。
Better Search Replace会处理WordPress数据库里的序列化数据,不会破坏插件和主题的配置数据。这是它和直接用phpMyAdmin跑SQL UPDATE的核心区别。
替换完以后,用Screaming Frog爬一遍全站,确认没有残留的旧URL。
非WordPress:sed命令行批量替换
如果你的网站是静态HTML或者非WordPress系统,用sed命令批量替换所有文件中的旧URL:
find /网站根目录 -type f -name "*.html" -exec sed -i 's/旧域名/新域名/g' {} \;
执行前一定先备份整个网站目录。sed是直接修改原文件,没有"撤销"按钮。
四、三个工具的综合对比
外链替换这件事,真正的难点不是工具操作,是判断"哪些外链值得花时间去改"和"哪些外链改不了只能靠301兜底"。一个域名下有2300条外链,DR>50的可能只有80条,这80条值得手动联系站长修改。剩下的2000多条,301重定向已经能传递大部分权重。Disavow不要滥用——Google说得很明确:大多数站长不需要使用Disavow工具,只有当你确认网站有大量垃圾外链且可能受到人工惩罚时才用。把时间花在换域名前的301规划和换域名后的404监控上,比花在逐条审核外链上回报更高。
