关于蜘蛛的屏蔽

有些时候我们会遇到这样的困难:我们原本不想被搜索引擎收录的网站后台地址却被搜索引擎“无情”的收录,这样只要在Google里输入一个“后台、管理site:www.soumore.com”,自己的后台地址就会显露无疑,因此网站安全性也无从谈起。遇到这样的情况时,我们如何阻止搜索引擎收录我们不想被收录的文件呢?

怎样屏蔽蜘蛛的抓取,我们常用的办法有两个,一个是编辑robots.txt文件,另外一个是在不想被收录的页面头部放置META NAME="ROBOTS"标签。

所谓的robots.txt文件,是每一个搜索引擎到你的网站之后要寻找和访问的第一个文件,robots.txt是你对搜索引擎制定的一个如何索引你的网站的规则。通过这个文件,搜索引擎就可以知道在你的网站中,哪些文件是可以被索引的,哪些文件是被拒绝索引的。

在很多网站中,站长们都忽略了使用robots.txt文件。因为很多站长都认为,自己的网站没有什么秘密可言,而且自己也不太会使用robots.txt的语法,因此一旦写错了会带来更多的麻烦,还不如干脆不用。

其实这样的做法是不对的。在前面的文章中我们知道,如果一个网站有大量文件找不到的时候(404),搜索引擎就会降低网站的权重。而robots.txt作为蜘蛛访问网站的第一个文件,一旦搜索引擎要是找不到这个文件,也会在他的索引服务器上记录下一条404信息。

虽然在百度的帮助文件中,有这样的一句话“请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。”但是我个人还是认为建立robots.txt还是必须的,哪怕这个robots.txt文件是一个空白的文本文档都可以。因为我们的网站毕竟不是仅仅会被百度收录,同时也会被其他搜索引擎收录的,所以,上传一个robots.txt文件还是没有什么坏处的。

如何写一个合理的robots.txt文件?

首先我们需要了解robots.txt文件的一些基本语法。
 
允许所有搜索引擎访问网站的所有部分

或者建立一个空白的文本文档,命名为robots.txt
 
User-agent: *

Disallow:

或者

User-agent: *

Allow: /
 
禁止所有搜索引擎访问网站的所有部分
 
User-agent: *

Disallow: /
 
禁止百度索引你的网站
 
User-agent: Baiduspider

Disallow: /
 
禁止Google索引你的网站
 
User-agent: Googlebot

Disallow: /

禁止除Google外的一切搜索引擎索引你的网站
 
User-agent: Googlebot

Disallow:

User-agent: *

Disallow: /
 
禁止除百度外的一切搜索引擎索引你的网站
 
User-agent: Baiduspider

Disallow:

User-agent: *

Disallow: /

禁止蜘蛛访问某个目录

(例如禁止admin\css\images被索引)
 
User-agent: *

Disallow: /css/

Disallow: /admin/

Disallow: /images/

允许访问某个目录中的某些特定网址
 
User-agent: *

Allow: /css/my

Allow: /admin/html

Allow: /images/index

Disallow: /css/

Disallow: /admin/

Disallow: /images/

使用“*”,限制访问某个后缀的域名

例如索引访问admin目录下所有ASP的文件
 
User-agent: *

