robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata)。
机器人排除协议最初于1994年提出,互联网工程任务组(IETF)在2022年通过RFC 9309将其标准化为互联网标准轨道文档。该协议用于请求爬虫遵守访问规则,并不是访问授权,也不能替代内容安全措施。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似「Disallow: *.gif」这样的通配符。
其他的影响搜索引擎的行为的方法包括使用robots元数据:
这个协议也不是一个规范,而只是约定俗成的,有些搜索引擎会遵守这一规范,有些则不然。通常搜索引擎会识别这个元数据,不索引这个页面,以及这个页面的-{zh-cn:链;zh-tw:連;zh-hk:連}-出页面。
例子
允许所有的机器人:
User-agent: *
Disallow:
另一写法
User-agent: *
Allow:/
仅允许特定的机器人:(name_spider用真实名字代替)
User-agent: name_spider
Allow:
拦截所有的机器人:
User-agent: *
Disallow: /
禁止所有机器人访问特定目录:
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/
仅禁止坏爬虫访问特定目录(BadBot用真实的名字代替):
User-agent: BadBot
Disallow: /private/
禁止所有机器人访问特定文件类型
唯一要注意的就是要使用网站地图指令,,并将URL的「location」值换成网站地图的地址,例如,下面就是一个网站地图指令的例子:
Sitemap:
如何编写Sitemaps文件,请参考[https://www.sitemaps.org sitemaps.org]上的说明。
Crawl-delay指令
几大抓取工具支持Crawl-delay参数,设置为多少秒,以等待同服务器之间连续请求:
User-agent: *
Crawl-delay: 10
Allow指令
一些大的Crawlers支持一项Allow指令,可以抵消先前Disallow指令。比如Googlebot。
替代
雖然robots.txt是最為廣泛接受的方法,但也可以與robots META標籤一起使用。robots META標籤主要是針對一個獨立的頁面設定,與其他的META標籤(如使用的語言、頁面的描述、關鍵詞等)一樣,robots META標籤也是放在頁面的HEAD標籤中,專門用來告訴搜索引擎robots如何抓取該頁的內容。
參考文獻
外部連結
- [http://www.robotstxt.org The Web Robots Pages]
- [https://developers.google.com/search/reference/robots_txt Robots.txt規範] 于Google
- [https://developers.google.com/search/docs/advanced/robots/create-robots-txt 建立robots.txt檔案] 的说明于Google
评论 (0)