301与302重定向差在哪?用错后搜索引擎会如何处理

来源:互联网 时间:2026-10-19

两个都是跳转,代码只差一个数字,语义差得很远。判断错了,轻则把攒了几年的权重丢掉,重则首页打不开,用户点进来看到的是一片空白,还以为网站跑路了。搞清这两个数字的区别,比背一堆配置语法有用。

301是“这个地址永久搬走了”,302是“临时换个地方,原地址还算数”。搜索引擎按这个语义处理:301会把原地址积累的权重、外链、历史信号往新地址挪,原地址逐步从索引里退出去;302不挪,原地址留着,权重也留在原处。用302去做永久迁移,等于让新地址永远从零开始,原来那条链接攒了多少年都归不到新地址头上。有些站换了域名半年,新站还是查不到,八成就是当初用错了这个数字。

踩得最多的是活动页。促销期间把首页301到活动页,活动结束再改回来,改不回来了。301会被浏览器长期缓存,缓存多久由浏览器自己决定,服务器上改了什么它都不管。用户再访问首页,直接跳到那个已经下线的活动页,要清缓存才恢复。而且这个缓存不止在用户的浏览器里,中间的代理和CDN节点也会记住。

这类场景该用302。活动结束撤掉跳转,用户下次访问就是原页面,不用等任何人手动清缓存。这是302最实用的地方,也是最容易被忽略的一处。

http换https用301,这是永久变更,不该留回退的可能,也不该指望哪天切回http。换域名整站迁同样用301,而且一次跳到最终地址。A跳到B、B再跳到C这种链式跳转,权重传递会打折,中间的B如果哪天失效,链条直接断掉。

一眼看出自己用的是哪个

用curl。命令行敲curl加上-I参数,后面跟网址,返回头里看HTTP/1.1后面那个三位数。带-L参数会跟随跳转,看不到中间过程,所以别加。浏览器地址栏看不出来,F12的Network面板里点开那条请求,Status那一列才是准的。

307和308是这两个的加强版:语义一样,但明确要求保持原来的请求方法,POST过去还是POST。表单提交、接口调用这类带请求体的场景用它们更稳。

还有一个更常见的漏:只跳了首页,内页全没管。换域名时首页301了,内页直接404,收录掉得比不跳还快。整站迁移要做规则匹配,一条规则带过后缀,不是一条一条手工加。

带www和不带www是另一处高频问题。两个域名都能访问、内容一模一样,搜索引擎要自己判断哪一个是主站,这个判断过程会分散权重。选一个做301指向另一个,别让两个平行跑。判断标准很简单:这个跳转以后还会不会撤。会撤,用302;不会撤,用301。拿不准的时候,先想清楚半年后这个地址还在不在,答案通常就出来了。

两个都写错了,用户和搜索引擎看到的是同一个结果,要么在几个地址之间来回绕圈,要么一头撞上404然后再也不来了。这两个数字看着不起眼,出错时的表现却都在明面上,检查一遍只要几分钟。

相关文章

A5创业网 版权所有

返回顶部