字符串组成,即你愿意遵循的指示和应用于它的指示。不用担心你需要知道在web中漫游的所有robot的用户代理字符串,因为你可以用通配符* 来应用所有的robots。以下是一个记录的例子:
User-agent: *
Disallow: /XYZfinances.asp
Disallow: /admin
Disallow: /news/update.asp
除了用户代理字符串/通配符,只需要包含一个disallow 命令。这一个简单的例子就显示了你将会需要的全部可能性。它表明没有用户代理字符串能够进入 XYZfinances.asp ,用这一行表示:
Disallow: /XYZfinances.asp
或者说用户代理字符串不能进入管理文件夹及其下面的所有文件夹:
Disallow: /admin
或者是新闻文件夹中的update.asp文件,如果新闻文件夹中所有其它内容都可以被索引的话。
在一条记录中你愿意包含多少用户代理字符串的名字都可以。同样在任何一个robots.txt 文件中,你愿意包含多少条记录都可以(只要用一个或多个空行分隔开这些记录就可以)。
每一条单独的记录都可以为一个或多个robots提供不同的指示。但是为那些没有用用户代理字符串所命名的引擎增加一个通配符规则是明智的。最流行的选择是维护用一条记录和一个代表用户代理字符串的通配符所表示一个方案。一个有196个用户代理的清单可参考
http://info.webcrawler.com/mak/projects/robots/robots.html。
普遍认为,robots应该忽略大小写和版本号。要记住这是大多数商业搜索引擎的robots作者们的意见,因为你不想用那些没用的页面来使用户感到苦恼。但是,虽然在命令行中你可以不必考虑大小写,但是必须保证在键入URL时是准确无误的。虽然Windows NT 对文件名和路径名的大小写无所谓,但并不是所有的平台都如此。
你希望包含进去的其它东西就只有注释了,这些使用UNIX bourne shell 协定,如用#符号表示在hash 符号前面空白,和一行中可以被忽略的剩余部分。如果一行中只包含一个注释的话,它就可以完全被忽略,虽然它在记录之间的作用与空行并不相同。
现在来看看两个最终的例子。
例1
# Don''t come to this site
User-agent: *
Disallow: / # Disallows anything
例2
# robots.txt for XYZcorp
# webmaster: John Doe contact JohnD@xyzcorp.com
User-agent: * # Applies to all robots except next record
Disallow: /store/order/ # No robot should visit any URL starting with
/store/order/
Disallow: /admin/ # Disallow any pages in the admin folder
Disallow: /world_domination.asp # Disallow world_domination.asp
好,这就是有关robot.txt文件的全部内容。下面介绍如何使用 < META >标记 。
使用一个< META > robot 标记
同样,你还是不能保证一个robot 会完全遵守< META >标记中的指示,但是对商业搜索引擎来说还是十分有效的。< META >标记必须包含在一个文件的< HEAD > 部分。他们工作的原理是告诉robot 是否可以对其中有这个标记的页面进行索引,是否可以跟随页面上或其下的文件夹中的任何链接。
同样,语法非常简单。第一个例子是:
< META NAME="robots" CONTENT="noindex" >
这行代码告诉 robot不要索引这一页。
下一个例子:
< META NAME="robots" CONTENT="nofollow" >
允许robot索引这一页,但是规定它不能够跟随这一页上的任何链接。如果你想将二者都禁止,可以使用:
< META NAME="robots" CONTENT="noindex, nofollow" >
这表示不要索引这一页,也不要跟随这页上的任何链接。但是,还有一个更简单的方法:
< META NAME="robots" CONTENT="none" >
还是表示不要索引这一页,或跟随这页上的任何链