最近开发新站,由于想全站动态,省掉生成的麻烦,所以又要用到伪静态了。呵呵,但是伪静态会指向很多不想要的页面,只有用robots来禁止他爬行垃圾链接了。
首先我们要了解robots是什么?robots.txt是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。如果处理不当,而我们不想被搜索引擎收录的网站后台地址却被搜索引擎无情的收录。
当我们在谷歌或百度的搜索页上输入:site:www.xxx.com 自己的后台地址就会显露无疑,因此网站安全性也无从谈起。遇到这样的情况时,我们如何阻止搜索引擎收录我们不想被收录的文件呢?
两个办法:
一、编辑robots.txt文件。
robots.txt文件,是每一个搜索引擎到你的网站之后要寻找和访问的第一个文件,robots.txt是你对搜索引擎制定的一个如何索引你的网站的规则。通过这个文件,搜索引擎就可以知道在你的网站中,哪些文件是可以被索引的,哪些文件是被拒绝索引的。
在很多网站中,站长们都忽略了使用robots.txt文件。因为很多站长都认为,自己的网站没有什么秘密可言,而且自己也不太会使用robots.txt的语法,因此一旦写错了会带来更多的麻烦,还不如干脆不用。其实这样的做法是不对的。在前面的文章中我们知道,如果一个网站有大量文件找不到的时候(404),搜索引擎就会降低网站的权重。而robots.txt作为蜘蛛访问网站的第一个文件,一旦搜索引擎要是找不到这个文件,也会在他的索引服务器上记录下一条404信息。
语法作用及写法:
建立一个空白的文本文档,命名为robots.txt
User-agent:*
Disallow:
或者
User-agent:*
Allow:/
禁止所有搜索引擎访问网站的所有部分
User-agent:*
Disallow:/
禁止除Google外的一切搜索引擎索引你的网站
User-agent:Googlebot
Disallow:
User-agent:*
Disallow:/
禁止百度索引你的网站
User-agent:Baiduspider
Disallow:/
禁止Google索引你的网站
User-agent:Googlebot
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/*.asp
使用“$”仅允许访问某目录下某个后缀的文件
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文件。
蜘蛛名称
Googlebot
Google对一般网页的索引蜘蛛
Googlebot-Mobile
Google对于移动设备,如手机网页的索引蜘蛛
Googlebot-Image
Google专门用来抓取图片的蜘蛛
Mediapartners-Google
这是Google专门为放置了GoogleAdsense广告联盟代码的网站使用的专用蜘蛛,只有网站放置了GoogleAdsense代码的情况下,Google才会使用这个蜘蛛。这个蜘蛛的作用是专门抓取Adsense广告内容
Adsbot-Google
这是Google专门为GoogleAdwords客户设计的蜘蛛,如果你使用了Google的Adwords服务,那么这个蜘蛛就会派出这个蜘蛛来衡量放置了你广告的网站的质量。
百度蜘蛛Baiduspider
百度的综合索引蜘蛛
雅虎蜘蛛:Yahoo!Slurp
雅虎的综合索引蜘蛛
雅虎搜索引擎广告蜘蛛Yahoo!-AdCrawler
雅虎专门为Yahoo!搜索引擎广告开发的专用蜘蛛
网易有道蜘蛛YodaoBot
网易有道搜索引擎综合索引蜘蛛
腾讯SOSO蜘蛛Sosospider
腾讯SOSO综合索引蜘蛛
搜狗蜘蛛sogouspider
搜狗综合索引蜘蛛
MSNBot
Live综合索引蜘蛛
注意:以上蜘蛛名称请按照图表区分大小写
在上面这些搜索引擎蜘蛛中,我们最常用的就是Googlebot和Baiduspider,因此对这两个蜘蛛的用法要特别注意。
以上的robots.txt文件可以帮助我们对于搜索引擎的访问做一个限制,这里需要注意的有几个方面。
1、robots.txt文件必须处于网站根目录下,而且必须命名为robots.txt
2、robots.txt文件的文件名全部是小写字母,没有大写字母。
3、如果对于robots.txt文件的写法把握不准,那么可以直接放一个空的文本文档,命名为robots.txt即可。
二、在不想被收录的页面头部放置METANAME="ROBOTS"标签。
第一种情况:限制网页快照
很多搜索引擎都提供一个网页快照的功能。但是网页快照功能却有很多的弊端,例如事实内容在网页快照中更新不及时、索引网页快照浪费大量的服务器资源等。因此,我们有些时候可能并不需要搜索引擎来索引我们某个页面的网页快照。
解决这样问题的办法很简单,只需要在你的网页元标记中(<head>和</head>之间)放置如下的一段代码。
<metaname="robots"content="noarchive">
以上的一段代码限制了所有的搜索引擎建立你的网页快照。如果我们需要仅仅限制一个搜索引擎建立快照的话,就可以像如下这样去写
<metaname="Baiduspider"content="noarchive">
需要注意的是,这样的标记仅仅是禁止搜索引擎为你的网站建立快照,如果你要禁止搜索引擎索引你的这个页面的话,请参照后面的办法。
第二种情况:禁止搜索引擎抓取本页面。
在SEO中,禁止搜索引擎抓取本页面或者是允许搜索引擎抓取本页面是经常会用到的。因此我们需要对这一部分重点做一次讨论。
为了让搜索引擎禁止抓取本页面,我们一般的做法是在页面的元标记中加入如下的代码:
<METANAME="ROBOTS"CONTENT="NOINDEX,FOLLOW">
在这里,METANAME="ROBOTS"是泛指所有的搜索引擎的,在这里我们也可以特指某个搜索引擎,例如METANAME="Googlebot"、METANAME="Baiduspide"、METANAME="www.nfrencai.com"等。content部分有四个命令:index、noindex、follow、nofollow,命令间以英文的“,”分隔。
INDEX命令:告诉搜索引擎抓取这个页面
FOLLOW命令:告诉搜索引擎可以从这个页面上找到链接,然后继续访问抓取下去。
NOINDEX命令:告诉搜索引擎不允许抓取这个页面
NOFOLLOW命令:告诉搜索引擎不允许从此页找到链接、拒绝其继续访问。
根据以上的命令,我们就有了一下的四种组合
<METANAME="ROBOTS"CONTENT="INDEX,FOLLOW">:可以抓取本页,而且可以顺着本页继续索引别的链接
<METANAME="ROBOTS"CONTENT="NOINDEX,FOLLOW">:不许抓取本页,但是可以顺着本页抓取索引别的链接
<METANAME="ROBOTS"CONTENT="INDEX,NOFOLLOW">:可以抓取本页,但是不许顺着本页抓取索引别的链接
<METANAME="ROBOTS"CONTENT="NOINDEX,NOFOLLOW">:不许抓取本页,也不许顺着本页抓取索引别的链接。
这里需要注意的是,不可把两个对立的反义词写到一起,例如www.houjinzhe.com
<METANAME="ROBOTS"CONTENT="INDEX,NOINDEX">
或者直接同时写上两句
<METANAME="ROBOTS"CONTENT="INDEX,FOLLOW">
<METANAME="ROBOTS"CONTENT="NOINDEX,FOLLOW">
这里有一个简便的写法,如果是
<METANAME="ROBOTS"CONTENT="INDEX,FOLLOW">的形式的话,可以写成:
<METANAME="ROBOTS"CONTENT="ALL">
如果是:
<METANAME="ROBOTS"CONTENT="NOINDEX,NOFOLLOW">的形式的话,可以写成:
<METANAME="ROBOTS"CONTENT="NONE">
当然,我们也可以把禁止建立快照和对于搜索引擎的命令写到一个命令元标记中。从上面的文章中我们得知,禁止建立网页快照的命令是noarchive,那么我们就可以写成如下的形式:<METANAME="ROBOTS"CONTENT="INDEX,FOLLOW,noarchive">
如果是对于单独的某个搜索引擎不允许建立快照,例如百度,我们就可以写成:
<METANAME="Baiduspider"CONTENT="INDEX,FOLLOW,noarchive">
如果在元标记中不屑关于蜘蛛的命令,那么默认的命令即为如下
<METANAME="ROBOTS"CONTENT="INDEX,FOLLOW,archive">
因此,如果我们对于这一部分把握不准的话,可以直接写上上面的这一行命令,或者是直接留空。
在SEO中,对于蜘蛛的控制是非常重要的一部分内容,所以希望各位看官准确把握这部分的内容。
新闻热点
疑难解答