本文关键词:老网站如何做301重定向新网站
干建站这行十五年,见过太多老板因为“网站改版”把好不容易养起来的权重给作没了。前两天有个老客户急匆匆找我,说换了新域名,旧站打不开了,流量断崖式下跌,急得嗓子都哑了。我一看后台,好家伙,他直接在新站根目录放了个HTML页面,写着“本站已迁移”,连个跳转代码都不加。这种操作,除了让搜索引擎蜘蛛懵圈,没半点用处。
今天咱不整那些虚头巴脑的理论,就聊聊老网站如何做301重定向新网站这个实操问题。很多小白以为把旧链接改成新链接就完事了,大错特错。301是永久重定向,是告诉百度和谷歌:“别找旧地址了,新地址在这儿,权重全传过去。”
先说最关键的,怎么设置。别去碰那些花里胡哨的插件,除非你用的是WordPress且非常懂代码。最稳妥、最干净的办法,还是改服务器配置文件。
如果你是Apache服务器,打开.htaccess文件。这是很多新手不敢碰的地方,怕改错。其实只要加几行代码就行。比如,你想把旧域名www.old.com的所有页面都跳转到新域名www.new.com,代码大概长这样:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.old\.com$
RewriteRule ^(.*)$ https://www.new.com/$1 [R=301,L]
注意看那个[R=301,L],这就是核心。R代表Redirect,301是状态码,L代表Last,意思是匹配到这条就停止。很多教程里写的是302,千万别用302!302是临时跳转,搜索引擎会认为你只是暂时维护,权重不会传递,过段时间旧链接还会被抓取,导致重复内容惩罚。
如果是Nginx服务器,那就去conf配置文件里加:
server {
listen 80;
server_name old.com www.old.com;
return 301 https://www.new.com$request_uri;
}
这段代码的意思更直白,直接把所有对旧域名的请求,301跳转到新域名。注意$request_uri这个变量,它能保留具体的路径。比如用户访问的是old.com/blog/123,跳转后要是变成新站首页,那损失就大了。必须保留路径,这样才能实现老网站如何做301重定向新网站时的精准映射。
再说说我踩过的坑。有一次帮一个客户做跳转,我图省事,在旧站首页加了个JS跳转。结果百度蜘蛛来了,发现首页是空的,或者只看到一个跳转脚本,直接判定为低质页面,收录直接掉光。还有种情况,就是新旧网站目录结构完全不一样。这时候,简单的全局301就不管用了,得做一对一的映射。比如旧站有1000篇文章,新站重新排版了,URL结构变了。这时候你得写一个映射表,或者用代码判断,把旧URL对应到最相关的新URL。这个过程很繁琐,但为了SEO,必须得做。
还有一个容易被忽视的细节,就是HTTPS。现在都是HTTPS时代了,如果你的旧站是HTTP,新站是HTTPS,跳转代码里必须明确写出https://,否则浏览器会报不安全警告,用户直接关掉页面,转化率归零。
最后,设置完301别急着走。用浏览器的开发者工具,或者在线的HTTP状态码查询工具,输入几个旧链接,看看返回的状态码是不是301,跳转后的新链接是否能正常打开。这一步至关重要。我见过太多案例,设置完301,结果因为服务器配置错误,导致新链接返回404,那真是赔了夫人又折兵。
老网站如何做301重定向新网站,看似简单,实则细节满满。它不是改个名字那么简单,而是关乎你过去几年积累的流量和权重的生死存亡。别嫌麻烦,多测几次,确保万无一失。毕竟,搜索引擎的记忆可是很持久的,一旦权重散失,再想捡回来,那就得脱层皮了。