若是作一个站点,技术管理员须要保障安全,那么来认识一下Robots.txt文件。作为技术管理员,密切关注,分析站点数据日志。很重要。日志中能够看到有些搜索引擎,爬虫等来访问你的robots.txt文件,若是你的站点没有robots.txt文件,则返回404代码。html
Robots.txt 是存放在站点根目录下的一个纯文本文件。虽然它的设置很简单,可是做用却很强大。它能够指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或所有内容。安全
robots.txt是一个纯文本文件,在这个文件中网站管理者能够声明该网站中不想被搜索引擎访问的部分,或者指定搜索引擎只收录指定的内容。dom
当一个搜索引擎(又称搜索机器人或蜘蛛程序)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,若是存在,搜索机器人就会按照该文件中的内容来肯定访问的范围;若是该文件不存在,那么搜索机器人就沿着连接抓取。ide
一、引导搜索引擎蜘蛛抓取指定栏目或内容;优化
二、网站改版或者URL重写优化时候屏蔽对搜索引擎不友好的连接;网站
三、屏蔽死连接、404错误页面;搜索引擎
四、屏蔽无内容、无价值页面;google
五、屏蔽重复页面,如评论页、搜索结果页;spa
六、屏蔽任何不想被收录的页面;日志
七、引导蜘蛛抓取网站地图;
三个语法以下:
一、User-agent:(定义搜索引擎)
示例:
User-agent: *(定义全部搜索引擎)
User-agent: Googlebot (定义谷歌,只容许谷歌蜘蛛爬取)
User-agent: Baiduspider (定义百度,只容许百度蜘蛛爬取)
不一样的搜索引擎的搜索机器人有不一样的名称,谷歌:Googlebot、百度:Baiduspider、MSN:MSNbot、Yahoo:Slurp。
二、Disallow:(用来定义禁止蜘蛛爬取的页面或目录)
示例:
Disallow: /(禁止蜘蛛爬取网站的全部目录 "/" 表示根目录下)
Disallow: /admin (禁止蜘蛛爬取admin目录)
Disallow: /abc.html (禁止蜘蛛爬去abc.html页面)
Disallow: /help.html (禁止蜘蛛爬去help.html页面)
三、Allow:(用来定义容许蜘蛛爬取的页面或子目录)
示例:
Allow: /admin/test/(容许蜘蛛爬取admin下的test目录)
Allow: /admin/abc.html(容许蜘蛛爬去admin目录中的abc.html页面)
两个通配符以下:
四、匹配符 “$”
$ 通配符:匹配URL结尾的字符
五、通配符 “*”
* 通配符:匹配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/