发新话题
打印

如何编写robots.txt文件

如何编写robots.txt文件

在一个网站里,robots.txt是一个重要的文件,每个网站都应当有一个设置正确的robots.txt。9 B' H9 c$ a" v6 E7 R
  当搜索引擎来抓取你的网站文件之前,它们会先来看看你网站的robots.txt文件的设置,以了解你所允许它抓取的范围,包括哪些文件,哪些目录。- o  s* t+ `" D% n
# {& s3 P6 x4 T9 J* r# z
那么如何配置您的robots.txt文件呢?" Z- A0 _+ U& h" w, j
' y" }8 x8 f4 O! f( I
robots.txt基本介绍
, E& @+ ~! `4 }. P6 y  robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。  \9 d1 G+ m6 ~5 B' K
  当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。" {( L3 I0 W4 o2 p! h0 m+ h$ t. d
  另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。3 z/ k7 t" Z" A/ Z
0 q4 @: o( i+ l7 P
robots.txt写作语法. ^% J; `( F4 ]. W2 I% x* Z
  首先,我们来看一个robots.txt范例http://forum.xpdd.net/robots.txt
, k  S: v3 m8 k) J1 ~  访问以上具体地址,我们可以看到robots.txt的具体内容如下:( O2 B% i  e0 P$ r( Z
# Robots.txt file from http://forum.xpdd.net# All robots will spider the domain% J7 ], Q5 E0 }. ?1 ~, K# M) t
User-agent: *) V6 Z  v) @: |* g; b
Disallow:
7 X1 I" E* v/ s5 s: f3 C7 W  以上文本表达的意思是允许所有的搜索机器人访问http://forum.xpdd.net站点下的所有文件。9 }7 i1 v! \, A+ T
  具体语法分析:其中#后面文字为说明信息;User-agent:后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人;Disallow:后面为不允许访问的文件目录。
' s& Q% V& ~6 [  `  下面,我将列举一些robots.txt的具体用法:& L; _; V4 B; X* X7 s- e, n
3 N- t$ Y) J# Z* `
  允许所有的robot访问
% H  ^- l. ], g5 i+ \+ cUser-agent: *
/ `0 i) \) |) f7 w9 BDisallow:$ F- Q2 B$ w" e
或者也可以建一个空文件 "/robots.txt" file
7 U+ B- U: M" N' J+ Z9 q' {' r* u/ ~, j1 R( W9 H
  禁止所有搜索引擎访问网站的任何部分5 S( K: u: t. }# ^/ r9 V
User-agent: *
0 y/ f% c0 H) p: ^5 n5 mDisallow: /, J: Y  C  n- R7 H( l: F. C
9 h- M# F1 d$ a1 y
  禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)
9 J3 T7 u8 r4 q' W* R2 jUser-agent: *
* t4 q, v! r! h) F: o5 tDisallow: /01/9 C# ?4 N0 m) l% I
Disallow: /02/
" `. q  R! P# b, {Disallow: /03/5 n9 Y- f3 Y& `% a9 t
$ h6 c5 K" Q+ j
  禁止某个搜索引擎的访问(下例中的BadBot)3 G) |0 j% f( z
User-agent: BadBot
: n+ _1 n, S- u* A& oDisallow: /0 s$ L2 D, x/ C5 U8 y* I* s1 K7 g

+ j, E; m. f0 g5 R' r6 M6 k3 `- c  只允许某个搜索引擎的访问(下例中的Crawler)
5 L2 h& G$ b5 s: l' SUser-agent: Crawler
- I; ~7 c3 `. _2 ^Disallow:5 ?/ T) B% s4 G5 z

/ j: N2 O; O# G. n; e2 lUser-agent: *. e* F  p8 t, j" u  i
Disallow: /
! S' U( ^* W) j/ b0 E
7 G; L! o, h* }: q: }( N另外,我觉得有必要进行拓展说明,对robots meta进行一些介绍:. q9 Z! `5 g5 i; b/ x
  Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。
# X" I; E7 _/ n6 g6 M( X8 c1 V$ u" C
  Robots META标签的写法:# u* W. X& Y# q$ F
  Robots META标签中没有大小写之分,name="Robots"表示所有的搜索引擎,可以针对某个具体搜索引擎写为name="BaiduSpider"。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以","分隔。. m  _0 p" g) \8 _
3 Q4 O* b4 R6 [: }) Z, y
INDEX 指令告诉搜索机器人抓取该页面;
1 s+ A3 I4 l/ Q5 C9 W4 p; r0 ?
' r" ?/ p1 C4 C! G* ]FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;6 ?' V4 T5 w# F) ]3 b3 ]/ W, X
9 z2 _) T  p- M; [$ [% }0 p% Y# R
Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。
7 p- d$ g7 B6 Z
8 `5 F* V2 b+ O- I" \" H1 H这样,一共有四种组合:<META NAME="ROBOTS" C># D" [: `, \# n
<META NAME="ROBOTS" C>
% l7 r4 n$ W+ }. g$ y: M<META NAME="ROBOTS" C>7 t! A# w* k7 Z" x3 d! T
<META NAME="ROBOTS" C>0 K7 a$ t2 ~6 |- G1 O8 N8 n
其中
* o$ y9 o7 q( g+ s* h* b2 ^<META NAME="ROBOTS" C>可以写成<META NAME="ROBOTS" C>;
/ m) I- I6 F5 ~% d9 \% p& y& x' y' W% h( @: Z
<META NAME="ROBOTS" C>可以写成<META NAME="ROBOTS" C>( V: N' ~3 O( K& i
$ e& X! C% v0 V
  目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令"archive",可以限制GOOGLE是否保留网页快照。例如:4 z) H9 G  ~  H, \) K4 X) @" o& Y
<META NAME="googlebot" C>& @" I3 g8 K% _
表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。
$ N! f1 W2 S+ ?! T! k3 H- x6 n2 M( @
  特别说明,本文章的写作参考了一些网络信息,本人只是按照自己的思路对信息进行整理。
做一个快乐的!,建一个漂亮的"

TOP

发新话题
版块跳转