首页 --> 网站优化
成功案例分类
自助网站型    更多案例

一点通案例

手工定制网站

WAP手机网站

行业门户网站

商城网站案例

联系我们

电话:010-64681504 010-64684094

传真:010-64673024

邮箱:888@edo2008.com

24小时值班热线

手 机: 013693193565


网址规范化

    网址规范化(URL canonicalization)指的是搜索引擎挑选最合适的URL作为真正(规范化的)网址的过程。


    为什么出现不规范网
    举例来说,下面这几个URL一般指的是同一个文件:
    .http://www.edo2008.com
    .http://edo2008.com
    .http://www.edo2008.com/index.html
    .http://edo2008.com/index.html
    但是从技术上来讲,这几个URL都是不同的网址,搜索引擎也确实把它们当做不同的网址。虽然在绝大部分情况下,这些网址所返回的是相同的文件,也就是网站首页,但是从技术上说,主机完全可以对这几个网址返回不同的内容。


    除了上面因为带与不带www造成的,以及结尾是否带index.html文件名造成的不规范网址,网址规范化问题还可能由于如下原因出现:
    .CMS系统原因,使同一篇文章(也可以是产品、帖子等)可以通过几种不同的URL访问。
    .URL静态化设置错误,同一篇文章中有多个静态化URL。
    .URL静态化后,静态和动态URL共存,都有链接,也都可以访问。
     目录后带与不带斜杠。
     http://www.edo2008.com和http://www.edo2008.com/是不同网址,但其实是一个页面。
    .加密网址。
      http://www.edo2008.com
      和
      https://www.edo2008.com
    同时存在,都可以访问。

    .URL中有端口号。
    http://www.edo2008.com:80
    和
    http://www.edo2008.com
    .跟踪代码。有的联署计划或广告服务在URL后面加跟踪代码,如http://www.edo2008.com/?affid=100
    .显示的都是首页内容。

 

    网址规范化问题
    网站出现多个不规范网址会给搜索引擎收录和排名带来很多麻烦。比如,网站首页应该是固定的,只有一个,但很多站长在链接回首页时所使用的URL并不是唯一的,一会儿连到http://www.edo2008.com,一会儿连到http://www.edo2008.com/index.html。
    虽然不会给用户造成什么麻烦,因为这些网址其实是同一个文件,但是给搜索引擎造成了困惑,哪一个网址是真正的首页呢?哪一个网址应该被当做首页返回呢?


    如果网站上不同版本的网址同时出现,那么两个或更多版本的URL都可能被搜索引擎收录,这就会造成复制内容。搜索引擎计算排名时必须找到所谓规范化的网址,也就是搜索引擎认为的最合适的URL版本。


    网址规范化造成几个问题:
    .CMS系统在不同地方链接到不同的URL,分散了页面权重,不利于排名。
    .外部链接也可能指向不同URL,分散权重。
    .搜索引擎判断的规范化网址不是站长想要的那个网址。
    .如果网址规范化问题太严重,也可能影响收录。一个权重不很高的域名,能收录的总页面数和蜘蛛总爬行时间是有限的。搜索引擎把资源花在收录不规范的网址上,留下给独特内容的资源就减少了。


    .复制内容过多,搜索引擎可能认为有作弊嫌疑。

 

    解决网址规范化问题
    要解决URL规范化问题有很多方法,比如:
    1.确保使用的CMS系统只产生规范化网址,无论是否有静态化。
    2.所有内部链接保持统一,都指向规范化网址。以带与不带www为例,确定一个版本为规范化网址,网站内链接统一使用这个版本。这样搜索引擎也就明白哪一个是站长希望的规范化网址。由于用户习惯,通常选择带www的版本为规范化网址。
    3.在Google管理员工具中设置首选域。
    4.使用301转向,把不规范化URL全部转向到规范化URL。下一节将深入讨论。
    5.使用canonical标签。后面将深入讨论。
    6.提交给搜索引擎的XML网站地图中全部使用规范化网址。
    但这些方法都各有局限:
    7.Google管理员工具不适用于其他搜索引擎。
    8.有的网站因为技术原因做不了301转向。
    9.CMS系统经常不受自己控制。
    10.内部链接自己可以控制,但外部链接不受控制。


    所以,虽然有解决方法备选,但到目前为止网址规范化一直是困扰站长及搜索引擎的一个问题。据估计,网上有10%~30%的URL是内容相同但URL不一样的不规范化网址。为了万无一失,经常需要综合使用多个方法。

 

    301转向
    1.什么是301转向
    301转向(或叫301重定向、301跳转)是用户或蜘蛛向网站服务器发出访问请求时,服务器返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。
    其他常见的状态码还包括:
    200表示一切正常
    404网页不存在
    302临时性转向
    500内部程序错误
    网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、MetaRefresh等。除了301转向外,其他方法都是常用的作弊手法,虽然方法本身没有对错之分,但被作弊者用多了,搜索引擎对可疑的转向都很敏感。

    2. 301转向传递权重
    网页A用301重定向转到网页B,搜索引擎可以肯定网页A永久性改变地址,或者说实际上不存在了,搜索引擎就会把网页B当做唯一有效目标。这是搜索引擎唯一推荐的不会产生怀疑的转向方法,更重要的是,网页A积累的页面权重将被传到网页B。


    所以,假定http://www.edo2008.com是选定的规范化网址,下面几个网址:
      http://edo2008.com
      http://www.edo2008.com/index.html
      http://edo2008.com/index.html
    都做301转向到http://www.edo2008.com,搜索引擎就知道http://www.edo2008.com是规范化网址,而且会把上面列的网址权重传递集中到规范化网址。


    目前Google会传递大部分权重,但不是百分之百权重。百度会传递所有权重。Google对301的识别、反应、完成权重传递,需要1-3个月时间。百度对301处理则比较保守,新旧URL会同时存在于数据库很长时间,经常看到做了301转向一年的URL还出现在百度结果中。


    怎样做301转向
    如果网站使用LAMP (Linux+Apache+MySQL+PHP)主机,可以使用.htaccess文件做301转向二htaccess是一个普通文字文件,用Notepad等文字编辑软件创建和编辑,存在网站根目录下。.htaccess文件中的指令用于目录特定操作,如密码保护、转向、错误处理等。
    比如把页面/old.htm 301转向到http://www.edo2008.com/wztg.htm,可以在.htaccess文件
