什么是 Robots 协议
Robots 是网站和搜引擎之间的一个协议。用来防止搜索引擎抓取那些我们不想被索引到的页面或内容。早期是为了防止搜索引擎抓取网站的一些隐私页面,不想公开展示的页面,Robots 的作用已经不在局限于网页的隐私了,如今已经是作为学习 SEO 的一个最基础的范畴,能够有效提高网站的健康度、纯净度,降低网站垃圾内容收录
User-agent:是定义搜索引擎的,指定搜索引擎的爬取程序,如果想定义所有搜索引擎请用 * , 记住他不能单独使用,他要配合前面两个语法使用(随便一个就行了) Disallow:是禁止搜索引擎抓取的路径。注意: / 表示根目录 (代表网站所有目录)。Disallow 禁止搜索引擎把我们的网页放出来,就是我们不允许搜索引擎收录,请记住是不允许搜索引擎收录,并不代表他不能爬取了。这是两个概念,他还是能爬的,他不是命令,他只是协议 Allow:是允许的意思,但需要注意: 他的使用一般都是结合 Disallow 他不能单独出现,意思是禁止爬取那个内容,加上 Allow 后意思是,除了可以爬取这个外其余的都禁止!
常见的搜索引擎蜘蛛
由于互联网上蜘蛛有进 200 多种搜索引擎蜘蛛,但你需要知道的几个常见的蜘蛛:
百度蜘蛛:Baiduspider 谷歌机器人:Googlebot 360 好搜: 360spider SOSO 蜘蛛:Sosospider 雅虎的蜘蛛 Mozilla 微软 bing 的蜘蛛:msnbot
Robots 协议的应用
应用 1: 屏蔽所有搜索引擎爬取网站的语法:
代码语言:javascript复制User-agent: *
Disallow: /
应用 2:允许所有搜索引擎爬取网站所有内容
代码语言:javascript复制User-agent: *
Disallow:
应用 3:只禁止百度抓取你网站的内容
代码语言:javascript复制User-agent: Baiduspider
Disallow: /
应用 4:只允许百度抓取你网站的内容
代码语言:javascript复制User-agent: Baiduspider
Disallow:
User-agent: *
disallow: /
语法的细节使用
冒号后面有空格,这是要严格遵守的,语法的第一个字母大写
语法的搭配使用
User-agent 放在第一,起到定义搜索引擎,意思就是之后的语法是针对 User-agent 定义所在的搜索引擎有效的文件夹的使用( 没有斜杠跟有斜杠他有什么区别)
知识点: / 单一的斜杠代表 根目录,辅助使用,就是具体的一个目录了
Disallow: /SEO/ 与 Disallow: /SEO 的区别?
Disallow: /SEO/ 禁止搜索引擎抓取该网站的 SEO 目录 , /SEO/ 有斜杠的含义是代表蜘蛛不要来收录我们的 SEO 文件夹这个目录下面所以的页面
而 Disallow: /SEO 不带斜杠他代表的意义就多了,表示不但禁止搜索引擎抓取该网站的 SEO 目录,还能够禁止所有以 SEO 开头的目录名和文件名开头的网址
匹配符-通配符两个要点
—— $ 结束符 所有以他结尾的都能够进行匹配
—— * 匹配符 匹配零或任意多个字符
通配符是整个Robots.txt里面的核心内容,通配符出现让 Robots 代码更加精简,用更少的代码能够达到同样的效果,可以匹配要屏蔽的 N 个路径,(通配符匹配案例)
Allow 或 Disallow 的值 | URL | 匹配结果 |
---|---|---|
/tmp | /tmp | yes |
/tmp | /tmp.html | yes |
/tmp | /tmp/a.html | yes |
/tmp | /tmphoho | no |
/Hello* | /Hello.html | yes |
/He*lo | /Hello,lolo | yes |
/Heap*lo | /Hello,lolo | no |
html$ | /tmpa.html | yes |
/a.html$ | /a.html | yes |
htm$ | /a.html | no |
robots.txt 文件用法举例
例 1. 禁止所有搜索引擎访问网站的任何部分 | User-agent: * Disallow: / |
---|---|
例 2. 允许所有的 robot 访问 (或者也可以建一个空文件 “/robots.txt”) | User-agent: * Allow: / |
例 3. 仅禁止 Baiduspider 访问您的网站 | User-agent: Baiduspider Disallow: / |
例 4. 仅允许 Baiduspider 访问您的网站 | User-agent: Baiduspider Allow: / User-agent: * Disallow: / |
例 5. 仅允许 Baiduspider 以及 Googlebot 访问 | User-agent: Baiduspider Allow: / User-agent: Googlebot Allow: / User-agent: * Disallow: / |
例 6. 禁止 spider 访问特定目录 在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即 robot 不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 “Disallow: /cgi-bin/ /tmp/”。 | User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例 7. 允许访问特定目录中的部分 url | User-agent: * Allow: /cgi-bin/see Allow: /tmp/hi Allow: /~joe/look Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例 8. 使用”*”限制访问 url 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的 URL(包含子目录)。 | User-agent: * Disallow: /cgi-bin/*.htm |
例 9. 使用”$”限制访问 url 仅允许访问以”.htm”为后缀的 URL。 | User-agent: * Allow: /*.htm$ Disallow: / |
例 10. 禁止访问网站中所有的动态页面 | User-agent: * Disallow: /*?* |
例 11. 禁止 Baiduspider 抓取网站上所有图片 仅允许抓取网页,禁止抓取任何图片。 | User-agent: Baiduspider Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.gif$ Disallow: /*.png$ Disallow: /*.bmp$ |
例 12. 仅允许 Baiduspider 抓取网页和.gif 格式图片 允许抓取网页和 gif 格式图片,不允许抓取其他格式图片 | User-agent: Baiduspider Allow: /*.gif$ Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.png$ Disallow: /*.bmp$ |
例 13. 仅禁止 Baiduspider 抓取.jpg 格式图片 | User-agent: Baiduspider Disallow: /*.jpg$ |
沈唁志|一个PHPer的成长之路!
原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:什么是Robots协议,标准写法是什么