Disallow: /admin/*.htm

使用“$”仅允许访问某目录下某个后缀的文件
 
User-agent: *

Allow: .asp$

Disallow: /

禁止索引网站中所有的动态页面

(这里限制的是有“?”的域名,例如index.asp?id=1)
 
User-agent: *

Disallow: /*?*

有些时候,我们为了节省服务器资源,需要禁止各类搜索引擎来索引我们网站上的图片,这里的办法除了使用“Disallow: /images/”这样的直接屏蔽文件夹的方式之外,还可以采取直接屏蔽图片后缀名的方式。具体办法如下。

禁止Google搜索引擎抓取你网站上的所有图片

(如果你的网站使用其他后缀的图片名称,在这里也可以直接添加)
 
User-agent: Googlebot

Disallow: .jpg$

Disallow: .jpeg$

Disallow: .gif$

Disallow: .png$

Disallow: .bmp$
 
禁止百度搜索引擎抓取你网站上的所有图片
 
User-agent: Baiduspider

Disallow: .jpg$

Disallow: .jpeg$

Disallow: .gif$

Disallow: .png$

Disallow: .bmp$
 
除了百度之外和Google之外,禁止其他搜索引擎抓取你网站的图片

(注意,在这里为了让各位看的更明白,因此使用一个比较笨的办法——对于单个搜索引擎单独定义。)
 
User-agent: Baiduspider

Allow: .jpeg$

Allow: .gif$

Allow: .png$

Allow: .bmp$

User-agent: Googlebot

Allow: .jpeg$

Allow: .gif$

Allow: .png$

Allow: .bmp$

User-agent: *

Disallow: .jpg$

Disallow: .jpeg$

Disallow: .gif$

Disallow: .png$

Disallow: .bmp$
 
仅仅允许百度抓取网站上的“JPG”格式文件

(其他搜索引擎的办法也和这个一样,只是修改一下搜索引擎的蜘蛛名称即可)
 
User-agent: Baiduspider

Allow: .jpg$

Disallow: .jpeg$

Disallow: .gif$

Disallow: .png$

Disallow: .bmp$
 
仅仅禁止百度抓取网站上的“JPG”格式文件
 
User-agent: Baiduspider

Disallow: .jpg$

在了解了以上这些基础的语法之后,对于robots.txt的写法各位已经有了一个大概的概念了,不过在学习写作robots.txt文件时,我们还必须要了解一些大型搜索引擎的蜘蛛名称,这样可以便于我们写做robots.txt文件。

蜘蛛名称
 
作用
 
Googlebot
 
Google对一般网页的索引蜘蛛
 
Googlebot-Mobile
 
Google对于移动设备,如手机网页的索引蜘蛛

Googlebot-Image
 
Google专门用来抓取图片的蜘蛛
 
Mediapartners-Google
 
这是Google专门为放置了Google Adsense广告联盟代码的网站使用的专用蜘蛛,只有网站放置了Google Adsense代码的情况下,Google才会使用这个蜘蛛。这个蜘蛛的作用是专门抓取Adsense广告内容
 
Adsbot-Google
 
这是Google专门为Google Adwords客户设计的蜘蛛,如果你使用了Google的Adwords服务,那么这个蜘蛛就会派出这个蜘蛛来衡量放置了你广告的网站的质量。
 
百度蜘蛛Baiduspider
 
百度的综合索引蜘蛛
 
雅虎蜘蛛:Yahoo! Slurp
 
雅虎的综合索引蜘蛛
 
雅虎搜索引擎广告蜘蛛Yahoo!-AdCrawler
 
雅虎专门为Yahoo!搜索引擎广告开发的专用蜘蛛
 
网易有道蜘蛛YodaoBot
 
网易有道搜索引擎综合索引蜘蛛

腾讯SOSO蜘蛛Sosospider
 
腾讯SOSO综合索引蜘蛛

搜狗蜘蛛sogou spider
 
搜狗综合索引蜘蛛 MSNBot
 
Live综合索引蜘蛛
 
注意:以上蜘蛛名称请按照图表区分大小写

在上面这些搜索引擎蜘蛛中,我们最常用的就是Googlebot和Baiduspider,因此对这两个蜘蛛的用法要特别注意。

以上的robots.txt文件可以帮助我们对于搜索引擎的访问做一个限制,这里需要注意的有几个方面。

1、 robots.txt文件必须处于网站根目录下,而且必须命名为robots.txt

2、 robots.txt文件的文件名全部是小写字母,没有大写字母。

3、 如果对于robots.txt文件的写法把握不准,那么可以直接放一个空的文本文档,命名为robots.txt即可。

对限制搜索引擎的原标签(META)做一个介绍。

第一种情况:限制网页快照

很多搜索引擎都提供一个网页快照的功能。但是网页快照功能却有很多的弊端,例如事实内容在网页快照中更新不及时、索引网页快照浪费大量的服务器资源等。因此,我们有些时候可能并不需要搜索引擎来索引我们某个页面的网页快照。

解决这样问题的办法很简单,只需要在你的网页元标记中(<head>和</head>之间)放置如下的一段代码。

<meta name="robots" content="noarchive">

以上的一段代码限制了所有的搜索引擎建立你的网页快照。如果我们需要仅仅限制一个搜索引擎建立快照的话,就可以像如下这样去写

<meta name="Baiduspider" content="noarchive">

需要注意的是,这样的标记仅仅是禁止搜索引擎为你的网站建立快照,如果你要禁止搜索引擎索引你的这个页面的话,请参照后面的办法。

第二种情况:禁止搜索引擎抓取本页面。

在SEO中,禁止搜索引擎抓取本页面或者是允许搜索引擎抓取本页面是经常会用到的。因此我们需要对这一部分重点做一次讨论。

为了让搜索引擎禁止抓取本页面,我们一般的做法是在页面的元标记中加入如下的代码:

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">

在这里,META NAME="ROBOTS"是泛指所有的搜索引擎的,在这里我们也可以特指某个搜索引擎,例如META NAME="Googlebot"、META NAME="Baiduspide"等。content部分有四个命令:index、noindex、follow、nofollow,命令间以英文的“,”分隔。

INDEX命令:告诉搜索引擎抓取这个页面

FOLLOW命令:告诉搜索引擎可以从这个页面上找到链接,然后继续访问抓取下去。

NOINDEX命令:告诉搜索引擎不允许抓取这个页面

NOFOLLOW命令:告诉搜索引擎不允许从此页找到链接、拒绝其继续访问。

根据以上的命令,我们就有了一下的四种组合

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">:可以抓取本页,而且可以顺着本页继续索引别的链接

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">:不许抓取本页,但是可以顺着本页抓取索引别的链接

<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">:可以抓取本页,但是不许顺着本页抓取索引别的链接

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">:不许抓取本页,也不许顺着本页抓取索引别的链接。

这里需要注意的是,不可把两个对立的反义词写到一起,例如

<META NAME="ROBOTS" CONTENT="INDEX,NOINDEX">

或者直接同时写上两句

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">

这里有一个简便的写法,如果是

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">的形式的话,可以写成:

<META NAME="ROBOTS" CONTENT="ALL">

如果是

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">的形式的话,可以写成:

<META NAME="ROBOTS" CONTENT="NONE">

当然,我们也可以把禁止建立快照和对于搜索引擎的命令写到一个命令元标记中。从上面的文章中我们得知,禁止建立网页快照的命令是noarchive,那么我们就可以写成如下的形式:<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW,noarchive">

如果是对于单独的某个搜索引擎不允许建立快照,例如百度,我们就可以写成:

<META NAME=" Baiduspider" CONTENT="INDEX,FOLLOW,noarchive">

如果在元标记中不屑关于蜘蛛的命令,那么默认的命令即为如下

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW, archive">

因此,如果我们对于这一部分把握不准的话,可以直接写上上面的这一行命令,或者是直接留空。

原文链接:http://blog.sina.com.cn/s/blog_77714dcf0100vlz2.html

时间: 2024-10-02 08:11:40

关于蜘蛛的屏蔽的相关文章

哪些因素会让网站迅速降权

过度优化只要包含几个方面,标题关键词堆积,关键词密度超过10%,H和STRONG标签使用超过20次,关键词锚链接不自然且过多,这些都是站内过度优化的原因,大家注意就可以了,站外过度优化原因主要是外链接增加过快和过多且不相关,解决办法控制在10次内就可以了. 到底什么是外链接失去平衡,即网站外链接数量超过网站的承受能力,特别是新网站在建设被期,我们没有必要去做过多的不相关外链接,这样只会引起搜索引擎的反感,如果要大量做链接的话,可以每天按一定数量平均增加,不要一天增加100条链接,N天后都没有增加

浅谈屏蔽搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路

网站建设好了,当然是希望网页被搜索引擎收录的越多越好,但有时候我们也会碰到网站不需要被搜索引擎收录的情况. 比如,你要启用一个新的域名做镜像网站,主要用于PPC 的推广,这个时候就要想办法屏蔽搜索引擎蜘蛛抓取和索引我们镜像网站的所有网页.因为如果镜像网站也被搜索引擎收录的话,很有可能会影响官网在搜索引擎的权重,这肯定是我们不想看到的结果. 以下列举了屏蔽主流搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路.注意:是整站屏蔽,而且是尽可能的屏蔽掉所有主流搜索引擎的爬虫(蜘蛛). 1.通过 rob

Nginx屏蔽个别User-Agent蜘蛛访问网站的方法

对于做国内站的我来说,我不希望国外蜘蛛来访问我的网站,特别是个别垃圾蜘蛛,它们访问特别频繁.这些垃圾流量多了之后,严重浪费服务器的带宽和资源.通过判断user agent,在nginx中禁用这些蜘蛛可以节省一些流量,也可以防止一些恶意的访问. 步骤 1.进入nginx的配置目录,例如cd /usr/local/nginx/conf 2.添加agent_deny.conf配置文件 #禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpCl

II7/IIS8屏蔽YisouSpider蜘蛛

来源:http://www.0531s.com/content-46-1927014-1.html YisouSpider蜘蛛抓取网页能够导致CPU暴涨,影响其他蜘蛛和用户的访问,多次实验后,发现IIS自带的URL重写可以起到作用.首先选择需要进行屏蔽的网站,然后打开URL重写.打开入站规则打开添加规则,选择请求阻止点击确定,在新弹出的界面,访问阻止依据中选择用户代理表头在模式(用户代理标头)中输入:YisouSpider,点击确定,这样就可以组织YisouSpider对本站的请求,CPU使用率

备案不关站方法:PHP代码屏蔽地区管局访问IP,不影响百度蜘蛛

1 <?php 2 function get_client_ip() { 3 if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 4 $ip = getenv("HTTP_CLIENT_IP"); 5 else if (getenv("HTTP_X_FORWARDED_FOR"

Nginx 使用 sever 段规则屏蔽恶意 User Agent

相对于 Apache,Nginx 占用的系统资源更少,更适合 VPS 使用.恶意的 User Agent 无处不在,博客更换到 WordPress 没几天,就被 SPAM(垃圾留言)盯上,又被暴力破解后台用户名密码.以前介绍过 Apache 使用 .htaccess 屏蔽恶意 User Agent,今天来介绍 Nginx 屏蔽恶意 User Agent的方法. 先上规则&注释 #禁用未初始化变量警告 uninitialized_variable_warn off; #匹配各种 bad user

最新最准确各大搜索引擎蜘蛛名称2014-4-15 10:02:52

最新最准确各大搜索引擎蜘蛛名称2014-4-15 10:02:52 1.百度蜘蛛:Baiduspider网上的资料百度蜘蛛名称有BaiduSpider.baiduspider等,都洗洗睡吧,那是旧黄历了.百度蜘蛛最新名称为Baiduspider.日志中还发现了Baiduspider-image这个百度旗下蜘蛛,查了下资料(其实直接看名字就可以了……),是抓取图片的蜘蛛.常见百度旗下同类型蜘蛛还有下面这些:Baiduspider-mobile(抓取wap).Baiduspider-image(抓取

蜘蛛抓取网站的时候,抓取了不存在的页面

SEOer需要经常查看网站的服务器日志,从而掌握蜘蛛爬取了我们网站的什么地方,哪个页面.但是有时候却发现蜘蛛爬取了一些我们网站并不存在的页面,今天SEO教程就讲解下为什么百度蜘蛛会爬取我们网站没有的页面. 1.蜘蛛是怎么发现我们网站的链接的? 我们都知道,蜘蛛是沿着链接爬来爬去的,他会自动提取网站中所有的链接,保存入库,然后进行爬取,这也就是为什么我们觉得网站的收录少了或者刚发布的文章没 有被收录,我们就会说"引蜘蛛"了,其实引蜘蛛就是发外链了,当这条链接呗蜘蛛发现之后,他就会进行爬取

利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转

对于做国内站的我来说,我不希望国外蜘蛛来访问我的网站,特别是个别垃圾蜘蛛,它们访问特别频繁.这些垃圾流量多了之后,严重浪费服务器的带宽和资源.通过判断user agent,在nginx中禁用这些蜘蛛可以节省一些流量,也可以防止一些恶意的访问. 方法一:修改nginx.conf,禁止网络爬虫的user_agent,返回403. 1.进入nginx的配置目录,例如cd /usr/local/nginx/conf 2.添加agent_deny.conf配置文件 vim agent_deny.conf