什么是Robots协议,标准写法是什么

2018-05-24 16:04:40 浏览数 (1)

什么是 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协议,标准写法是什么

0 人点赞