首页 建站教程robots.txt的正确用法

robots.txt的正确用法

%title插图%num

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:/

常见的搜索引擎爬虫及相应名称:

爬虫名称 对应搜索引擎
Baiduspider 百度搜索
Googlebot 谷歌搜索
Bingbot 必应搜索
360Spider 360搜索
YoudaoBot 有道搜索
ChinasoSpider 中国搜索
Sosospider 搜搜
Yisouspider 宜搜
Sogou web spider
Sogou inst spider
Sogou spider2
Sogou blog
Sogou News Spider
Sogou Orion spider
搜狗搜索
以上数据更新于2021年2月

禁止所有爬虫访问特定目录:

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$

自动发现Sitemaps文件

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>

除了在网站根目录中使用robots.txt文件之外,还可以使用添加“X-Robots-Tag”HTTP标头的方式来实现同样的功能。

1 thought on “robots.txt的正确用法