北京 上海 广州 深圳 >>
网站建设
我们的优势
我们的报价
联系我们
首 页 关于我们 建站套餐 网站优化 网站推广 解决方案 成功案例 客服中心 建站问题 推广知识 建站知识  
网站优化
  搜索引擎优化
  网站诊断分析
  网 站 重 构
  网站优化流程
  搜索营销服务
  网站优化知识
最新客户
   
网站推广
推广知识
 
· 浅谈造成网站关键字排名
· 浅谈最近百度调整对网站
· 分析:站内锚文本链接使
· 细节成就权重 权重决定
· 根据百度有效反链数据
· 详解SEO策略制定中的
· 关键词排名优化之挖掘长
 
网站优化知识
 
 
301重定向实现方法和对网站优化的作用
  301重定向(也叫301转向,301跳转)对网站优化所起的作用是不可忽视的,尤其是针对SE(搜索引擎)处理网站页面权重的时候,更加显得重要。网站换了新域名,默认首页需要跳转等,从SEO角度来说,我们都建议使用301重定向,而不是JS跳转或META REFRESH或302转向,这些很容易引来SE的惩罚。

 

   什么是301重定向呢?

 

   301重定向是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

 

   为什么要用301转向?

 

   网址转向方法主要包括:301转向,302转向,javascript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。

 

   关于301转向和网址规范化问题,大家可以去阅读下ZAC写的文章。本文,仅仅讨论在ASP环境下,如何设置301重定向问题;其他语言亦可参考。

 

   我们知道,网站的首页一般有以下几种:

 

http://piaoyi.org
http://www.piaoyi.org
http://piaoyi.org/index.asp
http://www.piaoyi.org/index.asp
……

 

   很自然的,以上的这些网址形式都指向到了一个网站,如果在搜索引擎中都启用这些形式,那么,网页权重,PR都会分散到这几个网址上,虽然,它们都是一个网站,而这不是我们想要的结果。那么,如何将以上的首页形式都定向到自己想要的网址上呢,比如http://www.piaoyi.org,从而使得这些分散的网页权重,PR都集中到www.piaoyi.org上。这里就需要使用301永久重定向了。

 

   ASP语言下,我们需要在默认首页,如index.asp顶部最上方加入以下代码:

 

<%
Dim dm,sn
dm=Request.ServerVariables("Server_name")  '获取域名
'这里的3是指www的长度
if left(dm,3)<>"www" then
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location", "http://www.piaoyi.org"
Response.End
end if
%>
   
   这里的代码是经过flymorn加工后的,您也可以根据实际需要对本代码进行适当的修改以适合你需求的样式。本代码自动校验没有输入www的,301跳转到www.piaoyi.org这个网址上,从而使得网页权重得到累加,达到SEO优化的目的。

 

   但这里出现一个问题,如果有链接指向到http://www.piaoyi.org/index.asp(比如站内链接),那么搜索引擎也同样会给这个网址形式加分,虽然index.asp是默认首页,但我们希望的是把所有权重都给与http://www.piaoyi.org这个形式。有人说,这两个形式不是都一样吗?不一样。比如:http://www.023ff.com的PR为0,而http://www.023ff.com/index.asp的PR为2。从这点可以看出,SE是给与是否有index.asp的网址形式以不同的权重的。而使用Request.ServerVariables("SCRIPT_NAME")或Request("url")获取到的后缀无论输入时是否带有index.asp都一律返回index.asp,从而导致无法判断,也无法使用301重定向,当然这是指仅asp语言环境。

 

   目前解决方法就是,利用js获取当前网址window.location.href,然后把这个当前网址写入cookies;asp读取这个cookies,从而判断网址中是否包含index.asp,如果包含,就使用301重定向。建议:在任何链接中避免有直接指向index.asp的形式,包括外链及内链,尤其是内链。这只是一个折中的方法。针对该问题,希望与各位高手一起讨论。如果您有其他解决的方法,请留下您的评论。

 

   利用js通过cookies给asp传递网址的代码如下:

 

<script language="javascript">
var url=window.location.href.toLowerCase(); //小写
documents.cookie = "urlck" + "=" + escape(url);
</script>

 

<%
Dim sn
sn=request.cookies("urlck")  '获取后缀
response.cookies("urlck")=""  '清空cookies

 

if right(sn,11)="default.asp" then
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location", "http://www.piaoyi.org"
Response.End
end if
%>

 

   但是很遗憾,如果这些网址形式不是实际上的人为输入,而是搜索引擎访问的结果,搜索引擎又是忽略JS的,也就是说,js里赋值的cookie并不能被SE识别,从而导致也无法使用301跳转。这个问题有待解决。

 

   其他语言下的301重定向:

 

