
作者:平文胜
我们知道,搜索引擎都有自己的“搜索机器人”(ROBOTS),并通过这些ROBOTS在网络上沿着网页上的链接(一般是http和src链接)不断抓取资料建立自己的数据库。 对于网站管理者和内容提供者来说,有时候会有一些站点内容,不希望被ROBOTS抓取而公开。为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是The Robots META标签。
一、 robots.txt
1、 什么是robots.txt?
robots.txt是一个纯文本文件,通过在这个文件中声明该网站中不想被robots访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。
当一个搜索机器人访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果找到,搜索机器人就会按照该文件中的内容来确定访问的范围,如果该文件不存在,那么搜索机器人就沿着链接抓取。
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
网站 URL
相应的 robots.txt的 URL
- http://www.w3.org/
- http://www.w3.org/ robots.txt
- http://www.w3.org:80/
http://www.w3.org:80/ robots.txt
- http://www.w3.org:1234/
- http://www.w3.org:1234/ robots.txt
- http://w3.org/
http://w3.org/ robots.txt
2、 robots.txt的语法
"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何机器人均有效,在"robots.txt"文件中, "User-agent:*"这样的记录只能有一条。
Disallow :
该项的值用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow 开头的URL均不会被robot访问到。例如"Disallow: /help"对/help.html 和/help/index.html都不允许搜索引擎访问,而"Disallow: /help/"则允许robot访问/help.html,而不能访问/help/index.html。
任何一条Disallow记录为空,说明该网站的所有部分都允许被访问,在"/robots.txt"文件中,至少要有一条Disallow记录。如果 "/robots.txt"是一个空文件,则对于所有的搜索引擎robot,该网站都是开放的。
下面是一些robots.txt基本的用法:
l 禁止所有搜索引擎访问网站的任何部分:
User-agent: *
Disallow: /
l 允许所有的robot访问
User-agent: *
Disallow:
或者也可以建一个空文件 "/robots.txt" file
l 禁止所有搜索引擎访问网站的几个部分(下例中的cgi-bin、tmp、private目录)
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
l 禁止某个搜索引擎的访问(下例中的BadBot)
User-agent: BadBot
Disallow: /
l 只允许某个搜索引擎的访问(下例中的WebCrawler)
User-agent: WebCrawler
Disallow:
User-agent: *
Disallow: /
3、 常见搜索引擎机器人Robots名字
名称 搜索引擎
- Baiduspider http://www.baidu.com
- Scooter http://www.altavista.com
- ia_archiver http://www.alexa.com
- Googlebot http://www.google.com
- FAST-WebCrawler http://www.alltheweb.com
- Slurp http://www.inktomi.com
- MSNBOT http://search.msn.com
4、 robots.txt举例
下面是一些著名站点的robots.txt:
- http://www.cnn.com/robots.txt
- http://www.google.com/robots.txt
- http://www.ibm.com/robots.txt
- http://www.sun.com/robots.txt
- http://www.eachnet.com/robots.txt
5、 常见robots.txt错误
l 颠倒了顺序:
错误写成
User-agent: *
Disallow: GoogleBot
正确的应该是:
User-agent: GoogleBot
Disallow: *
l 把多个禁止命令放在一行中:
例如,错误地写成
Disallow: /css/ /cgi-bin/ /images/
正确的应该是
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
l 行前有大量空格
例如写成
Disallow: /cgi-bin/
尽管在标准没有谈到这个,但是这种方式很容易出问题。
l 404重定向到另外一个页面:
当Robot访问很多没有设置robots.txt文件的站点时,会被自动404重定向到另外一个Html页面。这时Robot常常会以处理robots.txt文件的方式处理这个Html页面文件。虽然一般这样没有什么问题,但是最好能放一个空白的robots.txt文件在站点根目录下。
l 采用大写。例如
USER-AGENT: EXCITE
DISALLOW:
虽然标准是没有大小写的,但是目录和文件名应该小写:
user-agent:GoogleBot
disallow:
l 语法中只有Disallow,没有Allow!
错误的写法是:
User-agent: Baiduspider
Disallow: /john/
allow: /jane/
l 忘记了斜杠/
错误的写做:
User-agent: Baiduspider
Disallow: css
正确的应该是
User-agent: Baiduspider
Disallow: /css/
下面一个小工具专门检查robots.txt文件的有效性:
http://www.searchengineworld.com/cgi-bin/robotcheck.cgi
二、 Robots META标签
1、什么是Robots META标签
Robots.txt文件主要是限制整个站点或者目录的搜索引擎访问情况,而Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。具体的形式类似(见黑体部分):
<html>
<head>
<title>时代营销--网络营销专业门户</title>
<meta name="Robots" content="index,follow">
<meta http-equiv="Content-Type" CONTENT="text/html; charset=gb2312">
<meta name="keywords" content="营销… ">
<meta name="description" content="时代营销网是…">
<link rel="stylesheet" href="/public/css.css" type="text/css">
</head>
<body>
…
</body>
</html>
2、Robots META标签的写法:
Robots META标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。
INDEX 指令告诉搜索机器人抓取该页面;
FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;
Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。
这样,一共有四种组合:
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
其中
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">可以写成
<META NAME="ROBOTS" CONTENT="ALL">;
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">可以写成
<META NAME="ROBOTS" CONTENT="NONE">
要注意的是:上述的robots.txt和Robots META标签限制搜索引擎机器人(ROBOTS)抓取站点内容的办法只是一种规则,需要搜索引擎机器人的配合才行,并不是每个ROBOTS都遵守的。
目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以限制GOOGLE是否保留网页快照。例如:
<META NAME="googlebot" CONTENT="index,follow,noarchive">
表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照
- 搜索引擎与spam的戰爭
2007-03-22 15:04:13
亂世用重典,搜索引擎在与spam的長期戰爭中總是處于不利地位(這很容易理解,搜索引擎公司真正考慮搜索結果相關性和排序的只有几個人,而互聯网上整天琢磨怎么對付搜索引擎...[阅读全文] - 搜索引擎深度剖析
2007-03-22 15:04:15
2004年,作为互联网上第二大应用的搜索发生了哪些变化?年初,Google推出了区域搜索;年中,中搜和Google的桌面搜索越炒越火,搜狗则宣布启动第三代搜索引擎;年底,微软亚...[阅读全文] - 如何在搜寻结果名中名列前茅
2007-03-22 15:04:12
想象自己完成设计一个世界上最棒的吉他网站。这个网站有交互式的界面,有各式吉他从屏幕前飘过。网站里有你收集了一百多种吉他名琴的详细介绍资料,也有一系列最完整的吉他...[阅读全文] - 网络创业成功之路 – 让商业计划书去见鬼吧。
2007-03-22 15:04:16
网络创业成功之路 – 让商业计划书去见鬼吧。 前言:N年前caoz写了若干篇“网络成功之路”的垃圾文章,可能有些老朋友还记得,没错,是垃圾。任何时候,caoz回过头来看以前...[阅读全文] - 三个方面提高网站链接广泛度
2007-03-22 15:04:11
网站的 链接 广泛度(Link Popularity)在搜索引擎排名中的作用已得到广泛的认同和重视。实际上,即使你没有在 GOOGLE 上提交你的站点,但与其它网站作了链接,GOOGLE也可...[阅读全文] - 搜狐今日推第三代搜索引擎 高调入市亮杀手锏
2007-03-22 15:04:17
早在今年年初, 搜狐 宣布将在7月推出完全自主技术开发的搜索引擎,然而时至今日,一向善于市场宣传的搜狐关于新产品的发布却一直悄无声息,发布时间也从原定的7月份推到了...[阅读全文] - 动态网站的搜索引擎策略
2007-03-22 15:04:09
摘要: 动态网站丰富了网站的功能,但是对于搜索引擎来说,情况就不同了,动态页面是在用户“输入内容”或者进行“选择”时动态生成的,但是搜索引擎的“搜索机器人”无法...[阅读全文] - 网络大军掘金“搜索” 市场规模将达20亿
2007-03-22 15:04:19
继雅虎推出“ 一搜 ”、搜狐宣布7月更新搜索引擎后,搜索市场的热浪一波接一波———上周五,网易与Google达成战略全作协议,前者将在其全线改版的搜索引擎中引入Google搜...[阅读全文] - 搜索引擎排名算法新趋势
2007-03-22 15:04:08
众所周知, GOOGLE 的 PAGERANK 集页面关键词关联度(TITLE, HEADING, DESCRIPTION, ANCHOR TEXT, ALT TAG, CONTENT, KEYWORD DENSITY/PLACEMENTS, PAGESIZE)和 链接 普遍...[阅读全文] - 点击付费值不值?竞价排名带来“搜索经济”
2007-03-22 15:04:20
当你在 搜索引擎百度 输入“切换器”一词,立刻显示找到相关网页近12万篇,其中上海德讯网络系统有限公司在所有网页链接中排名第二。如果你轻点鼠标进入,德讯公司就将向百...[阅读全文] - HTML文档中小meta的大作用
2007-03-22 15:04:07
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要...[阅读全文] - 评论:google联姻百度之后
2007-03-22 15:04:21
2004年本月15日,全球最大的网络搜索引擎公司Google斥资1000万美元,收购了中国同行百度的少数股份,这起事件引起了中国搜素引擎市场的一片轰动,许多人士认为,将来中国搜...[阅读全文] - 为网站的Web Robot 设计路标
2007-03-22 15:04:06
Internet越来越酷,WWW的知名度如日中天。在Internet上发布公司信息、进行电子商 务已经从时髦演化成时尚。作为一个Web Master,你可能对HTML、Javascript、Java、 ActiveX...[阅读全文] - 国外投资划分“Google/百度”和“雅虎/3721”阵营
2007-03-22 15:04:22
ZDNet China 6月22日报道(编译:王丹/李海) 雅虎星期一推出了新的中文搜索引擎站点,上周,雅虎的对手Google刚刚向中国最大的搜索引擎公司百度注入了第一笔投资。 雅虎新...[阅读全文] - 怎样避免被搜索引擎视为作弊
2007-03-22 15:04:05
一个网站要想成功注册,它起码应具备两个条件,一是网站本身要有较好的内容和设计,二是网站没有作弊行为。这里所谓的“作弊”,是指采用一些特殊的、有悖常规的网页设计手...[阅读全文] - 商业周刊:全球搜索巨头瞄上中国市场
2007-03-22 15:04:23
...[阅读全文] - 框架型网页的优化技巧
2007-03-22 15:04:04
从一开始,框架型网站对于即使是专业的搜索引擎优化也成了一个挑战。是否该用框架技术去设计一个新网页,也已成了大家争论不休的话题。在这篇文章中,我们为你提供了一些基...[阅读全文] - Google注资百度情非得已 搜索格局突变
2007-03-22 15:04:24
在上市无望的传言下,百度选择了强有力的竞争对手Google为投资方,迅速的转变背后其实掩藏着双方的无奈。 处于媒体漩涡中的百度又一次刺激着媒体的神经,但这一次的主角却...[阅读全文] - 如何建立网站地图(site map)
2007-03-22 15:04:03
网站地图是一个网站所有 链接 的容器。它为"饥饿"的搜索引擎程序提供食物。网站地图最起码要包括您的主要网页的内容链接或者栏目链接。根据您网站的大小,页面数量的多少,...[阅读全文] - Google百度联手 谁与谁竞争
2007-03-22 15:04:25
就在本周百度宣布获得以Google为首的8家机构共计1000万美元的投资之前,一篇《Google海外市场份额超过雅虎、微软》的文章出现在互联网上——在2003年年底,3721被雅虎收购...[阅读全文]
- [博客运营] 各种漂亮的鼠标URL代码
- [搜索优化] 没有放之四海皆准的SEO技巧
- [搜索优化] 搜索引擎关键词排名优化知识完全手册
- [搜索优化] Title的写法
- [搜索优化] 百度封什么样的网站?兼谈初级SEO办法
- [搜索优化] Google排名的三大关键
- [JavaScript] ie里window的method列表
- [JavaScript] 让弹出窗口变得“体贴”一些
- [JavaScript] 点一下,首页地址添加到收藏夹
- [系统DIY] Windows操作系统十三例安装技巧
- [系统DIY] 实现Win98、WinNt、Win2000互相访问Fat32 N
- [系统DIY] Windows 罕见技巧全集大放送
- [系统DIY] 重装Windows后LILO被覆盖的解决办法


