发新话题
打印

如何编写robots.txt文件

如何编写robots.txt文件

在一个网站里,robots.txt是一个重要的文件,每个网站都应当有一个设置正确的robots.txt。+ b) k. ~( _' ~
  当搜索引擎来抓取你的网站文件之前,它们会先来看看你网站的robots.txt文件的设置,以了解你所允许它抓取的范围,包括哪些文件,哪些目录。
5 J; C* c  k/ k  N, A0 G
" \2 c  i/ v  w' j3 v' N7 v那么如何配置您的robots.txt文件呢?
0 L# N! k3 z( U4 ]9 A* [# \
! s. r# a; f1 [robots.txt基本介绍7 D- h0 u- h( b- U
  robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。
7 n( i. W' M8 o5 y  当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。+ z! W0 K; w' ^, w* U+ E5 {
  另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。# |+ b4 V( C, G/ B: z

. Y+ [* \9 Y5 Y  I* ]* }2 a" urobots.txt写作语法
8 h, B" @; m) h" e  `$ F! p1 P  首先,我们来看一个robots.txt范例http://forum.xpdd.net/robots.txt
* L7 l& ?( ^! G# d- [" s  _0 [  访问以上具体地址,我们可以看到robots.txt的具体内容如下:7 ~8 \8 ~1 ~0 @( y3 X/ }
# Robots.txt file from http://forum.xpdd.net# All robots will spider the domain
/ o9 Y5 b0 j; m$ b1 l) \; T' `User-agent: *  ]/ D3 r- M- t: K
Disallow:! F1 \/ b9 m3 F; L
  以上文本表达的意思是允许所有的搜索机器人访问http://forum.xpdd.net站点下的所有文件。: h; Q/ Q3 `7 @5 p/ f
  具体语法分析:其中#后面文字为说明信息;User-agent:后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人;Disallow:后面为不允许访问的文件目录。4 r  l- g! V' |" r
  下面,我将列举一些robots.txt的具体用法:# j! q6 [) G3 ]" r4 y2 ]$ i
, i0 a# i2 c" j7 b5 n/ r  x/ i
  允许所有的robot访问% @! |3 T8 F$ S
User-agent: *
6 F# Z# ~; |6 W- S# N% oDisallow:
4 N% y( x- v7 L0 [9 Z或者也可以建一个空文件 "/robots.txt" file  C& G6 Z7 |# ^: f
0 ~* S  e# D! K! o
  禁止所有搜索引擎访问网站的任何部分
9 o8 J% Y) V# l7 d8 [3 |User-agent: *+ M7 _/ q( h9 j, a
Disallow: /0 s4 y' L: a! E4 T' n; \7 b
, a( K  `8 \% C) t# X
  禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)2 g, V- v6 c9 [  Q
User-agent: *
; `. m7 h0 \# e. ?Disallow: /01/4 R( |) `% f9 Z* x. O- X1 k4 N
Disallow: /02/
/ l) B4 N' @! X5 N+ N+ H. A( gDisallow: /03/9 Z, @) O5 e  W: E' ^) G% _
& B' G; U" |/ e7 v+ {% g
  禁止某个搜索引擎的访问(下例中的BadBot)/ O  D& W  c+ G8 d; t
User-agent: BadBot
2 N1 g( v( X/ d. h* R* F! TDisallow: /3 U4 t$ j7 d9 A  Y2 `4 f
+ L0 L- S0 H( D6 h  ^3 k, n" {
  只允许某个搜索引擎的访问(下例中的Crawler)  F+ [; y# m/ y! [( |  S, W
User-agent: Crawler
6 _0 }9 y- M: P2 Q/ GDisallow:, o( P" }: w; l) F$ @

5 M0 V) M% B- u, [" f. xUser-agent: *
5 l, N* g( n1 ~/ e* j; X' nDisallow: /5 z3 [, r7 `5 T" O5 p, J0 s
. Q2 Z7 W! U9 [  ^
另外,我觉得有必要进行拓展说明,对robots meta进行一些介绍:
5 e$ D/ Z7 U4 I! F/ V  Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。7 O: t! N9 }$ s. F5 y

; D, \: m, o2 R: J# Y9 |  Robots META标签的写法:5 `3 G& Q, V0 x# A) J6 [& [+ a) P
  Robots META标签中没有大小写之分,name="Robots"表示所有的搜索引擎,可以针对某个具体搜索引擎写为name="BaiduSpider"。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以","分隔。
/ U' c1 z; W& v  ?* O3 Y
$ o' ^' O% w  k. oINDEX 指令告诉搜索机器人抓取该页面;$ o: g2 }: d0 w

. j4 n6 p6 J( x4 Z: ~FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;
2 x2 \/ |& ~3 {3 F- o4 _+ u) M, d+ ~2 `* ?+ Q" o
Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。1 X7 c+ @$ ?" a3 c# B

. Q; ^; M4 E, M( h7 R& o. W8 I这样,一共有四种组合:<META NAME="ROBOTS" C>
! ]2 s; _$ w5 C<META NAME="ROBOTS" C>
! r6 S0 S: o) f0 u<META NAME="ROBOTS" C>
" [1 U5 U6 j( G& _% h<META NAME="ROBOTS" C>
, A! o& B9 j6 Y! n$ r其中2 _) {( R9 }/ F! ^/ W
<META NAME="ROBOTS" C>可以写成<META NAME="ROBOTS" C>;
# x5 Y% h: y) K9 S) e& b" D# X' p0 i
<META NAME="ROBOTS" C>可以写成<META NAME="ROBOTS" C>
5 _! @( u' r! {4 d2 P; G! F) H! p( T6 E5 a; ~1 H$ T$ k9 L
  目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令"archive",可以限制GOOGLE是否保留网页快照。例如:
- ~; f$ b! c5 a, E) a; Y<META NAME="googlebot" C>+ L# r. z5 B. K, j" B
表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。8 @+ y' w) I' Z" ]; U+ @( c* j3 w; v
; s' @+ x0 @  z) }& ^; z, @
  特别说明,本文章的写作参考了一些网络信息,本人只是按照自己的思路对信息进行整理。
做一个快乐的!,建一个漂亮的"

TOP

发新话题