对于robots.txt文件的学习
上次Bruce给我们培训时曾经问过大家是否知道各种搜索引擎robot叫什么名。最近刚好看到一些相关的总结,因此先与大家分享一下。
百度:Baiduspider
谷歌:Googlebot
搜搜:Sosospider
搜狗:Sogou+web+spider
有道:Yodaobot
雅虎:yahoo!+Slurp+china
robots.txt是一个纯文本文件,里面记载网站中哪些内容robots是可以访问的,哪些是不允许访问的。robots.txt必须放置在一个站点的根目录下,并且文件名必须全部小写。
在学习robots.txt知识时,感觉理论知识虽然很重要,但是实践操作更为重要,因此在学习时对robots.txt也就侧重了robots.txt的写法。
1)拦截所有的机器人访问网站
User-agent: *
Disallow: /
2)答应所有的机器人访问网站
User-agent: *
Allow: /
3)禁止所有机器人访问特定目录:
User-agent: *
Disallow: /public/
Disallow: /images/
Disallow: /temp/
Disallow: /include/
4)禁止特定搜索引擎蜘蛛访问特定目录
User-agent: Baiduspider
Disallow: /test/
上面的robots.txt语法示例的意思是禁止百度蜘蛛爬行根目录下的test目录
5)仅禁止Baiduspider抓取.jpg格式图片
User-agent: Baiduspider
Disallow: .jpg$
6)仅答应访问以.htm为后缀的URL。
User-agent: *
Allow: .htm$
Disallow: /
7)禁止访问网站中所有的动态页面
User-agent: *
Disallow: /*?*
另外在写robots.txt时还需要注意一些容易犯的错误
1)把多个禁止命令放在一行中:
错误地写法
Disallow: /css/ /cgi-bin/ /images/
正确的写法
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
2)、表示目录时,忘记了斜杠/
错误的写法
User-agent: Baiduspider
Disallow: css
正确的写法
User-agent: Baiduspider
Disallow: /css/