当前位置: 首页 > 网站优化 > 内容列表

文章详情

301重定向避免网站的权重分散的说明


避忌权重分散,力求权重集中是网站SEO优化的一个重要内容,今天要谈的是带www与不带www的域名权重问题,我们的目标是不管用什么方法,力求做到带www与不带www的域名权重集中到其中一个上来

      带www与不带www的域名,在域名解析和网站管理上都可以是独立的,但是除非特别的原因,否则绝大多数网站带www与不带www的域名都是指向同一个站点,网站内容是不分开的,然而尽管如此,搜索引擎仍然会认为带www与不带www的域名是代表两个不同的网站,在收录和权重分配上仍然是分开的。这就是所谓的“权重分散”,对于网站SEO优化来说,是一个需要特别重视的部分。本文将要介绍几种方法,避免带www与不带www域名的权重分散。

      1、全站页面使用301永久重定向

      如果你的网站所有页面不是html的静态页面,使用的是PHP、asp或asp.net的程序,那么要实现带www与不带www域名通过301永久重定向到其中一个上来是件很容易的事情。我们只需在每个页面开头添加几行代码即可。

      PHP代码:

      <?php   

      $the_host = $_SERVER['HTTP_HOST'];//取得当前域名   

      $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面是否有参数   

      if($the_host == 'webkaka.com')//把这里的域名换上你想要的   

      {   

            header('HTTP/1.1 301 Moved Permanently');//发出301头部   

            header('Location: http://www.webkaka.com'.$request_uri);//跳转到你希望的地址格式   

      }  

      ?>

  上述代码可以实现全站301,但是需要每个页面都添加这些代码,有点麻烦,如果有更简单的方法来实现就更好了。

      2、巧用IIS实现全站重定向

      如果你使用的是IIS服务器,那么实现全站重定向将变得异常简单,你只需要动动鼠标,填上几个参数,不需要改程序,不需要编写什么规则代码。

 image.png

      如上图所示,在IIS里首先添加一个不带www域名的网站,然后把主目录设置下,选中“重定向到URL”及地址即可,后面的“$S$Q”是表示把参数一起重定向,不要去掉。

      3、在html里使用base标签 避免带与不带www域名的权重分散

      在head之间添加上这段代码:

      <base href="http://www.webkaka.com/" />

      下面是关于base标记的介绍:

      base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。

      你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。

      所以通过这个方法也可以实现避免带与不带www域名的权重分散,集中使用同一个域名。

      不过这并不是301重定向。

      IE7中注意:

      1) 、<html>之前不能加入额外的输出字符。否则IE7就对 base 不进行解析。

      2)、< base >是一个链接基准标记,用以改变文件中所有链接标记的参数默认值。它只能适应于文件的开头部分,即标记< head >与< /head >之间。

      4、使用.htaccess实现301重定向

      如果空间支持ReWrite URL重写,网站使用的是PHP程序,那么可以使用.htaccess实现301重定向。创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对domain.com的请求都转向到对www.domain.com 进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件。

       PHP代码实现用301将不带WWW的域名重定向:即将webkaka.com统一为www.webkaka.com

      rewriteEngine on

      rewriteCond %{http_host} ^webkaka.com[NC]

      rewriteRule ^(.*)$ http://www.webkaka.com/$1 [R=301,L]

      如何检测301重定向

      可以在这里看看301重定向是否成功,http://www.webkaka.com/webCheck.aspx,看header就行了。

image.png


      小知识:

      301与302的区别

      官方说法301、302都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:

      301 redirect: 301 代表永久性转移(Permanently Moved)。

      302 redirect: 302 代表暂时性转移(Temporarily Moved )。

 

site:domain.com和site:www.domain.com返回的结果不一样,一般前者返回的收录数量比较多。并且还会造成这两个域名在百度中的权重不一样,快照也不一样的情况。笔者的一个网站就遇到了这样的情况,domain.com快照天天,并且权重也高;www. domain.com快照慢一周,权重也低。之前进行外链建设时一直是以带www域名为主,基本没有用过不带www的域名,造成这样的问题可能是由于服务器IP更换引起的。为了解决这个问题,使用了301重定向技术,将不带www的域名重定向到带www的域名上。在调整之后,大约经过了2个月左右的时间,带www域名的快照正常,并且site:domain.com时,返回的结果已经全部是具有www域名的网址,原先索引的不带www域名的网址已经从百度数据库中删除了。如果你也存在这个问题的话,可以使用301重定向技术解决。百度响应301重定向的周期比较长,一般3个月左右,在这段期间一定要持续更新网站,并进行外链建设。

使用301重定向技术可以统一网站的权重,避免网站的权重分散;规范URL网址。因此在建站初期最好就直接使用301重定向技术,将不带www的域名重定向到带www域名上,这样百度就会只索引带www域名的网址。有些站长可能不解析不带www的域名,其实这样做不太好,容易造成流量流失,因为有些访客喜欢直接输入不带www的域名。如果不解析的话,会造成这部分的流量流失。