Rob
0 d: D1 X7 W3 d) i) o 前段时间写了篇rob& F2 ^$ E1 c* c, m' W# P6 d
比如有很多人这样写:. L+ y" q% V3 ^0 ~5 i- A' U1 a
2 O! n3 j/ y- J1 W! t, k4 I1 n" e
User-agent: *' \5 g! f- A5 a* Q& v
Allow: /
: s# \1 _0 ^2 ]/ p6 {Disallow: /mulu/
* ~' D( P- M- y4 m# t! D 不知道大家有没有看出来,这个规则其实是不起作用的,第一句Allow: / 指的是允许蜘蛛爬行所有内容,第二句Disallow: /mulu/指的是禁止/mulu/下面的所有内容。
, m+ ]& O5 \+ v0 S) J 表面上看这个规则想达到的目的是:允许蜘蛛爬行除了/mulu/之外的网站所有页面。. Z3 L# @3 c) q1 r
但是搜索引擎蜘蛛执行的规则是从上到下,这样会造成第二句命令失效。
( N! ^/ F8 R6 c5 P4 n 正确的规则应该是:( p( h3 q S7 H. T1 U7 t0 y F
1 ]& T% Y# x. d6 M# N# S0 x& l
User-agent: *
# ?) F+ @; L8 l2 cDisallow: /mulu/
1 D, m/ @7 ~' K0 v+ x2 KAllow: /
' f# w0 s. m! z0 v0 O 也就是先执行禁止命令,再执行允许命令,这样就不会失效了。- z( |2 y2 I4 H1 N2 Q7 S
w. w& o# m+ |. X$ @" ^ Q
另外对于百度蜘蛛来说,还有一个容易犯的错误,那就是Disallow命令和Allow命令之后要以斜杠/开头,所以有些人这样写:Disallow: *.html 这样对百度蜘蛛来说是错误的,应该写成:Disallow: /*.html 。
3 H9 S4 F- K0 }2 |* d# W3 X 有时候我们写这些规则可能会有一些没有注意到的问题,现在可以通过百度站长工具(zhanzh
j- M$ l; H7 F 相对来说百度站长工具robots工具相对简陋一些:, {! Z: m- I/ A
3 Z1 I6 s& z) ~ 百度Robots工具只能检测每一行命令是否符合语法规则,但是不检测实际效果和抓取逻辑规则。, c' [9 e, G+ D! d; d
此礕oogle的Robots工具好用很多,如图:; Z9 a: S; \- i9 `6 X
' _/ w( X! l! d* j& _ 在谷歌站长工具里的名称是抓取工具的权限,并报告Google抓取网站页面的时候被拦截了多少个网址。
7 l, \ x' E1 l0 T , ? x' C; g: b! X/ ^4 Z* B
还可以在线测试Robots修改后的效果,当然这里的修改只是测试用,如果没有问题了,可以生成rob* ?8 d8 ]3 {9 z& Z+ i
' |$ a- a1 W) _# U! V Google的测试跟百度有很大的区别,它可以让你输入某一个或者某些网址,测试Google蜘蛛是否抓取这些网址。
) d: h' k# M `" L/ Y+ Y2 ^! [- x0 G' v% D6 o
测试结果是这些网址被Google蜘蛛抓取的情况,这个测试对于Robots文件对某些特定url的规则是否有效。
* q4 w7 x% t+ s+ z% u4 k1 Q8 H 而两个工具结合起来当然更好了,这下应该彻底明白robots应该怎么写了吧。 |