google SE

搜索引擎在搜索结果中向用户提供内容时,通常需要经历两个主要阶段:抓取编入索引。抓取是指搜索引擎抓取工具访问公开网页的过程。一般来说,抓取工具会像用户一样,浏览网页并追踪网页上的链接。编入索引是指汇总网页的相关信息,以便在搜索结果中供用户查看(“内容显示”)。

抓取与编入索引之间的区别十分关键。这两者很容易混淆,而这会决定网页是否出现在搜索结果中。请注意,Google 可能会抓取网页但不将其编入索引;而在极少数情况下,Google 即使未抓取网页,也可能将其编入索引。此外,要正确阻止将网页编入索引,必须允许对网址进行抓取或尝试抓取。

这一系列文档中描述的方法可帮助您控制抓取与编入索引的方方面面,这样您就可以确定抓取工具如何访问您的内容,以及如何在搜索结果中将您的内容呈现给其他用户。

在某些情况下,您应该禁止抓取工具访问服务器的部分区域。例如以下情况:访问相关网页会占用有限的服务器资源;网址和链接结构方面的问题会产生无限数量的网址(如果这些网址都需要追踪)。

在某些情况下,您应该控制将内容编入索引的方式以及在搜索结果中显示内容的方式。例如,您可能根本不希望将自己的网页编入索引,或者希望这些网页在显示时不包括摘要(搜索结果中标题下方显示的网页摘要);也可能不希望用户能够查看网页的缓存版本。

警告:这些方法都不适合控制对私人内容的访问。如果某些内容不应向大众公开,则必须采用合适的身份验证机制。您可以访问我们的帮助中心,了解有关禁止 Google 访问或显示私人内容的详情。

注意:Google 即使从未抓取某个网页,仍可能将其编入索引,因为这两个过程是相互独立的。如果系统可以获取关于某个网页的足够多的信息,并认定该网页与用户相关,那么搜索引擎算法就可能在从未直接访问该网页内容的情况下,将其收录到搜索结果中。尽管如此,您还是可以通过一些简单的机制(如漫游器元标记)确保网页不会被编入索引。

返回页首

控制抓取

robots.txt 文件是文本文件,可让您指定 Google 抓取您的网站时采用的方式。在抓取某个网站前,抓取工具通常会向服务器请求 robots.txt 文件。您可以在 robots.txt 文件中针对特定(或所有)抓取工具加入包含各种命令(“指令”)的部分,向这些工具说明网页中的哪些部分可以抓取,哪些部分不能抓取。

robots.txt 文件的位置

robots.txt 文件必须位于相应网站主机的根目录下才能生效。例如,为了控制 Google 对 http://www.example.com/ 下所有网址的抓取,robots.txt 文件必须位于 http://www.example.com/robots.txt。可以将 robots.txt 文件放置在子网域(如http://website.example.com/robots.txt)或非标准端口 (http://example.com:8181/robots.txt) 上,但不可将其放置在子目录 (http://example.com/pages/robots.txt) 中。有关放置位置的详情,请参阅规范

返回页首

robots.txt 文件的内容

您几乎可以使用任意文本编辑器创建 robots.txt 文件。应选择能够创建标准 ASCII 或 UTF-8 文本文件的文本编辑器;请勿使用文字处理软件,因为这些软件通常会将文件保存为专有格式,而且可能会向文件中添加非法字符(如弯引号),从而导致抓取工具出现问题。常规 robots.txt 文件的内容可能如下所示:

User-agent: Googlebot
Disallow: /nogooglebot/
User-agent: *
Disallow: /onlygooglebot/
Sitemap: http://www.example.com/sitemap.xml

