您的位置:首页 > 编程语言 > Go语言

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

2014-05-19 00:00 716 查看
robots.txt文件可以限制抓取网页的搜索引擎漫游器对网站的访问。只有当您的网站中包含您不想让搜索引擎编入索引的内容时,您才需要使用robots.txt文件。
如果希望搜索引擎将网站上的所有内容编入索引,则不需要 robots.txt 文件(甚至连空的 robots.txt 文件也不需要)。


创建 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帮助。收藏起来学习一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: