解析robots.txt的正确使用方法
网上发现的精典文章,发出来与大家分享:
网友eleven俊问:
1.robots.txt这个Disallow:后面一半怎么写(请举例说明各种情况,越多越好)
2.robots.txt怎么指明某个东西的未知,比如:网站地图(请将具体的代码写好)
3.robots.txt在根目录下怎么看?根目录在管理后台(发布跟新文章地方)就可以看,看是空间放源代码文件得地方,这个我分不清楚,关键词排名优化,求教?
4.robots还拿哪些问题比较重要的,请写下,感谢!
陈中平的回复:
robots.txt是在网站空间根目录里面. 给楼主提供一篇文章看看:
网站能不能被搜索引擎索引到,除了看有没有向搜索引擎入口提交、有否与其他站点交换链接等之外,还得看根目录底下的robots.txt文件有没有禁止搜索引擎的收录,这里摘录一些关于robots.txt文件的写法备忘.
什么是robots.txt文件
搜索引擎通过一种爬虫spider程序(又称搜索蜘蛛、robot、搜索机器人等),自动搜集互联网上的网页并获取相关信息.
鉴于网络安全与隐私的考虑,搜索引擎遵循robots.txt协议.通过在根目录中创建的纯文本文件robots.txt,网站可以声明不想被robots访问的部分.每个网站都可以自主控制网站是否愿意被搜索引擎收录,或者指定搜索引擎只收录指定的内容.当一个搜索引擎的爬虫访问一个站点时,上海SEO,它会首先检查该站点根目录下是否存在robots.txt,如果该文件不存在,那么爬虫就沿着链接抓取,如果存在,爬虫就会按照该文件中的内容来确定访问的范围.
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写.
robots.txt文件的写法
robots.txt文件的格式
User-agent: 定义搜索引擎的类型
Disallow: 定义禁止搜索引擎收录的地址
Allow: 定义允许搜索引擎收录的地址
我们常用的搜索引擎类型有:
google蜘蛛:googlebot
百度蜘蛛:baiduspider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛:lycos_spider_(t-rex)
alltheweb蜘蛛:fast-webcrawler
inktomi蜘蛛: slurp
robots.txt文件的写法
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /ABC 这里定义是禁止爬寻ABC整个目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录).
Disallow: /*?* 禁止访问网站中所有的动态页面
Disallow: .jpg$ 禁止抓取网页所有的.jpg格式的图片
Disallow:/ab/adc.html 禁止爬寻ab文件夹下面的adc.html所有文件
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是允许爬寻tmp的整个目录
Allow: .htm$ 仅允许访问以”.htm”为后缀的URL.
Allow: .gif$ 允许抓取网页和gif格式图片
robots.txt文件用法举例
例1. 禁止所有搜索引擎访问网站的任何部分
User-agent: *
Disallow: /
实例分析:淘宝网的 Robots.txt文件
User-agent: Baiduspider
Disallow: /
很显然淘宝不允许百度的机器人访问其网站下其所有的目录.
例2. 允许所有的robot访问 (或者也可以建一个空文件 “/robots.txt” file)
User-agent: *
Disallow:
例3. 禁止某个搜索引擎的访问
User-agent: BadBot
Disallow: /
例4. 允许某个搜索引擎的访问
User-agent: baiduspider
Disallow: User-agent: *
Disallow: /
例5.一个简单例子
在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即搜索引擎不会访问这三个目录.
需要注意的是对每一个目录必须分开声明,而不要写成 “Disallow: /cgi-bin/ /tmp/”.