robots.txt的主要作用是告诉蜘蛛爬虫该网站下哪些内容能抓取,哪些内容不能抓取。虽然可以没有robots.txt这个文件,默认就抓取该网站的所有文件,对搜索引擎爬虫没有任何的影响,但是如果你想控制蜘蛛的检索间隔,你就必须用robots.txt来控制。
robots.txt不是一种规范,是约定俗成的,主流的搜索引擎都是遵循robots.txt的规则来索引页面,但是一些spam爬虫不会遵循,所以说robots.txt只能防君子,不能防小人,如果目录下有隐私的文件夹,建议设置密码或者登陆用户才能访问。
robots.txt基本用法
User-agent
User-agent是用来匹配爬虫的,每个爬虫都会有一个名字,如果你有安装awstats统计工具,你就能查看到爬虫的名字,比如百度的爬虫叫BaiDuSpider,Google的爬虫叫Googlebot,*表示所有爬虫。
Disallow
Disallow表示禁止爬虫访问的目录。Disallow: / 表示拦截整站。
Allow
Allow表示允许爬虫访问的目录。Allow: / 表示允许整站。
Sitemap
Sitemap用来指定sitemap的位置。
Crawl-delay
Crawl-delay用来告诉爬虫两次访问的间隔,单位是秒。爬虫如果爬得很勤,对动态网站来说,压力有点大,可能会导致服务器负载增高,用户访问变慢。
在计算Crawl-delay时间的时候,要稍微计算一下,ysearchblog上有篇日志,介绍得很清楚。
通配符|wildcard match
*:匹配任意多个字符
$:表示URL的结尾
注意|notice
- URL区分大小写,所以 /abc/ 和 /Abc/ 表示不同的目录。
- 后面有没有斜杠也是不一样的,/private 和 /private/也表示两个不同的地址。
例子|examples
不管是Disallow,Allow还是Sitemap,每行只能写一条规则。Google本身就有一个robots.txt,值得大家参考。
拦截部分文件或目录
User-agent: *
Disallow: /cgi-bin/
Disallow: /aaa.html
允许爬虫访问所有的目录,有两种写法
User-agent: *
Disallow:
User-agent: *
Allow: /
通配符的使用,拦截.gif文件
User-agent: *
Disallow: /*.gif$
拦截带有?的文件
User-agent: *
Disallow: /*?
Sitemap例子
Sitemap: http://www.ezloo.com/sitemap.xml
来源:http://www.ezloo.com/2011/04/robots_txt.html
常用的机器人名字:
Googlebot:Google的网页抓取机器人;
Googlebot-Mobile:Google对于wap页面的自动机器人(主要对wap站);
Googlebot-Image:Google的图片索引机器人(主要对图片站,此机器人对于不想google抓取图片的站来说有用);
Baiduspider:百度蜘蛛
Yahoo Slurp:雅虎爬虫
其他还有很多网页抓取机器人,不过基本不用考虑了。
实例 1:
User-agent: * Sitemap:http://域名/sitemap.xml Allow: / Disallow: /文件1.html Disallow: /目录名1/ Disallow: /目录名2/文件1.html
实例 2:
User-agent: ia_archiver Disallow: / User-agent: * Disallow: /you/ Disallow: /floder/leadership.htm Sitemap: http://www.domain.edu/sitemap.php Sitemap: http://www.domain.edu/sitemap-news.php sitemap: http://cdn.snapsitemap.com/sitemap/70933.xml.gz
google document: http://support.google.com/webmasters/bin/answer.py?hl=en&answer=156449&topic=1724262&ctx=topic
robots.txt是什么?
我们都知道txt后缀的文件是纯文本文档,robots是机器人的意思,所以顾名思义,robots.txt文件也就是给搜索引擎蜘蛛这个机器人看的纯文本文件。robots.txt是 搜索引擎公认遵循的一个规范文档,它告诉Google、百度等搜索引擎哪些网页允许抓取、索引并在搜索结果中显示,哪些网页是被禁止收录的。 搜索引擎蜘 蛛spider(Googlebot/Baiduspider)来访问你的网站页面的时候,首先会查看你的网站根目录下是否有robots.txt文件, 如果有则按照里面设置的规则权限对你网站页面进行抓取和索引。如淘宝网就通过设置robots.txt屏蔽百度搜索引擎:
User-agent: Baiduspider Disallow: / User-agent: baiduspider Disallow: /
robots.txt的作用
我们了解了什么是robots.txt,那它有什么作用,总体来说,robots.txt文件至少有下面两方面的作用:
- 通过设置屏蔽搜索引擎访问不必要被收录的网站页面,可以大大减少因spider抓取页面所占用的网站带宽,小网站不明显,大型网站就很明显了。
- 设置robots.txt可以指定google或百度不去索引哪些网址,比如我们通过url重写将动态网址静态化为永久固定链接之后,就可以通过robots.txt设置权限,阻止Google或百度等搜索引擎索引那些动态网址,从而大大减少了网站重复页面,对SEO优化起到了很明显的作用。
robots.txt的写法
关于如何写robots.txt文件,在下面我们会以WordPress博客来作更具体举例说明。这里先提示几点robots.txt写法中应该注意的地方。如robots.txt文件里写入以下代码:
User-agent: * Disallow: Allow: /
- robots.txt必须上传到你的网站根名录下,在子目录下无效;
- robots.txt,Disallow等必须注意大小写,不能变化;
- User-agent,Disallow等后面的冒号必须是英文状态下的,冒号后面可以空一格,也可以不空格。网上有人说冒号后面必须有空格,其实没有也是可以的,请看谷歌中文网站管理员博客的设置就是这样:http://www.googlechinawebmaster.com/robots.txt ;
- User-agent表示搜索引擎spider:星号“*”代表所有spider,Google的spider是“Googlebot”,百度是“Baiduspider”;
- Disallow:表示不允许搜索引擎访问和索引的目录;
- Allow:指明允许spider访问和索引的目录,
Allow: /
表示允许所有,和Disallow:
等效。
robots.txt文件写法举例说明
禁止Google/百度等所有搜索引擎访问整个网站 | User-agent: * Disallow: / |
允许所有的搜索引擎spider访问整个网站(Disallow:可以用Allow: /替代) | User-agent: * Disallow: |
禁止Baiduspider访问您的网站,Google等其他搜索引擎不阻止 | User-agent: Baiduspider Disallow: / |
只允许Google spider: Googlebot访问您的网站,禁止百度等其他搜索引擎 | User-agent: Googlebot Disallow: User-agent: * Disallow: / |
禁止搜索引擎蜘蛛spider访问指定目录 (spider不访问这几个目录。每个目录要分开声明,不能合在一起) |
User-agent: * Disallow: /cgi-bin/ Disallow: /admin/ Disallow: /~jjjj/ |
禁止搜索引擎spider访问指定目录,但允许访问该指定目录的某个子目录 | User-agent: * Allow: /admin/far Disallow: /admin/ |
使用通配符星号”*”设置禁止访问的url (禁止所有搜索引擎抓取/cgi-bin/目录下的所有以”.html”格式的网页(包含子目录)) |
User-agent: * Disallow: /cgi-bin/*.html |
使用美元符号”$”设置禁止访问某一后缀的文件 (只允许访问以”.html”格式的网页文件。) |
User-agent: * Allow: .html$ Disallow: / |
阻止google、百度等所有搜索引擎访问网站中所有带有?的动态网址页面 | User-agent: * Disallow: /*?* |
阻止Google spider:Googlebot访问网站上某种格式的图片 (禁止访问.jpg 格式的图片) |
User-agent: Googlebot Disallow: .jpg$ |
只允许Google spider:Googlebot抓取网页和.gif格式图片 (Googlebot只能抓取gif格式的图片和网页,其他格式的图片被禁止; 其他搜索引擎未设置) |
User-agent: Googlebot Allow: .gif$ Disallow: .jpg$ ……. |
只禁止Google spider:Googlebot抓取.jpg格式图片 (其他搜索引擎和其他格式图片没有禁止) |
User-agent: Googlebot Disallow: .jpg$ |
WordPress 中robots.txt文件的设置举例,请看这篇文章的介绍:WordPress robots.txt 设置。
Google和百度对robots.txt文件的介绍: Google robotstxt,百度 robots.txt。
来源: http://farlee.info/archives/robots-txt-seo-googlebot-baiduspider.html
相关推荐
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。Robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。 当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果...
robots.txt使用方法 反爬虫 SEO.zip
这是使用robots.js的示例: var robots = require ( 'robots' ) , parser = new robots . RobotsParser ( ) ; parser . setUrl ( 'http://nodeguide.ru/robots.txt' , function ( parser , success ) { if ( ...
主要为大家介绍了帝国CMS中robots.txt文件用法,详细分析了robots协议的原理与使用技巧,并实例讲述了帝国CMS中robots.txt文件的使用方法,需要的朋友可以参考下
什么这是Go语言(golang)的robots.txt排除协议实现。建造要构建和运行测试,请... 您可以使用函数FromBytes(body [] byte)(* RobotsData,error)或字符串相同的函数来实现: robots, err := robotstxt.FromBytes(
NodeJS robots.txt解析器。 目前支持: 用户代理: 允许: 不允许: 网站地图: 抓取延迟: 主持人: 具有通配符(*)和EOL匹配($)的路径 安装 通过NPM: npm install robots-parser 或通过纱线: yarn...
machina-policy:常见的Lisp robots.txt解析器 目标 该项目的目标很简单:为robots.txt文件提供解析器,而无需指定任何特定的HTTP客户端来获取URL。 为了方便地查询robots.txt文件以获取有关是否允许特定漫游器访问...
Robots.txt解析器 一个易于使用的,可扩展的robots.txt解析器库,完全支持Internet上的每个和。 使用案例: 权限检查 ...推荐的安装robots.txt解析器的方法是通过 。 将此添加到您的composer.json文件
Cylon是一个用于读取robots.txt文件的库。 特征 对于robots.txt文件中要求Web搜寻器支持哪些规则,没有统一的标准。 Cylon支持以下指令(尤其是缺少Site-map ): User-agent Allow Disallow 此外,Cylon支持*...
如果你使用 Rails,你可以添加一个示例config/robots.rb配置文件和/robots.txt路由: $ rails g human_power:install 默认情况下,它将允许爬虫访问整个站点。 现在您可以重新启动服务器并访问/robots.txt以查看...
为每个域提供不同 robots.txt 的 Umbraco 包。 用法 在以下位置安装 Umbraco 包: : 安装后,只需添加一些文本文件并将一些应用程序设置添加到您的 web.config 以将它们映射到域。 例如: <!-- ...
我是机器人 robots.txt文件检查器。配置一些常见配置选项的示例包括: require 'simple_redis_cache'Irobot . configure do | c | c . timeout = 1 # second c . cache_namespace c . cache = SimpleRedisCache . ...
解析robots.txt , robots元数据和标头 确定是否可以从robots.txt,漫游器元标记和漫游器标题中抓取页面。 支持我们 我们投入了大量资源来创建。 您可以通过来支持我们。 非常感谢您从家乡寄给我们一张明信片,...
机械手 Spring Boot应用程序模块,可基于标准控制器注释自动...接下来,使用@DisallowRobots批注标记要从搜索引擎索引中排除的方法和/或控制器。 例如: @Controller @DisallowRobots public class FooController
如果你确实不希望被收录,修改 是最有效的方法,请提交 Pull Request,把你的用户名(@username@hello.2heng.xin 里的 @username)按照 robots.txt 里面的格式添加进去。如果是第一次使用 GitHub 可以参考,以相同的...
ROBOTEX 服从的robots.txt 使用一行代码,Robotex(发音为“ robotics”)将下载并解析robots.txt文件,并告知您是否允许您的程序访问给定的链接。 用法: robotex = Robotex . new "My User Agent"robotex . ...
从该类中删除未使用的方法,完成重构,更正该类的属性范围。 添加了更多的测试用例,以及添加到整个新功能的测试用例。 添加了类,以检查是否允许解析网址。 在2.0版中,RobotsTxtParser的速度得到了显着提高。 ...
安装要安装Protego,只需使用pip: pip install protego用法>>> from protego import Protego>>> robotstxt = """... User - agent: *... Disallow: /... Allow: / about... Allow: / account... Disallow: / ...
机器人 一个简单的类,用于解析robots.txt文件... " drakees/robotstxt " : " dev-master " } 用法 <?php // If not using Composer - include the class directly: require __DIR__ . '/path/to/RobotsTxt.php' ; /
禁止使用机器人RobotsDisallowed项目是对robots.txt禁止访问的世界顶级网站目录的收获,尤其是Alexa 100K和Majestic 100K的那些目录。 禁止目录列表是在网络安全评估或漏洞悬赏期间补充内容发现的一种好方法,因为...