中放上这个指令:
    redirect 301 /old.htm http://www.edo2008.com/wztg.htm
    或
    redirect permanent/old.htm http://www.edo2008.com/wztg.htm
    把所有不带www (http://www.edo2008.com )版本的网址301转向到带www的版本(http://www.edo2008.com),包括:
    http://edo2008.com/wztg.htm
    转到
    http://www.edo2008.com/wztg.htm
    及
    http://www.edo2008.com/seo/0507175521.html
    转到
    http://www.edo2008.com/seo/
    等,还要用到mod rewrite模块,.htaccess文件指令是:
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond ${HTTP HOST} ^domain.com (NC)
    RewriteRule ^(.*)$ http://www.edo2008.com/$l  {L,R=301}
    如果网站用的是Windows主机,可以在控制面板做301转向设定。
    纯静态HTML页面无法做301转向。在HTML里能做JavaScript或Meta Refresh转向,但不能做301转向,HTML一被读取,就己经返回200 Ok状态码了。
    如果页面是ASP或PHP,还可以做301转向。

    4. 301转向的其他用途
    除了解决网址规范化问题,还有很多需要做301转向的情形。比如,为保护版权,公司拥有不同TLD的多个域名:
    .edo2008.com
    .edo2008.net
    为避免造成大量复制内容,应该选定一个为主域名,如edo2008.com,其他域名做301转向到edo2008.com。
    或者公司注册了全称域名longcompanyname.com,但太长,也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个301转向到主域名。
    网站改版也经常需要用到301转向,如页面删除、改变地址、URL命名系统改变等。
    动态URL静态化也可能要做301,将旧的、动态的URL做301到新的、静态的URL。

 

    Canonical标签
    2009年2月,Google,雅虎、微软共同发布了一个新的标签canonical tag,用于解决网址规范化问题。
    简单说,就是在HTML文件的头部加上这样一段代码:
    <link rel="canonical" href="http://www.edo2008.com/product.php?item=swedish-fish"/>
    意义就是这个网页的规范化网址应该是:
    http://www.edo2008.com/product.php?item=swedish-fish
    下面这些URL都可以加上这段canonical标签:
    .http://www.edo2008.com/product.php?item=swedish-fish&category=gummy-candy
    .http:/www.edo2008.com/product.php?item=swedish-fish&trackingid=l234&sessionid=5678
    这些URL的规范化网址就都成为:
    http://www.edo2008.com/product.php?item=swedish-fish
    Canonical标签相当于一个页面内的301转向,区别在于用户并不被转向,还是停留在原网址上,而搜索引擎会把它当做是301转向处理,把页面权重集中到标签中指明的规范化网址上。
    另外有几个细节需要注意:
    这个标签只是一种建议或暗示,而不是指令,它不像robots文件那样是个指令。所以搜索引擎会在很大程度上考虑这个标签,但并不是百分之百。搜索引擎还会考虑其他情况来判断规范化网址。这也防止站长有可能把网址弄错。
    标签既可以使用绝对地址,也可以使用相对地址。通常使用绝对地址比较保险。
    指定的规范化网址上的内容,与其他使用这个标签的非规范化网址内容可以有一些不同。不一定完全一样。比如电子商务网站上多按价格、时间、尺寸升降排序,生成的URL全都不一样,但内容大体相同,只有细小区别,就可以使用这个标签。
    指定的规范化网址可以是不存在页面,返回404,也可以是还没有被收录的页面。但是不建议这么做,别没事找事。
    这个标签可以用于不同域名之间。
    有些网站由于技术限制不能做301转向,canonical标签就显得非常灵活,不需要任何特殊服务器组件或功能,直接写在页面HTML中就可以了。
    目前Google,雅虎、必应都支持canonical标签,不过雅虎和必应收录页面后做出反应的时间非常长。百度还不支持canonical标签。