robots介绍
robots是翻译过来是机器人的意思,但在网页中是网站跟搜索引擎爬虫(搜索蜘蛛)的协议,用robots.txt文件来告诉爬虫允许爬取的范围。爬虫访问网站时会第一时间检测网站是否含有robots.txt文件,如有则访问,并以该文件的说明爬取指定范围的文件。因此robots.txt是爬虫来到网站后第一个要爬取的文件。正因为robots.txt对搜索蜘蛛的作用,如此我们可以使用robots.txt对蜘蛛进行限制和规范,让搜索引擎蜘蛛爬取更有价值的页面,提高蜘蛛的爬取效率,节约蜘蛛资源。要知道搜索引擎不会随便浪费程序到处爬行,对于每个网站所派出的蜘蛛数量是有限的,特别是新站蜘蛛会更少,同时蜘蛛的数量是根据网站的页面量级来进行匹配的,网站页面量级越高,搜索引擎匹配的蜘蛛数量越多。因此我们更加不能浪费蜘蛛,让其爬取一些无意义的页面纯属浪费,使用robots.txt文件进行限制则变得非常有必要了。说这么多就是表示robots.txt文件的重要性,我们应该做好robots.txt的编写,这对SEO非常有意义,那么robots.txt该怎么写呢?具体的规则怎么操作,下面SEO手册为大家进行详细说明。前提条件
百度声明:robots工具目前支持48k的文件内容检测,请保证您的robots.txt文件不要过大,目录最长不超过250个字符。所以url不能太长,文件不能太大,48kb绰绰有余了。
放置位置:robots.txt通常位于网站根目录,可以直接访问,如:http://www.SEOshouce.com/robots.txt
会使用到的几个格式:
Allow:这里放允许蜘蛛爬取的文件或目录(一般都是默认允许所以不写,特殊情况下才使用)
“*”,星号通配符,便是泛指,进行模糊匹配
“$”,这个符号是结束符
“/”,开头斜杠一般指的首页或是网站根目录
下面进行robots.txt写法实例说明
1、禁止所有蜘蛛爬行
user-agent:*
disallow: /
如图淘宝禁止蜘蛛访问后,蜘蛛啥也抓不到。
user-agent:googlebot
disallow: /
说明:表示不允许谷歌蜘蛛进行爬行,其它蜘蛛默认允许。
3、仅允许某个蜘蛛访问
user-agent:baiduspider
Allow: /
user-agent:*
disallow: /
说明:表示仅允许百度蜘蛛访问,先允许后禁止所有蜘蛛,上下顺序可以交换。
4、禁止蜘蛛访问某个特定目录
user-agent:*
disallow: /123/
disallow: /456/
说明:表示不允许所有蜘蛛访问123,456这两个目录,包括目录文件下的文件,每个目录都需要分开写。
user-agent:*
disallow: /123
说明:表示禁止所有蜘蛛访问以123形式存在的文件,包括目录,一般多指目录,这种写法还是很少,存在歧义。
user-agent:*
disallow: /789.html
user-agent:*
disallow: /123/
Allow: /123/img/
说明:上述写法本身已经禁止所有蜘蛛访问123目录,但是对于123目录下的img目录(包括此目录下的文件)单独允许蜘蛛访问。
user-agent:*
disallow: /123/
Allow: /123/*.html
说明:表示禁止所有蜘蛛访问123目录,但对于123目录下的所有html文件允许访问。
user-agent:*
disallow: /123/*.html
说明:仅禁止所有蜘蛛访问123目录下的所有html文件,其它文件照常访问。
user-agent:*
disallow:/*?*
说明:用通配符表达不管问号前后是什么,只要带了问号参数的都直接禁止所有蜘蛛访问。有的时候有些人会专门刷你的问号主域页面,来做泛目录或寄生虫或搜索留痕,可以使用这个方法进行屏蔽,则蜘蛛不会在抓取也不会再收录,避免屏蔽漏掉应该再加一个,如下:
user-agent:*
disallow:/*?*
disallow:/?*
说明:不管问号前后是什么,或是单独问号后面是什么,都禁止所有蜘蛛抓取。
user-agent:*
disallow:/*.jpg$
disallow:/*.css$
disallow:/*.js$
说明:禁止所有蜘蛛访问jpg格式的图片、css样式表以及js文件,如要屏蔽所有图片,则将所有图片格式一个个列出即可。
user-agent:*
Sitemap:http://www.lnmosuo.com/sitemap.xml
Sitemap:http://www.lnmosuo.com/sitemap.html
说明:允许所有蜘蛛访问蜘蛛地图以及网站页面地图,加入地图有利于蜘蛛快速进行抓取,提高发现页面url的抓取途径。
提示:
一般来说网站程序文件,模板文件,数据文件可以进行屏蔽,如/bin/,/PHP/,/include/,/template/,/data/。
网站后台文件也可以进行屏蔽,但要用通配符,以免被有心人利用,如:/houtai/,写成/h*i/,只要网站没有以这种开头和结尾的目录就可以使用这种,如存在歧义,则修改,如/ho*i/。
robots.txt不是绝对,在多数情况下,文件里禁止爬行的文件都不会被访问,也不会被收录,但也存在被收录的情况,所以不要太绝对化。