网站地图    收藏   

主页 > 前端 > 网站SEO >

分析robots.txt禁止页面出现在搜索结果中的影响

来源:自学PHP网    时间:2015-04-15 10:59 作者: 阅读:

[导读] 有的是时候,你会惊奇的发现,明明在robots.txt中禁止收录的页面,却出现在了搜索引擎结果列表中,特别是在site:的时候最容易发现。这是你可千万不要惊慌,去怀疑是否robots.txt语法...

 

  有的是时候,你会惊奇的发现,明明在robots.txt中禁止收录的页面,却出现在了搜索引擎结果列表中,特别是在site:的时候最容易发现。这是你可千万不要惊慌,去怀疑是否robots.txt语法规则写错了。

  robots.txt里禁止的页面为什么出现在搜索结果中

  robots.txt禁止抓取的文件搜索引擎将不访问,不抓取。但要注意的是,被robots.txt禁止抓取的URL还是可能出现在搜索结果中,只要有导入链接指向这个URL,搜索引擎知道这个URL的存在,虽然不会抓取页面内容,但是可能以下面几种形式显示在搜索结果中:

  只显示URL,没有标题、描述。

  显示开发目录或雅虎等重要目录收录的标题和描述。

  显示导入链接锚文字作为标题和描述。

  之所以这样处理的重要原因是,搜索引擎虽然不搜录该页面,但由于有很多链接链向这个页面,因此它认为这个页面是有价值的,可能和用户在这发生的搜索行为目的有密切关系,因此显示出来,但为了尊重站长,又不显示URL的详细信息。

  

\

 

  如上图中,谷歌仍然将本站的一个跳转链接显示在搜索结果中,并在网址下方提示“由于本站的robots.txt,系统未提供…”,而结果标题不是这个跳转页面的<title>,而是链接到这个跳转页面的锚文本,你可以试试上面的那个地址,验证效果。

  如何真正实现禁止收录

  这里要谈的不是“禁止收录”,而是“禁止索引”,上述情况就是禁止收录了,但搜索引擎仍然对网页进行索引,在用户需要时返回它认为可靠的信息。在已经添加到robots.txt中作为规则之后,为了彻底将这些页面从搜索引擎结果列表中去除,我们可以通过以下几种方式。

  1、使用meta robots标签

  在这个不像被收录(索引)的页面头部加上下面的代码

        <meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" />

  其中NOINDEX即禁止索引本页,搜索引擎中将不会返回本页作为结果。NOARCHIVE指不建立快照,百度支持它,百度好像暂不支持NOINDEX。NOFOLLOW指蜘蛛不会跟随本页内的链接继续爬行,也不会传递本页的权重。注意一个事实,链接流动和传递权重是与禁止索引不等效的,也就是说,如果你只是使用下面的代码,那么这个页面将不会被返回到搜索结果中,但是页面上的链接还是会被蜘蛛爬行,权重还是会顺着它们往下传递。

<meta name="ROBOTS" content="NOINDEX,NOARCHIVE" />

  2、在链接向这个页面的锚链接加rel=”nofollow”

  既然你已经在robots.txt中禁止抓取这个页面,肯定不想让其他链接来到这个页面,因此,你可以在链接上加上rel=”nofollow”,这样蜘蛛就不会再跟着这条链接爬到你禁止抓取的页面了,也不会把权重传到那个页面了。不过如果锚链接是别人写在他们自己的网站里面,这就没有办法了,只能使用第一种方法。

  这种现象对SEO有什么影响

  首先,我们需要明确,到底该不该禁止这些页面的搜录。网页禁止收录的原因有多种,或许你不希望别人查看你的隐私,或许由于网页的内容不重要,或许这个网页就像我的一样是一个跳转页面,最好不要收录。可是,这种不收录是否对SEO有比较好的影响才是我所关注的,如果不收录导致坏的SEO影响,而那些页面也无关紧要,那我们就让它收录不就可以了。可是,这种不收录的影响具有两面性,有时好,有时坏,要看如何操作。

  如果由于网页价值差,而不搜录页面,未尝不可,但是如果由于禁止了这个网页的收录,也就失去了链接流的传递环节,网站内的链接由此断裂了,导致权重传递在这里中断甚至消失,那么就是坏的影响。例如某一个在线留言页面,站长觉得它不重要,也不希望其中的内容在搜索结果中展现,因此禁止它收录了,但是一个网站结构的页面只有从这个页面才能进入,那么这样的话,这个页面就没有办法被搜索引擎抓取了,可是正是由于这个页面把网站结构串联起来,是一个非常关键的页面,这样一来,网站就面临了巨大的损失。另一种情况是,大量的网页链接到这个页面,它集中了大量的权重,可是你却规定它不被收录,这样一来它所获得的这些权重就浪费了,也不传递给别的网页,这就是权重黑洞。

  当然也有好的影响,例如上述我的网站的跳转页面,我将它们禁止收录之后,它们就不会出现在搜索结果中,用户不可能进入这种没有意义的页面,更不可能进入我的网站,还没停上半秒钟就进入别人的网站。另外,我在导入这些跳转页面的链接上加了rel=”nofollow”,既防止了页面被抓取,也避免了将权重传递到其他网站。

  不过也有人利用这种robots.txt的特性来欺骗搜索引擎,例如有人制作了一个H网页,由于它的内容是不好的,因此他用robots.txt将它隐藏起来,但是又不禁止收录,并且在其他网站做了一些外链,而这些外链的锚文本与网页的内容没有关系。在这种操作下,就会出现我在上文中给出的那张图片一样,搜索结果的标题是锚文本的标题,但实际网页内容是另外的内容,以实现欺骗搜索引擎和用户的目的。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论