如何使用robots.txt

发表者: 马超, 石仁赫

robots.txt 文件对抓取网络的搜索引擎漫游器(称为漫游器)进行限制。这些漫游器是自动的,在它们访问网页前会查看是否存在限制其访问特定网页的 robots.txt 文件。如果你想保护网站上的某些内容不被搜索引擎收入的话,robots.txt是一个简单有效的工具。这里简单介绍一下怎么使用它。

如何放置Robots.txt文件


robots.txt自身是一个文本文件。它必须
位于域名的根目录中并 被命名为"robots.txt"。位于子目录中的 robots.txt 文件无效,因为漫游器只在域名的根目录中查找此文件。例如,http://www.example.com/robots.txt 是有效位置,http://www.example.com/mysite/robots.txt 则不是。

这里举一个
robots.txt的例子:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~name/

使用 robots.txt 文件拦截或删除整个网站

要从搜索引擎中删除您的网站,并防止所有漫游器在以后抓取您的网站,请将以下 robots.txt 文件放入您服务器的根目录:

User-agent: *
Disallow: /

要只从 Google 中删除您的网站,并只是防止 Googlebot 将来抓取您的网站,请将以下 robots.txt 文件放入您服务器的根目录:
User-agent: Googlebot
Disallow: /

每个端口都应有自己的 robots.txt 文件。尤其是您通过 http 和 https 托管内容的时候,这些协议都需要有各自的 robots.txt 文件。例如,要让 Googlebot 只为所有的 http 网页而不为 https 网页编制索引,应使用下面的 robots.txt 文件。

对于 http 协议 (http://yourserver.com/robots.txt):

User-agent: *
Allow: /

对于 https 协议 (https://yourserver.com/robots.txt):

User-agent: *
Disallow: /

允许所有的漫游器访问您的网页
User-agent: *
Disallow:
(另一种方法: 建立一个空的 "/robots.txt" 文件, 或者不使用robot.txt。)

使用 robots.txt 文件拦截或删除网页

您可以使用 robots.txt 文件来阻止 Googlebot 抓取您网站上的网页。 例如,如果您正在手动创建 robots.txt 文件以阻止 Googlebot 抓取某一特定目录下(例如,private)的所有网页,可使用以下 robots.txt 条目:
User-agent: Googlebot
Disallow: /private
要阻止 Googlebot 抓取特定文件类型(例如,.gif)的所有文件,可使用以下 robots.txt 条目:
User-agent: Googlebot
Disallow: /*.gif$
要阻止 Googlebot 抓取所有包含 ? 的网址(具体地说,这种网址以您的域名开头,后接任意字符串,然后是问号,而后又是任意字符串),可使用以下条目:
User-agent: Googlebot
Disallow: /*?
尽管我们不抓取被 robots.txt 拦截的网页内容或为其编制索引,但如果我们在网络上的其他网页中发现这些内容,我们仍然会抓取其网址并编制索引。因此,网页网址及其他公开的信息,例如指 向该网站的链接中的定位文字,有可能会出现在 Google 搜索结果中。不过,您网页上的内容不会被抓取、编制索引和显示。

作为网站管理员工具的一部分,Google提供了robots.txt分析工具。它可以按照 Googlebot 读取 robots.txt 文件的相同方式读取该文件,并且可为 Google user-agents(如 Googlebot)提供结果。我们强烈建议您使用它。 在创建一个robots.txt文件之前,有必要考虑一下哪些内容可以被用户搜得到,而哪些则不应该被搜得到。 这样的话,通过合理地使用robots.txt, 搜索引擎在把用户带到您网站的同时,又能保证隐私信息不被收录。

Labels:



13个评论:

声明:以下评论仅代表发表者观点。

学习,学习,再学习
谷歌的东西很好,很强大

不知道Google的管理员们能否看到,不过我觉得Google的认证方法还需要改进。

我最近筹备了一个小公司,在筹备阶段,我自己制作了一个lezhongxing.wordpress.com.cn的网站(相当于wordpress.com.cn的一个子站点),后来公司申请了自己的域名,建立了自己的网站www.lzxly.net(这也是使用某个企业网的模板而生成的网站)。于是我想对原先的域名进行删除操作,并且把现在的域名www.lzxly.net加入到Google的列表中,却发现我根本无从下手。无论是添加元标记还是放置robots.txt的,对于我这种情况都是不适用的:
1 我的网站是靠母网站里面固定的框架自动生成的,我无法对源代码进行任何操作,所以,我无法添加任何元标记让Google的引擎对搜索记录进行添加或删除的操作;
2 Google对“网站所有者”的理解有问题,网站的所有者并非是对网站拥有最高权限的那个管理员。所以像我这种情况我根本没法添加任何文件到根目录。所以,robots.txt的方法也不行。

我本人使用Google已经多年,它已经是我生活的一部分,我对它的依赖和期待让我写下了上面的文字。希望Google能够越来越好。

PS:怀念www.google.com的日子……

希望Google的管理员们能够看到我的话语,并且能够帮我解决问题。

非常非常非常非常感谢~~

一般来说,即使你的网站是使用模板来生成的,你仍旧可以控制模板文件。我建议您搜索一下互联网,看看如何更改您的模板以使你的所有或单个文章301重定向到新网站。

学习的帖子,不错!

对这个robotos还是不太熟悉,再研究一下。

对于robots.txt我有2个问题想请教一下:1.在文件里,有空格和没空格有什么区别吗?
2.单词的大小写有规定吗?
希望能得到斑竹的回复,谢谢

我加了robots.txt但是发现好像没有生效,不知道是不是google的缓存太长还是怎么回事,不想让客户端看到的东西,在google的网页快照里还存在。如果管理员看到了请给我回复一下,谢谢!yyongnet@gmail.com

有个问题请教一下:一个网站是动态的,但是用的是伪静态形式的html网址(静态网址A),而且网站中大量的网

址在google和百度上是投了关键词排名的广告的,但现在我又重新生成了一套伪静态网站B,,因为以前静态网址A

太长了,现在的问题是我不想更改大量的关键词竞价网址a,也就是现在网站上分别有两个伪静态网址指向一个网

页,请教谷海一粟这种情况会被当做是作弊么?如果我用robots.txt限制搜索引擎访问伪静态网址A系统,这样会

不会因为a和b指向同一个物理文件也导致新静态网址b受到牵连呢?

关于"googler"的静态和伪静态网址的问题,如果你的本意不是为了作弊的话,请不必担心。robots.txt文件不会使任何一个不被它里面的模式覆盖的url不被索引。也就是说,如果A和B指向同一个文件,A被robots.txt覆盖,url A就不会出现在我们的索引中。B不被robots.txt覆盖,B以及B的内容(也就是A的内容)就可能被我们索引。

回“黑白灰”:
请阅读:
http://www.google.com/support/webmasters/bin/answer.py?hl=cn&answer=40362
注意这句话:
”网址区分大小写。例如:Disallow:/private_file.html 会拦截 http://www.example.com/private_file.html,但不会拦截 http://www.example.com/Private_File.html。“

不要随便加空格,尤其不能在模式里加空格。

但我修改了了robot.txt后它说要上传到根目录 用的是blogger 怎么上传?

学习了,我的网站就是在Google的学习中建成的,呵呵

如何改进这个 robots.txt 呢?比如要蜘蛛 几个小时之后再来。
或者 在 几点之间来。
或者之类的。

发表评论



Copyright © 2007 Google Inc. All rights reserved.
隐私政策 - 服务条款