假设此文件位于 http://example.com/robots.txt,它指定了以下指令:

  1. 任何 Googlebot 抓取工具都不能抓取文件夹 http://example.com/nogooglebot/ 及其中包含的所有网址。包含针对 Googlebot 的指令的部分从“User-agent: Googlebot”这一行开始。

  2. 其他抓取工具都不能抓取文件夹 http://example.com/onlygooglebot/ 及其中包含的所有网址。针对所有未以其他方式指定的抓取工具的部分从“User-agent: *”这一行开始。

  3. 网站的 Sitemap 文件位于 http://www.example.com/sitemap.xml。

有关详情,请参阅 robots.txt 规范

返回页首

robots.txt 文件示例

下面提供了一些简单的示例,可帮助您开始了解如何处理 robots.txt 文件。

允许抓取所有内容

User-agent: *
Disallow:

User-agent: *
Allow: /

以上示例是有效的,但实际上如果您希望 Google 抓取您的所有内容,则根本就不需要 robots.txt 文件(而且我们也建议您不要使用该文件)。如果您没有 robots.txt 文件,请确认您的托管商在收到网址请求时会返回相应的 404“未找到”HTTP 结果代码。

禁止抓取整个网站

User-agent: *
Disallow: /

请注意,在某些情况下,Google 即使未抓取网站的网址,仍可能将其编入索引。

禁止抓取网站的某些部分

User-agent: *
Disallow: /calendar/
Disallow: /junk/

请注意,您不应使用 robots.txt 禁止访问私人内容,而应使用合适的身份验证。对于 robots.txt 文件禁止抓取的网址,Google 仍可能在不进行抓取的情况下将其编入索引,而且任何人都可以查看 robots.txt 文件,这可能会透露您的私人内容的位置。

允许使用某一抓取工具

User-agent: Googlebot-news
Disallow:
User-agent: *
Disallow: /

允许使用除某一抓取工具以外的其他所有抓取工具

User-agent: Unnecessarybot
Disallow: /
User-agent: *
Disallow:

返回页首

控制索引编入与内容显示

使用抓取网页时一同发送的简单信息,可以逐页控制编入索引。要控制编入索引,您可使用以下任一方法:

  1. 可嵌入 HTML 网页顶部的特殊元标记

  2. 可与网站提供的所有内容一同发送的特殊 HTTP 标头元素

注意:为了让抓取工具能找到元标记或 HTTP 标头元素,抓取工具必须能够抓取相关网页,因此不能使用 robots.txt 文件禁止其进行抓取。

使用漫游器元标记

robots 元标记可嵌入 HTML 网页顶部的 <head> 部分,例如:

<!DOCTYPE html>
<html><head>
<meta name="robots" value="noindex" />...

在这个示例中,robots 元标记指定了任何搜索引擎均不得将此特定网页 (noindex) 编入索引。robots 名称适用于所有搜索引擎。如果您想禁止或允许某个特定搜索引擎,则可以在 robots 的位置指定用户代理的名称。

有关详情,请参阅 robots 元标记规范

返回页首

使用 X-Robots-Tag HTTP 标头

在某些情况下,搜索引擎也可以抓取非 HTML 内容(如文档文件)并将其编入索引。在这种情况下,无法向单个网页中添加元标记,但是可与响应信息一同发送 HTTP 标头元素。此标头元素并不会直接向用户显示,因为它并不直接作为内容的一部分。

X-Robots-Tag 包含在其他 HTTP 标头标记中。您可以查看 HTTP 标头来查看这些内容,例如使用“curl”:

$ curl -I "http://www.google.com/support/forum/p/Webmasters/search?hl=en&q=test"
HTTP/1.1 200 OK
X-Robots-Tag: noindex
Content-Type: text/html; charset=UTF-8(...)

有关详情,请参阅 X-Robots-Tag 规范

返回页首

使用入门

大多数网站不需要对抓取、编入索引或内容显示设置限制,所以您很容易上手:无需任何操作。

如果您希望 Google 将您的网页编入索引,则无需修改这些网页。如果允许搜索引擎抓取所有网址,则无需创建 robots.txt 文件。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容