老域名访问转向新域名,最稳妥的方案就是全站301重定向,它能将旧域名的权重和流量几乎无损地传递给新域名。只要配置正确,用户点击旧链接会自动跳转到新地址,搜索引擎也会在几个月内完成索引迁移,下面从操作步骤、注意事项到常见坑点,一次性讲清楚。
老域名301重定向怎么做?先分清服务器环境
301重定向的核心是告诉浏览器和搜索引擎:这个页面永久搬家了,不同服务器环境,操作方式完全不同,你可以先登录网站后台或服务器面板,确认自己用的是哪种环境。
Linux服务器用Apache:修改.htaccess文件
如果你的网站运行在Linux主机上,而且支持Apache,最常见的方式是编辑根目录下的.htaccess文件,在文件开头加入以下代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^旧域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.旧域名.com$
RewriteRule ^(.)$ https://新域名.com/$1 [R=301,L]
这段代码的作用是:无论用户访问旧域名的哪个页面,都会原样跳转到新域名的对应路径,比如访问旧域名.com/post/123,会自动跳到新域名.com/post/123,路径保留,参数不丢。
修改前建议先备份原文件,修改后到网站前台测试几个内页链接,确认跳转正常,如果出现无限重定向,多半是旧域名还在解析到当前服务器,且新域名也指向同一空间,需要在RewriteCond里排除新域名请求。
Nginx服务器:修改配置文件并重载
Nginx环境没有.htaccess,需要编辑站点配置文件,找到server块,添加一个独立的server用于旧域名跳转:
server {
listen 80;
server_name 旧域名.com www.旧域名.com;
return 301 https://新域名.com$request_uri;
}
如果旧域名和新域名都在同一个server块里管理,也可以用if判断做跳转,但独立server更清晰,也少了正则匹配的开销,改完配置执行nginx -t检查语法,再重载nginx -s reload生效。
Windows服务器IIS:用URL重写模块
IIS环境需要先安装URL Rewrite扩展,然后在web.config里加入规则:
<rewrite> <rules> <rule name="OldDomainRedirect" stopProcessing="true"> <match url="^(.)$" /> <conditions> <add input="{HTTP_HOST}" pattern="^旧域名.com$" /> </conditions> <action type="Redirect" url="https://新域名.com/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>
注意redirectType="Permanent",这对应的就是301状态码,设置完记得重启IIS站点,再用浏览器开发者工具查看网络请求,确认状态码是301而不是302或200。
网站改版301重定向方法:从页面级到通配符
有些站长换域名时顺便调整了URL结构,这就比单纯换域名复杂,你需要逐条规划旧URL和新URL的对应关系,而不是简单全站通配。
一对一映射:适合URL结构改动不大
如果只是域名变了,路径没变,用上面的规则即可,如果部分路径变了,可以用RewriteMap或者逐条写重定向规则,以Apache为例,在.htaccess里写:
Redirect 301 /old-page https://新域名.com/new-page
这种写法适合页面数量少的情况,比如几十个页面,如果页面成千上万,逐条写不现实,建议保持路径一致,或者在代码里做动态映射。
通配符匹配:适合旧URL带分类或参数
常见场景是旧域名下的/article/123要跳转到新域名的/post/123,中间路径段不同,可以用正则替换:
RewriteRule ^article/(.)$ https://新域名.com/post/$1 [R=301,L]
但要注意,通配符只适合结构规整的网站,如果新旧URL完全打乱,比如旧分类页合并到新栏目页,就必须手动列出每个URL的对应关系,再用批量工具生成规则。
旧域名跳转到新域名设置时,要保留协议和端口
如果你的新域名启用了HTTPS,而旧域名还是HTTP,那么上面所有跳转规则中的目标地址都建议用https://开头,否则用户先访问HTTP旧地址,跳到HTTP新地址,再被服务器重定向到HTTPS,就产生了一次额外的301链,虽然不影响最终结果,但多一次请求会拖慢速度。
百度GEO301重定向注意事项:避免权重流失
代码写对了,不代表搜索引擎就能顺利转移权重,有四个高频问题会让迁移效果打折扣,做的时候要格外留意。
确认所有旧域名入口都返回301状态码
用站长工具或者curl命令检查旧域名首页、内页、图片地址的响应头,打开命令行输入:
curl -I https://旧域名.com/任意路径
看返回的HTTP状态码是不是301,如果是200,说明旧站点还能正常访问,搜索引擎会认为这是两个独立网站,权重自然无法合并,如果返回302,那是临时跳转,权重转移效果很差。
在百度搜索资源平台提交站点改版工具
据百度官方文档说明,站点改版工具可以将旧域名的历史数据迁移到新域名,你需要先在旧域名下验证站点,再提交改版规则,这个过程建议在301生效后立即操作,百度会抓取跳转关系,验证通过后会逐步释放旧URL的收录和权重。
很多站长做完301就等着,结果几个月后新域名还是零收录,原因就是没提交改版工具,提交路径是:搜索资源平台→站点管理→站点改版。
保留旧域名解析至少半年
不要以为做完301就能卖掉或注销旧域名,搜索引擎需要时间重新抓取和计算,行业共识是保留旧域名解析并持续301至少6个月,这段时间内,旧域名的外链、收藏夹、PDF里的链接都会陆续触发抓取,每次抓取都会通过301把权重传给新域名,如果提前停止解析,这些流量和权重就全部断了。
旧域名的SSL证书也要续期到迁移完成,否则浏览器访问旧域名时提示证书错误,用户可能直接关闭页面,根本不会触发301跳转。
老域名换新域名后,百度收录和排名恢复周期
很多站长关心:做了301多久能恢复排名?这个问题没有固定答案,取决于旧域名的权重、新域名的内容质量以及改版幅度。
快照和索引迁移通常需要一到三个月
正常情况下,百度在提交改版后的2-4周开始处理旧URL的跳转关系,如果旧域名权重较高,新域名与原站内容高度一致,可能一个月内新域名就开始有排名,如果内容改动较大,比如频道重组、页面删减,可能需要三个月甚至更久。
过程是渐进的:百度蜘蛛先发现旧URL返回301,跟随到新URL,记录对应关系,然后逐步将旧URL在搜索结果中替换成新URL,期间排名可能有波动,甚至短暂消失,这属于正常现象。
用搜索指令监控迁移进度
在百度搜索site:新域名.com看收录数是否增长,同时搜site:旧域名.com看旧页面是否还在,如果旧域名页面仍然被收录,而且没有标红跳转,说明301还没被完全识别,再检查一下robots.txt是否屏蔽了重要页面,或者新域名有没有开启搜索引擎抓取权限。
不要大面积改动
迁移期间,新域名下的内容尽量保持和旧站一致,标题、正文、图片路径都不要动,让搜索引擎能快速匹配新旧页面,等排名恢复稳定后,再逐步优化,如果搬家前就计划改版,建议先上线内容一致的新站,跑一个月后再调整结构。
常见问题:老域名跳转新域名时,要不要保留www前缀
这是一个细节问题,但很关键,如果你的新域名同时支持www.新域名.com和新域名.com,必须选定一个主域名,然后把另一个301到主域名上,比如你决定主域名用www,
旧域名.com301到www.新域名.com新域名.com301到www.新域名.com
如果新旧域名都带www,规则要确保统一,最稳妥的做法是在新域名的服务器上先把两种形式合并,再做旧到新的跳转,否则搜索引擎会把www和根域名当作两个站点,权重被分散,排名就上不去。
Q&A:老域名301重定向相关问题
问:老域名已经停止解析,还能做301吗?
不能,301重定向依赖旧域名能正常访问并使用服务器规则进行跳转,如果域名已经无法解析,用户访问旧地址会直接报错,搜索引擎自然也无法识别跳转关系,建议在域名到期前至少提前两个月完成301配置,确保有足够的并行时间。
问:做301时,旧站要不要保留原来的页面内容?
要保留,301跳转只是把旧URL导向新URL,旧页面内容本身不需要删除,也不需要改变,如果删除旧页面,访问时返回404,就无法完成跳转,旧页面的内容也参与了相关性判断,保留原样有助于搜索引擎理解新旧页面对应关系。
问:老域名权重高,新域名权重低,301多久能转移全部权重?
没有确切时间点,权重转移不是一次性完成,而是随着搜索引擎反复抓取逐步进行,通常情况下,三个月后能体现出大部分权重,半年后趋于稳定,过程中持续输出高质量内容,并确保全站无404链接,转移效果会更理想。
老域名转向新域名是一场需要耐心的技术接力,把301配好,提交改版工具,保持内容一致,剩下的交给时间,只要每一步操作都符合搜索引擎的规则,新站点很快就能接过旧域名的流量和信任度。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/614998.html





