Robots.txt写法规则
内容项的基本格式:键: 值对。
1、 User-Agent键
后面的内容对应的是各个具体的搜索引擎爬行器的名称。如百度是Baiduspider,谷歌是Googlebot。
一般我们这样写:
User-Agent: *
表示允许所有搜索引擎蜘蛛来爬行抓取。如果只想让某一个搜索引擎蜘蛛来爬行,在后面列出名字即可。如果是多个,则重复写。
注意:User-Agent:后面要有一个空格。
在robots.txt中,键后面加:号,后面必有一个空格,和值相区分开。
2、”*”和”$”的使用:
Baiduspider支持使用通配符”*”和”$”来模糊匹配url。”$” 匹配行结束符。”*” 匹配0或多个任意字符。例如:Disallow: /*.jpg 网站所有的jpg文件被禁止了。Disallow: /.php$ 网站所有以.php结尾的文件被禁止。
4、Disallow键的使用:
Disallow: 描述不需要被索引的网址或者是目录。比如Disallow:/wp-不允许抓取url中带wp-的网址;要注意的是Disallow: /date/与Disallow: /date是不一样的;前者仅仅是不允许抓取date目录下的网址,如果data目录下还有子文件夹,那么子目录是允许抓取的,后者可以屏蔽date目录下所有文件,包括其子文件夹。
5、Allow键的使用
Allow:描述不需要被索引的网址或者是目录。例如:Allow: /index.php 允许网站的index.php。功能跟disallow相反,特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
robots.txt实例分析
例1. 禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
例2. 允许所有的搜索引擎访问网站的任何部分
User-agent: *
Disallow:
例3. 仅禁止Baiduspider访问您的网站
User-agent: Baiduspider
Disallow: /
例4. 仅允许Baiduspider访问您的网站
User-agent: Baiduspider
Disallow:
例5. 禁止spider访问特定目录
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /data/
注意事项:1)三个目录要分别写。2)请注意最后要带斜杠。3)带斜杠与不带斜杠的区别。
例6. 允许访问特定目录中的部分url
我希望a目录下只有b.htm允许访问,怎么写?
User-agent: *
Allow: /a/b.htm
Disallow: /a/
注:允许收录优先级要高于禁止收录。
从例7开始说明通配符的使用。通配符包括("$" 结束符; "*"任意符)
例7. 禁止访问网站中所有的动态页面
User-agent: *
Disallow: /*?*
例8. 禁止搜索引擎抓取网站上所有图片
User-agent: *
Disallow: /*.jpg$
Disallow: /*.jpeg$
Disallow: /*.gif$
Disallow: /*.png$
Disallow: /*.bmp$
部分来自http://www.idsem.com
