robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。
robots.txt应小写且放置在网站根目录
因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。
如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定义的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
将robots.txt放置在网站的子目录中是无效的。
注意:robots.txt协议并不是一个规范,而只是一个约定而已(甚至有些爬虫不遵守该约定),所以并不能保证网站的隐私。
robots.txt指令
允许所有的搜索引擎爬虫:
User-agent: * Disallow:
或者另外一种写法:
User-agent: * Allow:/
User-agent是指定特点搜索引擎爬虫的,当值为*的时候,代表所有搜索引擎。
例如以下示例,允许百度搜索引擎抓取所有页面:
User-agent: Baiduspider Allow:/
常见的搜索引擎爬虫及相应名称:
禁止所有爬虫访问特定目录:
User-agent: * Disallow: /cgi-bin/ Disallow: /js/ Disallow: /tmp/
仅禁止谷歌访问特定目录:
User-agent: Googlebot Disallow: /cgi-bin/ Disallow: /js/ Disallow: /tmp/
禁止所有机器人访问特定文件类型:
User-agent: * Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$
Sitemap指令被几大搜索引擎支持(包括百度、Google、Bing和搜狗),指定网站Sitemaps文件的位置。Sitemap
指令并不受User-agent
指令的限制,所以它可以放在robots.txt文件中的任意位置。示例:
Sitemap: <https://www.example.com/sitemap.xml>
替代方法
虽然robots.txt是最为广泛接受的方法,但也可以与robots META标签一起使用。robots META标签主要是针对一个独立的页面设置,与其他的META标签(如使用的语言、页面的描述、关键词等)一样,robots META标签也是放在页面的HEAD标签中,专门用来告诉搜索引擎robots如何抓取该页的内容。
<head> <meta name="robots" content="noindex,nofollow" /> </head>