怎样正确的配置robots.txt

作者: Robin 分类: SEO 发布时间: 2010-04-05 00:40

robots.txt 文件限制抓取网络的搜索引擎漫游器对您的网站的访问。这些漫游器是自动的,它们在访问任意网站的网页之前,都会查看是否存在阻止它们访问特定网页的 robots.txt 文件。(虽然某些漫游器可能会以不同的方式解释 robots.txt 文件中的指令,但所有正规的漫游器都会遵循这些指令。然而,robots.txt 不是强制执行的,一些垃圾信息发送者和其他麻烦制造者可能会忽略它。因此,我们建议对机密信息采用密码保护。)

只有当您的网站中包含您不想让搜索引擎编入索引的内容时,才需要使用 robots.txt 文件。如果您希望搜索引擎将网站上的所有内容编入索引,则不需要 robots.txt 文件(甚至连空的 robots.txt 文件也不需要)。

尽管 搜索引擎不会抓取 robots.txt 拦截的网页内容或将其编入索引,但如果我们在网络上的其他网页中发现这些内容,我们仍然会将这些网页的网址编入索引。因此,网页网址及其他公开的信息,如指向该网站的链接中的定位文字或开放式目录管理系统 (blog.xunbin.com) 中的标题,有可能会出搜索结果中。
为了能使用 robots.txt 文件,您必须要有对您域的根目录的访问权限(如果您不能确定是否有该权限,请与您的网络托管商核实)。如果您没有对域的根目录的访问权限,可以使用 robots 元标记来限制访问。
要完全阻止一个网页的内容列在 网络索引中(即使有其他网站链接到此网页),可使用 noindex 元标记。只要 bot 提取该网页,便会看到 noindex 元标记并阻止该网页显示在网络索引中。
最简单的 robots.txt 文件使用两条规则:

    * User-agent:应用以下规则的漫游器
    * Disallow:要拦截的网址

这两行会视为文件中的一个条目。您可根据需要加入任意多个条目。您可在一个条目中加入多个 Disallow 行和多个 User-agent。

robots.txt 文件的各个部分都是独立的,而不是在先前部分的基础上构建的。例如:

User-agent: *
Disallow: /文件夹 1/User-Agent: Googlebot
Disallow: /文件夹 2/

在本例中,只有符合 /文件夹 2/ 的网址才会被 Googlebot 禁止。
User-agent 和漫游器

User-agent 是一种特定的搜索引擎漫游器。网络漫游器数据库列出了许多常用的漫游器。您可以将某一条目设置为适用于某一特定漫游器(以显示名称的方式列出)或适用于所有漫游器(以标记为星号的方式列出)。适用于所有漫游器的条目应为以下格式:

User-agent: *

Google 使用多种不同的漫游器 (User-agent)。我们的网页搜索所使用的漫游器为 Googlebot。Googlebot-Mobile 和 Googlebot-Image 等其他漫游器也会遵循您为 Googlebot 所设置的规则,但您也可以为这些特定的漫游器设置特定的规则。
拦截 User-agent

Disallow 行列出的是您要拦截的网页。您可以列出某一特定的网址或模式。条目应以正斜线 (/) 开头。

    * 要拦截整个网站,请使用正斜线。

      Disallow: /

    * 要拦截某一目录以及其中的所有内容,请在目录名后添加正斜线。

      Disallow: /无用目录/

    * 要拦截某个网页,请列出该网页。

      Disallow: /私人文件.html

    * 要从 Google 图片中删除特定图片,请添加以下内容:

      User-agent: Googlebot-ImageDisallow: /图片/狗.jpg

    * 要从 Goo le 图片中 除您网站上的所有图片,请执行以下指令:

      User-agent: Googlebot-ImageDisallow: /

    * 要拦截某一特定文件类型的文件(例如 .gif),请使用以下内容:

      User-agent: Googlebot
      Disallow: /*.gif$

    * 要阻止抓取您网站上的网页,而同时又能在这些网页上显示 Adsense 广告,请禁止除 Mediapartners-Google 以外的所有漫游器。这样可使网页不出现在搜索结果中,同时又能让 Mediapartners-Google 漫游器分析网页,从而确定要展示的广告。Mediapartners-Google 漫游器不与其他 Google User-agent 共享网页。例如:

      User-agent: *
      Disallow: /

      User-agent: Mediapartners-Google
      Allow: /

请注意,指令区分大小写。例如,Disallow: /junk_file.asp 会拦截 http://www.example.com/junk_file.asp,却会允许 http://www.example.com/Junk_file.asp。Googlebot 会忽略 robots.txt 中的空白内容(特别是空行)和未知指令。

Googlebot 支持通过 robots.txt 文件提交站点地图文件。
模式匹配

Googlebot(但并非所有搜索引擎)遵循某些模式匹配原则。

    * 要匹配连续字符,请使用星号 (*)。例如,要拦截对所有以 private 开头的子目录的访问,请使用以下内容:

      User-agent: Googlebot
      Disallow: /private*/

    * 要拦截对所有包含问号 (?) 的网址的访问(具体地说,这种网址以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串),请使用以下内容:

      User-agent: Googlebot
      Disallow: /*?

    * 要指定与某个网址的结尾字符相匹配,请使用 $。例如,要拦截以 .xls 结尾的所有网址,请使用以下内容:

      User-agent: Googlebot
      Disallow: /*.xls$

      您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 代表一个会话 ID,那么您可能希望排除包含 ? 的所有网址,以确保 Googlebot 不会抓取重复网页。但是以 ? 结尾的网址可能是您希望包含在内的网页的版本。在此情况下,您可以对您的 robots.txt 文件进行如下设置:

      User-agent: *
      Allow: /*?$
      Disallow: /*?

      Disallow: /*? 指令会阻止包含 ? 的所有网址(具体地说,它将拦截所有以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串的网址)。

      Allow: /*?$ 指令将允许以 ? 结尾的任何网址(具体地说,它将允许所有以您的域名开头、后接任意字符串,然后接 ?,? 之后不接任何字符的网址)。

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云