robots.txt文件是引导搜索引擎Spider抓取网站的文件,合理地使用robots.txt文件可以防止自己网站内诸如后台登入之类的秘密页面被搜索引擎抓取和公布,还可以屏蔽搜索引擎对网站非内容页面的抓取,只让搜索引擎抓取和收录能够带来排名和流量的页面,在robots.txt文件的使用中有下面几个问题值得讨论下。

1. 要不要使用robots.txt

对于有需要屏敝Spider抓取的内容的网站,当然是需要robots.txt文件的。如果希望把内容全部开放Spider的网站来说rbotstxt就没有意义了,那么此时还需不需要这个robots.txt文件呢?

robots的作用有哪些
robots的作用有哪些

2012年11月1日,百度、360和搜狗等国内主流搜索引擎签署了(互联网搜索引擎服务自律公约》,表态全部支持robots协议。搜索引擎支持robos协议, 也就是在抓取网站内容之前需要先抓取网站的robots.xt文件。

如果网站不设置robots文件,正常情况下服务器会返回404代码,但有些服务器会返回200或者其他错误。针对返同404状态码的服务器,就不需要做特别处理了。因为搜索引擎抓取一两次都 发现网站并没有设置robots.txt文件,在一定周期内就不会再进行抓取了,而是正常的抓取网站内容。对于返回404状态的之外的信息的服务器,最好重新配置下服务器,设置为对访问服务器上不存在的URL或文件的用户返回404状态码。如果不能进行配置,那么就在网站根目来下放一个空设置或允许抓取全部内容设置的robots.txt文件,以防止服务器对Spdie做出错误的引导。

有些人认为如果允许Spider抓取全站内容,还在服务器上放个robots.txt文件有可能会很浪费Spider 的抓取次数,毕竟spder对个网站的抓取次数是有限的。 其实这种担心是不必要的,不论你设置不设置robos.txt文件,搜索引擎都会频繁地抓取这个文件,因为搜索引繁并不知道你以后是不是要设置或者更新这个文件,为了遵守互联网协议,就只能频繁地对此文件进行抓取。并且搜索引擎每天只抓几次robots.txt文件,并不会造成对网站抓取次数的浪费。

2. robots.txt可以声明网站地图

robots.txt文件除了有限制搜索引擎抓取的功能外,还可以声明网站地图的位置。这其实是Google所支持的一个功能,站长可以通过Google Webmaster直接向Google提交XML版本或纯文本的网站地图,也可以选择在robots.txt文件中添加一行声明:

Sitemap: http://example.com/Sitemap_location.xml

该声明和限制搜索引擎抓取的语句没有关系,可以放到文件中的任何位置。不过暂时只有Google支持,百度搜索工程师曾经表示不支持,并且现在百度在站长平台中有了专门的Sitemap提交入口,所以这个声明对百度不一定有效。不过由于robots.txt文件的特性,搜索引擎都必须频繁抓取此文件,所以在robots.txt文件中声明下网站地图,单从促进搜索引擎对网站抓取方面来看,只会有益无害。

3. robots meta标签的使用

robots协议除可以在网站根目录使用os.cit文件外,还可以使用meta标签。其体写法如下:

<meta name=”robots” content=”nofollow”>

<meta name=”BaiduSpider” content= “nofollow”>

<meta name=”robots” content=”noarchive”>

<meta name= “BaiduSpider” content= “noarchive”>

nofollow(相关阅读:郑州seo:nofollow的争议及使用方法)会在后面进行详细的介绍,noarchive是禁止显示快照的意思,也就是当网友搜索到你的网站时,只能进入你的网站浏览内容,不能通过搜索引擎的快照查看你的网站内容。使用meta标签中的nofollow可以使得搜索引擎不跟踪页面中的链接。值得一提的是在网络上和其他SEO书籍中提及的<meta name “robots content “noindex”>,百度是不支持的,在针对百度进行设置时,应该了解并注意到这点, 现在禁止百度收录某个页面只能使用robots.txt来实现,或者针对百度Spider 返回404状态码,robots meta暂时还不可以,不过百度官方表示已经在计划支持noindex.

4. robots .txt的具体用途

一般来说可以使用robots.txt文件来屏敞不想被搜索引擎抓取的页面,但是这些“不想被抓取的页面”通常都会有哪些呢? 下面来举几个简单的例子。

(1)多版本URL情况下,非主显URL的其他版本。比如网站链接伪静态后就不希望搜索引擎抓取动态版本了,这时就可以使用robots.xt屏敝掉站内所有动态链接。

(2)如果网站内有大量的交叉组合查询所生成的页面,肯定有大量页面是没有内容的,对于没有内容的页面可以单独设置个URL特征,然后使用robots.xt进行屏敝,以防被搜索引擎认为网站制造垃圾页面。

(3)如果网站改版或因为某种原因突然删除了大量页面,众所周知,网站突然出现大量死链接对网站在搜索引擎上的表现是不利的。虽然现在可以直接向百度提交死链接,但是还不如直接屏蔽百度对死链接的抓取,这样理论上百度就不会突然发现网站多了太多死链接,或者两者同时进行。当然站长自己最好把站内的死链接清理干净。

(4)如果网站有类似UGC的功能,且为了提高用户提供内容的积极性并没有禁止用户在内容中间夹杂链接,此时为了不让这些链接浪费网站权重或牵连网站, 就可以把这些链接做成站内的跳转链接,然后使用robots.txt进行屏蔽,现在有不少论坛已经这样操作了。

(5)常规的不希望被搜索引擎索引的内容,比如隐私数据、用户信息、管理后台页面等都可以使用robots.txt进行屏蔽。

以上就是robotstxt常见的功能。合理地使用robots.txt,不仅可以保护网站的隐私数据,还可以只给搜索引擎展现网站高质量的一面,同时也可以使得搜索引擎多多抓取其他允许抓取的页面。不过,站长和SEO人员要慎重考虑是否需要把后台地址写到robots.txt文件中,现在很多黑客都在频繁地扫描各个网站的后台地址,如果直接把后台地址写入到robots.txt中, 也就相当于直接告诉黑客网站的后台地址了。还有,现在只是Google 支持robots.txt文件声明Sitemap地址,百度并不支持,并且站长现在完全可以通过google webmaser提交Sitemap,所以使用robots.txt文件声明XML地图位置并没有太大的必要性。现在有不少做采集的人都会通过robots.txt文件寻找网站的sitemap,然后批量地提取目标内容的URL,如果站内有比较有价值的资源(例如关键词库等),就很许易被竞争对手钻空子。所以在制作robots.txt文件时一定要综合考虑都需要写什么,而不能只站在SEO的角度思考问题。

另外,SEO人员不要被robots.txt文件本身原始的作用所限制, 要将思维扩散个下,比如为防止搜索引擎抓到把柄,不让搜索引擎抓取透露网站 弊端的页面链接;为提升网站在搜索引擎眼中的整体质量等,不让搜索引擎抓取无搜索价值的页面。

发表评论

电子邮件地址不会被公开。