控制搜索引擎访问和索引你的网站



原文:Controlling how search engines access and index your website
发表于: 2007年1月26日 上午11:36:00

我 经常被问到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: Googlebot
Disallow: /logs/
User -Agent行指明下面部分的一套指令只是为Googlebot。所有主要搜索引擎都阅读并听从你放在robots.txt的指令。只要你愿意,你可以为 不同的搜索引擎指定不同的规则。Disallow行告诉Googlebot不能进入你网站的档案日志子目录。你放在日志目录中的内容将不会显示在谷歌搜索 结果中。

禁止访问单个文件

如果你有一篇只有注册用户才能访问的文章,你一定想让它排除在谷歌的结果之外。为了做到这一点,你只需要在该文章对应的HTML文件中添加一个META标签。该文件的代码的最开始有点像:
<html>
<head>
<meta name="googlebot" content="noindex">
...
这段代码会阻止谷歌索引此文件。标签META特别有用,如果你只被允许编辑单个文件,而不是全站的robots.txt。他们还允许你逐页地指定复杂的访问控制规定。

了解更多

你可以在http://www.robotstxt.org/谷歌的站长帮助中心找到更多有关robots.txt的更多有用信息,包括:

我们也在我们的站长博客 里写了一些关于robots.txt的帖子,也许对你有用。例如:

这里还有一个主要搜索引擎使用的机器人的有用清单:http://www.robotstxt.org/wc/active/html/index.html

下次… …

即将推出:关于详述robots和metatags使用的帖子,和关于一些对常见情况的具体例子。

    Labels:



    21个评论:

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

    请问在robots.txt中加入
    SITEMAP: http://www.xiaojb.com/sitemap.xml
    是否可以让支持sitemap协议的spider来抓sitemap。

    另外,站长工具中robots.txt提示: 行 6 : SITEMAP: http://www.xiaojb.com/sitemap.xml 检测到无效的 Sitemap 引用
    请问该如何用robots.txt引导spider抓sitemap。
    谢谢

    为什么我的站点的robots.txt快10天没有更新了,我的robots改动很大啊。
    在网站管理员工具里边,robots.txt的状态提示是200,是正常的。

    对新手用途比较有用

    您好,
    这个robots.txt对于我来说,没有多少用处,因为我希望GG能把我所有页面都收录。但是我有一个问题,比如GG的一个IP是:66.249.89.99,如果我在GG里写:site:66.249.89.99,就能搜索出来这个IP下的几个页面,事实上,这个是“补充材料”,也就是说“重复页面”,怎么能够是GG判断域名和IP之间的重复呢?
    盼回复~
    Jiafei

    关于robots.txt中加入sitemap信息的问题,请参阅http://www.google.cn/support/webmasters/bin/answer.py?answer=64748&query=robots.txt+sitemap&topic=&type=。
    建议您通过网站管理员工具帐户提交 Sitemap,如此可以确保 Sitemap 处理无误,并获得关于您网站的其他统计信息。

    关于Google的漏洞问题,我实在看不出漏洞在哪里。尽管如此,还是谢谢你的提示。

    关于robots.txt的改动更新问题,请耐心等待Google下一次抓取你的网站。

    如果您急需从 Google 索引中删除内容并且无法等到我们下次抓取网站,可以访问http://www.google.com/support/webmasters/bin/answer.py?answer=61062&ctx=sibling

    有没有办法在robots.txt里面写不要收录含有IP地址URL?
    如果没有办法屏蔽掉,那么对排名会不会有一定的影响?

    对于IP和域名同时显示在Google搜索结果中的问题,主要原因是你的网页或其他人的网页中指向你的链接是含IP的URL. Google会认为这是一种内容重复.在显示结果时只显示其中之一.对你的排名是有一点影响的。主要原因是,你的反向链接被分流了。你应该把你的网页中的所有含有IP的URL都用域名来代替,并想办法让你网站的外链都指向你的含有域名的URL。

    谷海一粟 说...
    对于IP和域名同时显示 ……
    -----------------------
    谢谢回复
    对于这个问题,如果别人恶意提交IP 到GG的索引里面,那么被提交的网站排名肯定会受到影响了吧?!那是否有办法避免这个问题呢?

    这种恶意递交毫无意义。对你的已有排名和流量不会造成任何影响。我所提醒你的是,在发布你的网站时,不要既发布域名,又发布IP,因为这会对你的网站的声誉造成分流。

    一直不太了解GOOGLE的SITEMAP作用到底有多大?

    谷海一粟 说...
    这种恶意递交毫无意义...
    --------------------------
    谢谢,不过您上个留言说的是,含IP的链接会把含域名的网页的反向链接给分流了,这样就导致有重复内容的现象出现。“网站管理员工具”是否可以把含IP的链接给过滤掉呢?

    谷海一粟 说...
    这种恶意递交毫无意义
    ---------------------
    如果不是提交,而是做链接呢!如果大量来做一些含有IP的链接,那么Google如何来防止这种恶意攻击呢?

    恶意递交IP链接而造成的所谓分流其实原先并不存在。对你的网站来说,其实是你的竞争对手递交的IP链接给你增加了流量,然后的分流并不会对你网站的总流量造成任何影响。Google站长工具不能够把这些IP URL给去除,但是大多数情况下,Google不会去索引这些IP URL。即使索引也不会很多。所以你根本不必担心。

    非常感谢回复!
    有一个英文站点收录3W个含有IP的URL。
    另外一个中文站点收录4W个含有IP的URL。
    这两个站点收录域名数量都是24W左右。
    不知道这算不算多?

    请教一个关于 已拦截网址 的问题
    在Google Adsense报告 网站诊断中,显示一个网址被拦截,拦截原因为:Robots.txt文件。我的Robots文件内容为:
    User-agent:*
    Disallow:/no
    Disallow:*.htm

    网页文件后缀为:.html ,被提示拦截的网址不在被禁止的:Disallow:/no中,请问是什么原因导致出现上述提示。 谢谢!

    请注意这两行:
    Disallow:/no
    Disallow:*.htm

    第一行表示所有以no开头的目录(和文件)都是禁止访问的。也就是说,如果你的网站是foo.com, 那么所有和foo.com/no*匹配的网页都不会被索引。

    相应地,第二行表示所有含有.htm的网页都不会被索引。例如,foo.com/abc.htm和foo.com/cde.html都不会被索引。

    我不知道你究竟要禁止访问哪些网页,但是第二行看上去应该是:
    Disallow:*.htm$

    首佳博客: 你的问题并不普遍,我从你的问题中看不出为什么会产生那样的现象.建议你访问Google的索引帮助讨论组,把你所看到的错误给予详细描述.

    行 8 : Sitemap: http://www.ah8.com.cn/sitemap.xml 检测到无效的 Sitemap 引用

    我的也有此问题出现 郁闷

    关于中文中的“检测到无效的Sitemap引用”错误,确实是是webmaster console的bug。如果你选择英文界面时没有错误报告,说明你的Sitemap没有错误。谢谢你们的报告,我们正在更改。

    发表评论



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