1、Unix/Linux+Apache主机,在.htaccess文件中增加301转向指令,采用 mod_rewrite 技术,如:PHP代码

 

Options +FollowSymLinks     
RewriteEngine on     
RewriteCond %{HTTP_HOST} ^www.piaoyi.org [NC]     
RewriteRule ^(.*)$ http://piaoyi.org/$1 [L,R=301]    

 

2、Window+IIS主机,在服务器软件的系统管理员配置中设置,方法:

 

打开Internet信息服务管理器,在欲重定向的网页或目录上按右键,选中“重定向到URL”,在对话框中输入目标页面的地址,记得选中“资源的永久重定向”->“应用” 。

 

3、用PHP/ASP .NET实现301转向(HTML无法做301转向),方法如下:

 

1)用PHP实现

 

PHP代码
<? Header( "HTTP/1.1 301 Moved Permanently" );    
Header( "Location: http://piaoyi.org" );?>    

 

2)用ASP.NET实现

 

ASP/Visual Basic代码
<script runat="server">    
private void Page_Load(object sender, System.EventArgs e)    
{    
Response.Status = "301 Moved Permanently";    
Response.AddHeader("Location","http://piaoyi.org");    
}    
</script>    

 

   经过这些设置后,301转向应该可以配置OK啦,如果想检查一下是否正确,则可以使用网上提供Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker。

 

   用以上检测http状态码工具,可以做个简单的检查,如检查http://023ff.com,返回的结果如下:

 

#1 Server Response: http://023ff.com
HTTP Status Code: HTTP/1.1 301 Moved Permanently
Connection: close
Date: Mon, 25 Feb 2008 01:54:09 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Location: http://www.023ff.com
Content-Length: 0
Content-Type: text/html
Set-Cookie: ASPSESSIONIDACBCSBDR=FCJELLLALFNPOCMBNMOLMJHN; path=/
Cache-control: private
Redirect Target: http://www.023ff.com

 

#2 Server Response: http://www.023ff.com
HTTP Status Code: HTTP/1.1 200 OK
Connection: close
Date: Mon, 25 Feb 2008 01:54:13 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 29330
Content-Type: text/html
Set-Cookie: ASPSESSIONIDACBCSBDR=GCJELLLAECPBADKMADAJOBLC; path=/
Cache-control: private

 

   注意以上返回的结果中第二行“HTTP Status Code: HTTP/1.1 301 Moved Permanently”,说明这个网址采用了301永久重定向功能了,设置成功。如果您对本文有任何看法,欢迎留下您的评论,以便我们一起探讨。 <
 
在线咨询
     
 
QQ咨询
旺旺咨询
 
MSN咨询
  点击开始咨询 点击开始咨询
  点击开始咨询 点击开始咨询
建站服务
       经济型网站设计套餐 ¥2580
       企业型网站设计套餐 ¥3980
       豪华型网站设计套餐 ¥6580
       商城型网站设计套餐 ¥7580
       定制型网站设计套餐 ¥面 谈
       智赢型ABC ¥1580/1980
虚拟主机
       普及型(电信)350元/年
       经济型(电信)650元/年
       普及A型(双线)500元/年
       普及B型(双线)900元/年
       外贸型(国外) 550元/年
       企业型(国外) 1050元/年
我要订购主机>>       
域名注册
     国际顶级域名.com 100元/年
     国际顶级域名.net 100元/年
     国际顶级域名.cc 380元/年
     国际顶级域名.org 180元/年
     中国顶级域名.cn 100元/年
     中国顶级域名.com.cn 100元/年
     中文域名.中国.公司 280元/年
我要注册域>>       
 友情链接:湖南网站建设 广州网站建设 上海网站建设 广州网站建设公司 中山网站制作 网页设计网 网页设计公司 网站制作 网站建设 建网站公司 珠海网站建设 赢在网络
 业务范围: 广州虚拟主机 广州网站设计 广州网页制作 广州网页设计 深圳网站建设 珠海网页设计 中山网页制作 汕头网站设计 番禺网页制作 南海网站建设 肇庆网页制作

联系我们 | 建站套餐 | 网站建设 | 建设知识 | 服务报价 | 解决方案 | 成功案例 点击开始咨询 点击开始咨询
Copyright 2005-2020 win580.com rights reserved 电话:020-87518743 87518740  传真:020-87518740
地址:广州市天河区中山大道西8号(天河商贸大厦)1304室  邮编:510620
E-mail:Win580@126.com