经常被问到Google和搜索引擎是怎样运行的?一个核心问题是:Google是怎样知道一个网站的哪些部分是网站所有者想让它们显示在搜索结果中?网站内容发布者能够指定部分网站不被搜索吗?好消息是,网站内容发布者可以使用很多方法控制你们的网页在搜索结果中的显示。
文件 robots.txt是这里的主角,该文件已经成为业界标准好多年了。它让一个网站所有者控制搜索引擎访问他们的网站。你可以用robots.txt不同层次地控制访问,比如让搜索引擎只访问整个网站,单个目录,特定类型的网页,或者某一网页。有效地使用robots.txt能让你更好地控制对你的网站 的搜索,但是如何达到这一目标不是很显而易见的。这是我们关于如何使用robots.txt来控制对你的网站的存取的一系列帖子的第一篇。
文件robots.txt有什么用?
互联网真的很大。你只是不相信它是怎样地无穷无尽地大。你也许认为维护网站耗费好多精力,但是那只是"网海一粟"。 (对Douglas Adams致以诚挚的道歉)
象Google这样的搜索引擎会读取所有信息并对这些信息索引,索引是为了让一个搜索引擎对一些用户查询显示与之相匹配的网页。
为了做到这一点谷歌的一些电脑不断抓取网站,他们有一个谷歌所知道的所有网站的名单,他们阅读每个网站的所有网页。所有这些机器被称为Googlebot。一般来说,你是愿意让Googlebot访问你的网站,这样你的网页才可以被人们在谷歌搜到。
然 而,对你的网站上的某几页,你可能不想让谷歌索引。举例来说,你可能有一个目录包含内部日志,或者你可能有些新闻文章只能在支付费用后才能访问。你可以通 过创建一个文本文件名为robots.txt的文件并把它放置在根目录下来告诉谷歌爬虫不要去抓取他们。文件robots.txt包含了一个搜索引擎不能 访问的页面的清单。创建一个robots.txt是直截了当的,它允许你用一套精密分层控制搜索引擎对你网站的访问。
精细控制
除 了robots.txt文件让您为你的一大堆文件简洁明了给出指令外,你也可以利用robots META 标签来精确控制对你的单个网页的访问。为了做到这一点,你只需要对你的HTML网页添加特定的META标签来控制怎样对单个网页索引。归而总之, robots.txt和META标签让你更灵活地表达复杂的访问规定变得比较容易。
一个简单的例子
这里是一个简单的例子,它是一个robots.txt文件。
User-Agent: GooglebotDisallow: /logs/
User -Agent行指明下面部分的一套指令只是为Googlebot。所有主要搜索引擎都阅读并听从你放在robots.txt的指令。只要你愿意,你可以为 不同的搜索引擎指定不同的规则。Disallow行告诉Googlebot不能进入你网站的档案日志子目录。你放在日志目录中的内容将不会显示在谷歌搜索 结果中。
禁止访问单个文件
如果你有一篇只有注册用户才能访问的文章,你一定想让它排除在谷歌的结果之外。为了做到这一点,你只需要在该文章对应的HTML文件中添加一个META标签。该文件的代码的最开始有点像:
...
这段代码会阻止谷歌索引此文件。标签META特别有用,如果你只被允许编辑单个文件,而不是全站的robots.txt。他们还允许你逐页地指定复杂的访问控制规定。