- SEO实战密码:60天网站流量提高20倍(第3版)
- 昝辉 Zac
- 1105字
- 2020-08-27 18:59:38
4.10.4 301转向
1.什么是301转向
301转向(或叫301重定向、301跳转)是用户或蜘蛛向网站服务器发出访问请求时,服务器返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。
其他常见的状态码如下。
●200:一切正常。
●404:网页不存在。
●302:临时性转向。
●500:内部程序错误。
网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、Meta Refresh等。除了301转向外,其他方法都是常用的作弊手法。虽然方法本身没有对错之分,但被作弊者用多了,搜索引擎对可疑的转向都很敏感。
2.301转向传递权重
网页A用301重定向转到网页B,搜索引擎可以肯定网页A永久性改变地址,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。这是搜索引擎唯一推荐的不会产生怀疑的转向方法,更重要的是,网页A积累的页面权重将被传到网页B。
所以,假定http://www.domainname.com是选定的规范化网址,下面几个网址:
●http://www.domainname.com/index.html
●http://domainname.com/index.html
都做301转向到http://www.domainname.com,搜索引擎就知道http://www.domainname.com是规范化网址,而且会把上面列的网址权重传递集中到规范化网址。
目前Google会传递大部分权重,但不是百分之百权重。百度会传递所有权重。Google对301的识别、反应、完成权重传递,需要1~3个月时间。百度对301处理则比较保守,新旧URL会同时存在于数据库很长时间,经常看到做了301转向一年的URL还出现在百度结果中。
3.怎样做301转向
如果网站使用LAMP(Linux+Apache+MySQL+PHP)主机,可以使用.htaccess文件做301转向。.htaccess是一个普通文字文件,用Notepad等文字编辑软件创建和编辑,存在网站根目录下。.htaccess文件中的指令用于目录特定操作,如密码保护、转向、错误处理等。
比如把页面/old.htm 301转向到http://www.domain.com/new.htm,可以在.htaccess文件中放上这个指令:
redirect 301 /old.htm http://www.domain.com/new.htm
或
redirect permanent /old.htm http://www.domain.com/new.htm
把所有不带www(http://domain.com)版本的网址301转向到带www的版本(http://www.domain.com),包括:
http://domain.com/about.htm转到http://www.domain.com/about.htm及http://domain.com/dir/index.htm转到http://www.domain.com/dir/index.htm等,还要用到mod_rewrite模块,.htaccess文件指令是:
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L, R=301]
如果网站用的是Windows主机,可以在控制面板做301转向设定。
纯静态HTML页面无法做301转向。在HTML里能做JavaScript或Meta Refresh转向,但不能做301转向。HTML一被读取,就已经返回200 Ok状态码了。
如果页面是ASP或PHP,还可以做301转向。
ASP代码:
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location", " http://www.domain.com" >
PHP代码:
Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: http://www.domain.com" ); ?>
4.301转向的其他用途
除了解决网址规范化问题,还有很多需要做301转向的情形。比如,为保护版权公司拥有不同TLD的多个域名:
为避免造成大量复制内容,应该选定一个为主域名,如company.com,其他域名做301转向到company.com。
或者公司注册了全称域名longcompanyname.com,但太长,也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个301转向到主域名。
网站改版也经常需要用到301转向,如页面删除、改变地址、URL命名系统改变等。更换域名也需要整站从旧域名做301转向到新域名。
动态URL静态化也可能要做301,将旧的、动态的URL做301到新的、静态的URL。