原创

robots.txt详解

作者:cndz 围观群众:736 更新于 标签:robots.txtrobots.txt详解

简介

robots.txt是网站管理者用来告诉搜索引擎爬虫哪些页面可以被抓取,哪些页面不能被抓取的文件。该文件存放在网站根目录下,是一种遵循Robots协议的文件,可以控制搜索引擎爬虫对网站内容的访问。

语法

robots.txt文件的语法非常简单,由若干个User-agent,Disallow和Allow构成。其中User-agent表示搜索引擎爬虫的名称,*表示所有爬虫,而Disallow则表示禁止爬虫访问的URL地址。以下是一个简单的示例:

User-agent: *
Disallow: /admin/

这个示例告诉所有搜索引擎爬虫不要访问网站根目录下的/admin/目录。

Allow代表允许,我们都知道,在默认情况下,如果不指定Disallow的话默认就是被允许的,为什么还用Allow这个语法呢? 我想禁止admin文件夹下的所有文件,除了.html的网页,那怎么写呢?我们知道可以用Disallow一个一个禁止,但那样太费时间很精力了。这时候运用Allow就解决了复杂的问题,就这样写:

User-agent: *
Allow: /admin/.html$
Disallow: /admin/

再上一个示例中我们用到了$结束符, 例:Disallow: .jpg$ 这句话的意思是,屏蔽所有的以.jpg结尾的文件,不管前面有多长的URL,如aa/bb/cc/demo.jpg也是屏蔽的。

常用示例

以下是一些常用的robots.txt示例:

指定sitemap

User-agent: *
Sitemap: https://www.zytool.cn/sitemap.xml

禁止所有搜索引擎爬虫访问整个网站

User-agent: *
Disallow: /

允许所有搜索引擎爬虫访问整个网站

User-agent: *
Disallow:

禁止某个搜索引擎爬虫访问整个网站

User-agent: BadBot
Disallow: /

允许所有搜索引擎爬虫访问网站根目录,但禁止访问某个子目录

User-agent: *
Disallow: /private/

允许所有搜索引擎爬虫访问网站根目录和子目录中的所有文件和文件夹

User-agent: *
Disallow:

屏蔽所有通过get传参的url

User-agent: *
Disallow: *?*

屏蔽以某后缀结尾的文件

User-agent: *
Disallow: .jpg$

总结

robots.txt文件是一种简单而强大的工具,可以帮助网站管理者控制搜索引擎爬虫对网站内容的访问。通过使用正确的语法和示例,可以保护敏感信息和降低服务器负载。但是,需要注意的是robots.txt有人称其为与搜索引擎之间的君子协定,robots.txt并不能完全防止搜索引擎爬虫访问网站,因为一些恶意爬虫可能会忽略该文件。因此,网站管理者还需要采取其他措施来保护网站安全。

加入收藏