使用 robots.txt 文件拦截或删除Google搜索蜘蛛抓取网页

搜索引擎 欲思 1评论

robots.txt文件可以限制抓取网页的搜索引擎漫游器对网站的访问。只有当您的网站中包含您不想让搜索引擎编入索引的内容时,您才需要使用robots.txt文件。

如果希望搜索引擎将网站上的所有内容编入索引,则不需要 robots.txt 文件(甚至连空的 robots.txt 文件也不需要)。

使用 robots.txt 文件拦截或删除Google搜索蜘蛛抓取的网页

创建 robots.txt 文件

最简单的robots.txt文件使用以下两条规则:

1、User-agent:应用以下规则的漫游器

2、Disallow:要拦截的网址

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

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

User-agent: *
Disallow: /folder1/
User-Agent: Googlebot
Disallow: /folder2/

在本示例中,只有与 /folder2/ 匹配的网址才不会被 Googlebot 抓取。

User-agent 和漫游器

User-agent是一种特定的搜索引擎漫游器。可以将某一条目设置为适用于某一特定漫游器(以显示名称的方式列出)或适用于所有漫游器(以标记为星号的方式列出)。应用于所有漫游器的条目应与下列条目类似:

User-agent: *

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

拦截 User-agent

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

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

Disallow: /

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

Disallow: /无用目录/

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

Disallow: /私人文件.html

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

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

要从 Google 图片中删除您网站上的所有图片,请使用以下内容:

User-agent: Googlebot-Image
Disallow: /

要拦截特定类型的文件(如 .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.yusi123.com/junk_file.asp,但允许 http://www.yusi123.com/Junk_file.asp。Googlebot 会忽略 robot.txt 中的空格(以及空行)和未知指令。

Googlebot支持通过robots.txt文件提交Sitemap文件。

模式匹配

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

保存robots.txt文件,将文件保存到您网站的顶级目录下。robots.txt 文件必须位于域的根目录中并命名为“robots.txt”。位于子目录中的 robots.txt 文件无效,因为漫游器只在域的根目录中查找此文件。

此工具只为Google User-agent(如Googlebot)提供结果。

其他漫游器可能无法以相同的方式解译robots.txt文件。例如,Googlebot 支持标准 robots.txt 协议的扩展定义。它可以解析Allow:指令以及某些模式匹配。因此,尽管工具会将包含这些扩展名的行显示为已解析,但请切记,这只适用于Googlebot,而并不一定适用于可能抓取您网站的其他漫游器。

注:原文大部分摘自Google帮助。收藏起来学习一下。

转载请注明:欲思博客 » 使用 robots.txt 文件拦截或删除Google搜索蜘蛛抓取网页

如果你觉得这篇文章或者我分享的主题对你有帮助,请支持我继续更新网站和主题 !捐赠本站
喜欢 (2)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 优化必须做的事情
    arm2015-04-23 22:36 回复