Rob
4 q. {2 l- O/ c+ O2 t# w3 l 前段时间写了篇rob
* M" E, R" w0 B 比如有很多人这样写:! y$ O {# D: U2 f2 T' Y# A
- I y. \6 m3 ?6 u7 h
User-agent: *
* D9 w: U7 e5 Y5 ^7 k# \8 uAllow: /1 B0 F+ j! t* H
Disallow: /mulu/3 ^8 A! ]/ I8 X9 h6 [; N) r% r; v7 ?3 N
不知道大家有没有看出来,这个规则其实是不起作用的,第一句Allow: / 指的是允许蜘蛛爬行所有内容,第二句Disallow: /mulu/指的是禁止/mulu/下面的所有内容。
: }; K1 ?3 \5 S3 F& M$ D; O 表面上看这个规则想达到的目的是:允许蜘蛛爬行除了/mulu/之外的网站所有页面。
& y4 n: M3 J5 B' x$ N 但是搜索引擎蜘蛛执行的规则是从上到下,这样会造成第二句命令失效。
4 o6 T3 c! F1 e2 J t6 Y' C9 t" M) o 正确的规则应该是:
. Y' j( t7 \2 {# p, ^" Z C) O9 x) `* |5 k! r9 h. \
User-agent: *& H& d) c7 x$ p o& L, H+ ]0 l* g4 Y
Disallow: /mulu/
; I$ ]+ K2 M0 oAllow: /9 X1 u) B8 ^2 E' h
也就是先执行禁止命令,再执行允许命令,这样就不会失效了。' [% P4 t# g4 n0 D, H
w7 ^) e; G A4 ^$ n8 ~
另外对于百度蜘蛛来说,还有一个容易犯的错误,那就是Disallow命令和Allow命令之后要以斜杠/开头,所以有些人这样写:Disallow: *.html 这样对百度蜘蛛来说是错误的,应该写成:Disallow: /*.html 。# M+ [; c( B4 b+ V: h# @
有时候我们写这些规则可能会有一些没有注意到的问题,现在可以通过百度站长工具(zhanzh
r) Y; D5 F/ b+ q! ]! `. ?; | 相对来说百度站长工具robots工具相对简陋一些:
7 G0 r! j8 c# @# M- s
7 T; \; G- q7 Z! c& q! k 百度Robots工具只能检测每一行命令是否符合语法规则,但是不检测实际效果和抓取逻辑规则。, T$ J3 M S* H8 ^
此礕oogle的Robots工具好用很多,如图:
7 G, D' m* l( g/ E
- F3 S! G: p, N7 U' G9 j: w5 V0 M 在谷歌站长工具里的名称是抓取工具的权限,并报告Google抓取网站页面的时候被拦截了多少个网址。 I. V" d7 g8 R7 P7 L7 x; Y
9 R6 C! [# I' r4 Q0 U- k4 X 还可以在线测试Robots修改后的效果,当然这里的修改只是测试用,如果没有问题了,可以生成rob0 b2 ~# O4 k3 X; ?9 @2 W
- J, q& P; Z h6 `* X9 R Google的测试跟百度有很大的区别,它可以让你输入某一个或者某些网址,测试Google蜘蛛是否抓取这些网址。" e& m( M8 v+ E& y/ u1 d
8 b# J$ z5 x0 c6 {+ L* \ 测试结果是这些网址被Google蜘蛛抓取的情况,这个测试对于Robots文件对某些特定url的规则是否有效。
% x, S1 M/ V* H& p E k 而两个工具结合起来当然更好了,这下应该彻底明白robots应该怎么写了吧。 |