站长学习 一 Robots简单认识

如果做一个站点,技术管理员需要保障安全,那么来认识一下Robots.txt文件。做为技术管理员,密切关注,分析站点数据日志。很重要。日志中可以看到有些搜索引擎,爬虫等来访问你的robots.txt文件,如果你的站点没有robots.txt文件,则返回404代码。

Robots.txt 是存放在站点根目录下的一个纯文本文件。虽然它的设置很简单,但是作用却很强大。它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容。

一、robots.txt是什么?

  robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被搜索引擎访问的部分,或者指定搜索引擎只收录指定的内容。

  当一个搜索引擎(又称搜索机器人或蜘蛛程序)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。

二、robots.txt的作用

  1、引导搜索引擎蜘蛛抓取指定栏目或内容;

  2、网站改版或者URL重写优化时候屏蔽对搜索引擎不友好的链接;

  3、屏蔽死链接、404错误页面;

  4、屏蔽无内容、无价值页面;

  5、屏蔽重复页面,如评论页、搜索结果页;

  6、屏蔽任何不想被收录的页面;

  7、引导蜘蛛抓取网站地图;

三、Robots的语法(三个语法和两个通配符)

  三个语法如下:

  1、User-agent:(定义搜索引擎)

  示例:

   User-agent: *(定义所有搜索引擎)
   User-agent: Googlebot (定义谷歌,只允许谷歌蜘蛛爬取)
   User-agent: Baiduspider (定义百度,只允许百度蜘蛛爬取)

   不同的搜索引擎的搜索机器人有不同的名称,谷歌:Googlebot、百度:Baiduspider、MSN:MSNbot、Yahoo:Slurp。

  2、Disallow:(用来定义禁止蜘蛛爬取的页面或目录)

  示例:

    Disallow: /(禁止蜘蛛爬取网站的所有目录 "/" 表示根目录下)
    Disallow: /admin (禁止蜘蛛爬取admin目录)
    Disallow: /abc.html (禁止蜘蛛爬去abc.html页面)
    Disallow: /help.html (禁止蜘蛛爬去help.html页面)

  3、Allow:(用来定义允许蜘蛛爬取的页面或子目录)

  示例:

    Allow: /admin/test/(允许蜘蛛爬取admin下的test目录)
    Allow: /admin/abc.html(允许蜘蛛爬去admin目录中的abc.html页面)

  两个通配符如下:

  4、匹配符 “$”

    $ 通配符:匹配URL结尾的字符

  5、通配符 “*”

    * 通配符:匹配0个或多个任意字符

使用方法:

Robots.txt 文件应该放在网站根目录下,并且该文件是可以通过互联网进行访问的。
例如:如果您的网站地址是 http://www.yourdomain.com/那么,该文件必须能够通过 http://www.yourdomain.com/robots.txt 打开并看到里面的内容。

格式:

User-agent:

用于描述搜索引擎蜘蛛的名字,在" Robots.txt "文件中,如果有多条User-agent记录说明有多个搜索引擎蜘蛛会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何搜索引擎蜘蛛均有效,在" Robots.txt "文件中,"User-agent:*"这样的记录只能有一条。

Disallow:

用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被Robot访问到。

举例:

例一:"Disallow:/help"是指/help.html 和/help/index.html都不允许搜索引擎蜘蛛抓取。

例二:"Disallow:/help/"是指允许搜索引擎蜘蛛抓取/help.html,而不能抓取/help/index.html。

例三:Disallow记录为空说明该网站的所有页面都允许被搜索引擎抓取,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎蜘蛛,该网站都是开放的可以被抓取的。

#:Robots.txt 协议中的注释符。

综合例子 :

例一:通过"/robots.txt"禁止所有搜索引擎蜘蛛抓取"/bin/cgi/"目录,以及 "/tmp/"目录和 /foo.html 文件,设置方法如下:

User-agent: *

Disallow: /bin/cgi/

Disallow: /tmp/

Disallow: /foo.html

例二:通过"/robots.txt"只允许某个搜索引擎抓取,而禁止其他的搜索引擎抓取。如:只允许名为"slurp"的搜索引擎蜘蛛抓取,而拒绝其他的搜索引擎蜘蛛抓取 "/cgi/" 目录下的内容,设置方法如下:

User-agent: *

Disallow: /cgi/

User-agent: slurp

Disallow:

例三:禁止任何搜索引擎抓取我的网站,设置方法如下:

User-agent: *

Disallow: /

例四:只禁止某个搜索引擎抓取我的网站如:只禁止名为“slurp”的搜索引擎蜘蛛抓取,设置方法如下:

User-agent: slurp

Disallow: /

更多参考资料 (英文版)

下面,欣赏一下,只允许国内引擎抓取的 设置 

User-agent: Baiduspider
Disallow:
User-agent: Sosospider
Disallow:
User-agent: sogou spider
Disallow:
User-agent: YodaoBot
Disallow:
User-agent: Googlebot
Disallow: /
User-agent: Bingbot
Disallow: /
User-agent: Slurp
Disallow: /
User-agent: Teoma
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: twiceler
Disallow: /
User-agent: MSNBot
Disallow: /
User-agent: Scrubby
Disallow: /
User-agent: Robozilla
Disallow: /
User-agent: Gigabot
Disallow: /
User-agent: googlebot-image
Disallow: /
User-agent: googlebot-mobile
Disallow: /
User-agent: yahoo-mmcrawler
Disallow: /
User-agent: yahoo-blogs/v3.9
Disallow: /
User-agent: psbot
Disallow: /
Disallow: /bin/

原文地址:https://www.cnblogs.com/pyman/p/11838560.html