|
301转向是什么?
301转向,也称为301重定向、301跳转。301转向是用户浏览器或者蜘蛛向网站服务器发出访问网站A的请求时,服务器返回的HTTP数据头信息状态码的一种,表示A网址永久性地转移到另一个网址B。301转向是友好的,表示A网址的权重和PR值将会被转移到网址B。
其实网址的转向还有其他的方法,例如302转向、java script转向、PHP/ASP程序转向、MetaRefresh等。但是大家要记住,对于搜索引擎来说除了301转向之外,其他的转向方法都是作弊手段。也就是说黑帽SEO(关于黑帽SEO后面肖黎会跟大家分享一下)。手段都是可行的,但是作弊手段用多了你就小心搜索引擎K你。
301转向转了什么?
上面也说了,301转向是友好的、是白帽SEO。如果一个网页A用了301转向转到网页B,那么搜索引擎认为A永久性的改变地址了。或者人为A已经不复存在了,搜索引擎会把网页B当做唯一有效的目标。所以301转向就是转了权重,而且是合法的转。
我查了一下资料,目前Google会传递大部分的权重,但不是100%。Baidu会传递所有权重。Google对301的识别、反应、完成权重传递需要1-3个月的时间。Baidu对301处理则比较保守,新旧URL会同时存在数据库很长时间。大家做SEO也可能经常看到做了301转向很长时间的URL还会出现在百度快照中。这个就是Baidu的保守了。说白了Baidu是国内的。国内的思想都很保守。
301转向如何做?
这里说到重点了,知道301转向之后,等到大家有需求之后,那么我们如何做301转向呢?
如果网站用的是Linux+Apache+Mysql+PHP(LAMP)主机,那么你就可以试用.htaccess文件做301转向。.htaccess是一个普通文字文件,直接用记事本可以创建、修改等。.htaccess文件存在网站根目录下。
例如把http://www.***.com/old.html301转向到http://www.***.com/new.html,那么可以在.htaccess文件中放上以下指令(两种都可以):
redirect 301 http://www.***.com/old.html http://www.***.com/new.html
redirect permanent http://www.***.com/old.html http://www.***.com/new.html
还给个例子大家,比较常用的,就是把所有不带www.的版本网址301转向到带www.的网址。例如所有的***.com转向到www.***.com,那么需要在.htaccess中的指令是:
Options +FollowSymLinks
RewriteEngin on
RewriteCond %{HTTP_HOST} ^***.com [NC]
RewriteRule ^(.*)$ http://www.***.com/$1 [L,R=301]
如果用的是Windows主机,可以在控制面板做301转向设定,这个需要IIS支持。
如果是纯静态HTML页面就无法做301转向。可以做java script转向,或者用MetaRefesh等。但是这个对于蜘蛛来说就是作弊。话又说转来,静态HTML你做301转向干什么?
如果是ASP、PHP,可以在代码中做301转向。
ASP:<% Response.Status="301MovedPermanently" Response.AddHeader"Location","http://www.***.com" Response.End %>
PHP:<?php Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: http://www.***.com" );?>
301的用途很多,请大家把握一点,网址有变动,就用301转向。笔者在这啰嗦了很多,很多都是笔者借鉴的,希望那些老鸟们就不要丢砖了。
|
本文地址: https://jiufei.net/bbs/thread-8054-1-1.html
|