公告:80热点导航网(www.80rd.com)专业网址导航平台,欢迎优秀网站入驻(违法站勿扰),快审仅需20元/站,永久收录!合作QQ:160-204-68

快速审核,网站广告合作请联系我们
  • 网站:32029
  • 待审:29996
  • 文章:2256
  • 会员:2681

    由于robots.txt的位置是固定的,于是大家就想到了把sitemap的位置信息放在robots.txt里。这就成为robots.txt里的新成员了。

    节选一段google robots.txt:

    Sitemap: http://www.gstatic.com/culturalinstitute/sitemaps/www_google_com_culturalinstitute/sitemap-index.xmlSitemap: http://www.google.com/hostednews/sitemap_index.xml插一句,考虑到一个网站的网页众多,sitemap人工维护不太靠谱,google提供了工具可以自动生成sitemap。

    metatag

    其实严格来说这部分内容不属于robots.txt,不过也算非常相关,我也不知道放哪里合适,暂且放到这里吧。

    robots.txt 的初衷是为了让网站管理员管理可以出现在搜索引擎里的网站内容。但是,即使使用 robots.txt 文件让爬虫无法抓取这些内容,搜索引擎也可以通过其他方式找到这些网页并将它添加到索引中。例如,其他网站仍可能链接到该网站。因此,网页网址及其他公开的信息(如指向相关网站的链接中的定位文字或开放式目录管理系统中的标题)有可能会出现在引擎的搜索结果中。如果想彻底对搜索引擎隐身那咋整呢?答案是: 元标记,即meta tag。

    比如要完全阻止一个网页的内容列在搜索引擎索引中(即使有其他网站链接到此网页),可使用 noindex 元标记。只要搜索引擎查看该网页,便会看到 noindex 元标记并阻止该网页显示在索引中,这里注意noindex元标记提供的是一种逐页控制对网站的访问的方式。

    举例:

    要防止所有搜索引擎将网站中的网页编入索引,在网页的部分添加:

    <meta name="robots"content="noindex">

    这里的name取值可以设置为某个搜索引擎的User-agent从而指定屏蔽某一个搜索引擎。

    除了noindex外,还有其他元标记,比如说nofollow,禁止爬虫从此页面中跟踪链接。详细信息可以参考Google支持的元标记,这里提一句:noindex和nofollow在HTML 4.01规范里有描述,但是其他tag的在不同引擎支持到什么程度各不相同,还请读者自行查阅各个引擎的说明文档。

    Crawl-delay

    除了控制哪些可以抓哪些不能抓之外,robots.txt还可以用来控制爬虫抓取的速率。如何做到的呢?通过设置爬虫在两次抓取之间等待的秒数。

    Crawl-delay:5

    表示本次抓取后下一次抓取前需要等待5秒。

    注意:google已经不支持这种方式了,在webmastertools里提供了一个功能可以更直观的控制抓取速率。

    这 里插一句题外话,几年前我记得曾经有一段时间robots.txt还支持复杂的参数:Visit-time,只有在visit-time指定的时间段里, 爬虫才可以访问;Request-rate: 用来限制URL的读取频率,用于控制不同的时间段采用不同的抓取速率。后来估计支持的人太少,就渐渐的废掉了,有兴趣的同学可以自行google。我了解 到的是目前google和baidu都已经不支持这个规则了,其他小的引擎公司貌似从来都没有支持过。如果确有支持那是我孤陋寡闻了,欢迎留言告知。

    真的有用?

    好吧,到此为止robots.txt相关的东东介绍的也七七八八了,能坚持看到这里的同学估计都跃跃欲试了,可惜,我要泼盆冷水,能完全指望robots.txt保护我们网站的内容吗?不一定。否则百度和360就不用打官司了。

    协议一致性

    第一个问题是robots.txt没有一个正式的标准,各个搜索引擎都在不断的扩充robots.txt功能,这就导致每个引擎对robots.txt的支持程度各有不同,更不用说在某个功能上的具体实现的不同了。

    缓存

    第 二个问题是robots.txt本身也是需要抓取的,出于效率考虑,一般爬虫不会每次抓取网站网页前都抓一下robots.txt,加上 robots.txt更新不频繁,内容需要解析。通常爬虫的做法是先抓取一次,解析后缓存下来,而且是相当长的时间。假设网站管理员更新了 robots.txt,修改了某些规则,但是对爬虫来说并不会立刻生效,只有当爬虫下次抓取robots.txt之后才能看到最新的内容。尴尬的是,爬虫下次抓取robots.txt的时间并不是由网站管理员控制的。当然,有些搜索引擎提供了web 工具可以让网站管理员通知搜索引擎那个url发生了变化,建议重新抓取。注意,此处是建议,即使你通知了搜索引擎,搜索引擎何时抓取仍然是不确定的,只是比完全不通知要好点。至于好多少,那就看搜索引擎的良心和技术能力了。

    ignore

    第三 个问题,不知是无意还是有意,反正有些爬虫不太遵守或者完全忽略robots.txt,不排除开发人员能力的问题,比如说根本不知道 robots.txt。另外,本身robots.txt不是一种强制措施,如果网站有数据需要保密,必需采取技术措施,比如说:用户验证,加密,ip拦 截,访问频率控制等。

    偷偷的抓

    第四个问题,即使采用了种种限制,仍然存在某些恶意的抓取行为能突破这些限制,比如一些利用肉鸡进行的抓取。悲观的说,只要普通用户可以访问,就不能完全杜绝这种恶意抓取的行为。但是,可以通过种种手段使抓取的代价增大到让对方无法接受。比如说:Captcha, Ajax用户行为驱动的异步加载等等。这个就不属于本文讨论的范畴了。

    泄密

    最 后,robots.txt本身还存在泄密的风险。举例,如果某一个网站的robots.txt里突然新增了一条:Disallow /map/,你想到了什么?是不是要推出地图服务了?于是有好奇心的同学就会开始尝试各种文件名去访问该路径下的文件,希望能看到惊喜。貌似当初 google的地图就是这么被提前爆出来的,关于这点我不太确定,大家就当八卦听听好了。

    工具

    google webmaster tools

    robots.txt生成工具

    Perl robots.txt解析器

    Python robots.txt解析器

关键词: sitemap 网络蜘蛛 百度robots协议 锚文本
精彩推荐

教你如何快速提升营销活动专题的SEO效果

时间:2016-06-26

欧洲杯期间,你的网站有没有制作新的专题,专题有没有借助搜索引擎渠道获得流量?怎么?你正在此为事发愁?没关系,院长请来ITSEO创始人、江湖人称夜大大的夜息,用图文并...

百度快速排名的七大谎言

时间:2016-08-11

关于快速排名网上有很多相关资料,但是如果你按照网上的那些说法去操作的话你会发现貌似都没有效果!是的,要承认一点:能研发出快速排名的人不会把核心技术公布出来。网上...

快审网站推荐
随机网站推荐

AMZ123亚马2022.01.05

AMZ123是一家专注于亚马逊卖家导航的网站,因其中立、专业而在众...

常州信威燃2020.03.11

常州市信威燃气设备有限公司,是气化器,燃...

红袋鼠亲子2020.10.09

红袋鼠网站采用原《幼儿画报》杂志社网站域名http://www.hongdai...