[编辑本段]$ z" K) J$ D4 q* f8 w
什么是robots.txt? robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。Robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。1 P' | [5 [% y r, C
4 s- {6 O' X; n9 n; C) g
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。3 r" p7 c; X5 f8 V0 D$ R
0 ^5 T& ]. M- Y, q' P6 Z' ~1 B robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。: R- S2 U* h, Z9 e$ M& Q( R
* X0 G1 h8 v0 O4 h& I+ Q" \* _ 语法:最简单的 robots.txt 文件使用两条规则: 3 f$ g7 Y0 Z1 i. H9 N, z7 d8 F- I7 ~! @) A1 Q' P
• User-Agent: 适用下列规则的漫游器 # G& d j% Z- p2 d3 i# v% _
5 B) J6 r/ g% [
• Disallow: 要拦截的网页 * Z- H' d! g ?5 w[编辑本段] 0 ]2 M: Z! b6 `" A/ J! R7 trobots.txt使用误区 误区一:我的网站上的所有文件都需要蜘蛛抓取,那我就没必要在添加robots.txt文件了。反正如果该文件不存在,所有的搜索蜘蛛将默认能够访问网站上所有没有被口令保护的页面。 3 ]1 r9 m0 J$ s# ~ 2 w5 X+ Z; Z. G$ `8 I1 f' C$ }8 S( o 每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该做网站中添加一个robots.txt。 8 Q3 g& g; e8 l- [1 O; p. I* Z4 H4 h8 ]& E4 F' O5 w9 N0 B
误区二:在robots.txt文件中设置所有的文件都可以被搜索蜘蛛抓取,这样可以增加网站的收录率。 4 ^5 y8 J, T$ Z) t . t+ }# i* _- u: b Y 网站中的程序脚本、样式表等文件即使被蜘蛛收录,也不会增加网站的收录率,还只会浪费服务器资源。因此必须在robots.txt文件里设置不要让搜索蜘蛛索引这些文件。 1 W B: b- w6 E) Q, y R/ c: @' ]" g6 T4 h% O5 O2 p! K' k8 `
具体哪些文件需要排除, 在robots.txt使用技巧一文中有详细介绍。 8 k3 Y {( T- ~( J% ?% B" _, ~% F1 S5 {* C2 W
误区三:搜索蜘蛛抓取网页太浪费服务器资源,在robots.txt文件设置所有的搜索蜘蛛都不能抓取全部的网页。 4 Q0 [7 L" [! g8 x# F( F3 n/ d. M% j, F3 i8 X: R/ A
如果这样的话,会导致整个网站不能被搜索引擎收录。 & ]* ~7 n( V6 x
[编辑本段] ; _5 O) s( d4 {! g8 Crobots.txt使用技巧 1. 每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该在网站中添加一个robots.txt。 : n. U' u& D8 d) f3 @ M& l: _* R- x6 H; C" G1 p$ A$ J; \( z
2. 网站管理员必须使蜘蛛程序远离某些服务器上的目录——保证服务器性能。比如:大多数网站服务器都有程序储存在“cgi-bin”目录下,因此在robots.txt文件中加入“Disallow: /cgi-bin”是个好主意,这样能够避免将所有程序文件被蜘蛛索引,可以节省服务器资源。一般网站中不需要蜘蛛抓取的文件有:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。5 Q* Q: ]& U0 Z
! |5 F% I( k6 q0 r+ J# `
下面是VeryCMS里的robots.txt文件: 5 u0 i, P, a# F' S; q3 d / v, L/ P8 T1 t0 Y6 c* ?, J* N( A User-agent: */ K' _3 c4 O( o% ]# C5 {- D
2 C4 ]6 z( d9 m. I- Q& u P4 X Disallow: /admin/ 后台管理文件9 k0 d' ~9 ~0 L0 `8 a5 P( r5 G1 g
+ f/ r1 B% g" L1 A; R% n* ] Disallow: /require/ 程序文件 * i9 O8 W7 z$ Z B0 {( _6 {4 L& d7 G3 Z$ J7 v3 c
Disallow: /attachment/ 附件 3 i, C, z, U4 K) k5 Y4 F5 |- B4 y1 K0 \! u4 |" ?1 r
Disallow: /images/ 图片 ) Y+ g$ K# {! w. d% o( F! N. j" [- i. s- G/ w& O' [
Disallow: /data/ 数据库文件6 t$ V' f# X7 j7 \9 c* @) V
: U) ]9 a$ [9 `
Disallow: /template/ 模板文件 ) G4 r7 u7 Q7 `/ i. d4 a5 c2 j2 Y * B, D' n2 [' } Disallow: /css/ 样式表文件, h8 \3 d/ ]- p W- B' E
4 [; F2 A* a; B" n
Disallow: /lang/ 编码文件4 a3 K4 [ r! n% X; e
* d) x( C8 v. g9 {- X
Disallow: /script/ 脚本文件( D' K) h: d; e; I
- E8 A" B6 s5 L! N8 o/ f3 \; J 3. 如果你的网站是动态网页,并且你为这些动态网页创建了静态副本,以供搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里设置避免动态网页被蜘蛛索引,以保证这些网页不会被视为含重复内容。 ' C* V! Z$ g2 O1 u- r1 Q/ z- b/ D4 x! e% i9 `
4. robots.txt文件里还可以直接包括在sitemap文件的链接。就像这样: 7 Z w, B G- ^# l: j+ L; V4 r & {% X4 ]3 M v' @. g Sitemap: http://www.***.com/sitemap.xml 7 m6 H7 V& R2 \- F) `; t0 _/ h; p - W, E* k& B4 b0 G: W6 w 目前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,显然不在这个圈子内。这样做的好处就是,站长不用到每个搜索引擎的站长工具或者相似的站长部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相链接的网页。* Y$ l4 k! W) {
$ z6 R4 O/ f/ C/ e' w4 `3 V
5. 合理使用robots.txt文件还能避免访问时出错。比如,不能让搜索者直接进入购物车页面。因为没有理由使购物车被收录,所以你可以在robots.txt文件里设置来阻止搜索者直接进入购物车页面。