robots.txt 用法详解

robots.txt 用法详解

robots.txt(小写)是一份存放在网站根目录下的ASCII编码文本文件,它负责告诉网络搜索引擎的漫游器(也被称为网络蜘蛛):哪些内容是不应被获取的,哪些内容是可以被获取的。

robots.txt 文件位置

由于系统中的某些URL是大小写敏感的,因此为了统一,robots.txt的文件名应全部采用小写字母且应该被放置在网站的根目录下

如果你想单独定义搜索引擎漫游器访问子目录时的行为,可以将自定义的设置融入到根目录下的robots.txt中,或者使用robots元数据(Metadata)。

直接将robots.txt放在网站的子目录中是无效的。

robots.txt 并不能强制阻止抓取

需要注意的是,robots.txt协议并不是一个规范,而只是一个约定俗成的习惯。对于搜索引擎而言,并没有义务遵守这个约定,但仍然有许多爬虫遵守这一约定,使得网站的隐私得以一定程度的保护。

然而,这不能保证所有的爬虫都会遵守这一约定,因此我们不能将网站的隐私完全寄托在robots.txt上。

robots.txt 指令

在robots.txt 文件中,我们可以看到一些特定的指令和规则,它们就像一道道神秘的符咒,保护着网站的秘密。对于网站的制作者来说,robots.txt 文件就如同一个守护者,防止搜索引擎的漫游器随意访问和抓取不希望被公开的内容。

允许所有的搜索引擎爬虫:

User-agent: *
Disallow:

或者另外一种写法:

User-agent: *
Allow:/

User-agent 是用来指定特定搜索引擎爬虫的标签,当它的值为”*”时,代表了所有的搜索引擎。Disallow 指令是禁止的意思,而 Allow 指令则是允许。

允许百度搜索引擎抓取所有页面(示例):

User-agent: Baiduspider
Allow:/

禁止除百度、必应与谷歌搜索引擎抓取外的其它搜索引擎抓取所有页面(示例):

User-agent: *
Disallow: /

User-agent: Baiduspider
Allow:/

User-agent: Bingbot
Allow:/

User-agent: Googlebot
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$

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

爬虫名称 对应搜索引擎
Baiduspider
Baiduspider-render
百度搜索
Googlebot 谷歌搜索
Bingbot 必应搜索
360Spider 360搜索
YoudaoBot 有道搜索
Slurp Yahoo搜索
Goodbot DuckDuckGo
Sogou 搜狗搜索
以上数据更新于2023年11月

Sitemap 指令

Sitemap指令被几大搜索引擎支持(包括百度、Google、Bing和搜狗),指定网站Sitemaps文件的位置。Sitemap指令并不受User-agent指令的限制,所以它可以放在robots.txt文件中的任意位置。示例:

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

Sitemap: https://www.zhanzhangb.cn/sitemap.xml

WordPress 设置示例

 
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://www.zhanzhangb.cn/wp-sitemap.xml
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容