Description标签的优化写法
在很多的网页中,我看到站长们总是会把Description的内容和keywords的内容写的一模一样,有些甚至是干脆把内容中的一段或者全部的内容复制到Description中,这样的做法是很不利于网页在搜索引擎中的排名的。另外,还有一些站长会在整个一个网站的所有网页中都使用相同的Description,这也是SEO中的大忌,需要避免。
因此,正确的优化写法应该如下
·Description是描述网页内容的,因此最好是可以用一句话来概括本网页的主题内容,这个有点类似于我们小时候写作文,写中心思想的形式。
·Description不要超过255个字符,搜索引擎索引一般都会索引Description的前255个字符,因此,这255个字符是做搜索引擎优化的关键。
·这里有一个小技巧:如果你使用的网页编码是UTF-8,那么在Description中的标点符号最好都使用英文,例如英文的逗号、句号等。如果是中文的话,那么就使用中文的标点符号即可。
一个正确的Description格式:以本篇文章为例,Description的基本写法如下(UTF-8):
<META NAME="Description" CONTENT="本文描述SEO优化中对于元标签和网页描述的优化,另外对于网页META标签做简单的介绍."/>
注意看,上面的描述结束后,最后部分有一个“/”,在标准的网页代码写法中,这个/是不可或缺的。有一点需要记住:同样内容的两个不同网站的网页,如果A网站的网页代码编写规范、完全符合W3C标准,那么就会比B网站不符合网页编码规范的排名要高。
如果有这样的几个网址,你更容易记住哪一个?
A:www.****.com/2009/02/19/news/edu/seo/2009201900343432.html
B; www.****.com/news/new.asp?id=342&class=12&page=1&other=12&date=2009-2-19
C: www.****.com/SEO/title.html
我相信你一定会选择C,因为C网址不但简短,没有任何参数,而且还包含了网页内容的关键词。
搜索引擎也是一样的,如果你的URL过于冗长,那么蜘蛛也会觉得累。一般来说,在SEO的URL结构中,三层目录是最为合适的。所谓的三层目录就是指形如C网址那样的结构。
一般来说,蜘蛛在某个网站爬行的过程是通过每一个URL之间的链接来构成爬行路线的。对于三层以上的目录,目录层次越深越会导致蜘蛛爬行的不顺利,这也就构成搜索引擎索引页面的死角。
另外,在Google网站管理员帮助中提到:简化域名后“?”后面的参数,如果可以采取伪静态或者直接生成静态,对于搜索引擎索引会有很大的帮助。
简单来说,对于URL的优化,一般包括两个方面,一个是对于域名的选择,另外一个是对于目录和网页文件本身URL的优化。
对于域名的优化和服务器IP的选择
如果我们新建立一个网站打算去做SEO优化,那么在选择域名和服务器时需要注意几个很重要的方面。
·选择怎样的域名?
有很多SEOer在操作SEO的时候,会尽量寻找包含有关键词的域名,例如flashgame.net 这样的形式。这样的做法对于用户体验、搜索引擎索引、关键词排序都有巨大的好处。不过现在域名资源匮乏,想要寻找一个包含有关键词的域名简直是不可能的任务。因此,我们在选择域名的时候一般会采用中间加一个横杠的方式,例如flash-game.net,不过对于中文关键词来说,这个横杠的使用如果不慎,就会让域名本身失去原有的SEO意义,这一部分的内容会在以后的中文分词内容中和大家讨论。
·域名选择需要注意的方面
有时候我们可能会不经意间发现一个极好的域名,不过不要高兴的太早。在注册这个域名之前,我们首先要查查这个域名曾经有没有被别人注册过,如果注册过的话,有没有被搜索引擎惩罚过。如果不幸注册了一个被惩罚过的页面,那么我们的SEO工作将会非常的困难。
·尽量少用二级域名
我看到过一些个人网站的站长,把自己网站的每一个频道都做上了一个二级域名,尽管这样的做法可能会给你的主站带来大规模的外链,但是要知道的是,每一个二级域名和主域名的权重是一样的,实际上www本身也是一个二级域名。这样的做法无异于分散SEO精力,让每个二级域名下的网页排名都不会很好。一般大型网站会这么做,是因为大型网站具有海量的内容,因此可以用每个二级域名都会有很好的权重,而个人网站,我个人建议还是不要这样去做。另外,还有一个需要了解的问题是,如果你的某个二级域名被搜索引擎处罚,那么你的主域名也会受到牵连。
这里有一点需要重点解释。有些博客网对于个人博客都会提供二级域名,有些朋友会问,假如这些二级域名中的任何一个域名被惩罚,那么我的主域名会不会被处罚?这个大可不必担心,因为搜索引擎也会去区分用户行为和网站管理员行为的,假如你的一个用户自己建立了一个博客,使用了大规模的SEO作弊手段在自己的博客,那么搜索引擎顶多会处罚这一个博客而已,而不会牵连你的整个网站。
·选择服务器需要注意的方面
现在有很多中小企业网站都在使用一个虚拟主机。这里就出现了一个问题,或许你正在使用的这个服务器上有着大规模的垃圾网站或者垃圾邮件源,一旦搜索引擎发现了这个服务器上有这样的网站,那么就会连IP都封杀掉,于是你的网站也受到了“连坐”。因此,选择服务器也是个很重要的方面。
另外,假如你要做国内的网站,就使用国内DNS解析你的域名,并使用国内IP的服务器,如果你是要做面向海外的网站,那么千万不要为了省钱,也使用国内的DNS和服务器。那样的话你的网站在海外Google中根本就不会有排名的。
OK,絮絮叨叨的说了这么多,下面就说一下关于URL优化需要注意的一些方面吧。
URL优化手段1——URL中带有关键词。
形如前文中提到的C网址,不但会让使用者更快的记住你的网址,而且会让搜索引擎一下子就知道这个页面的内容。假如再在其他的页面加上一个这样的链接代码:
<a href=" www.****.com/SEO/title.html " target="_blank">SEO中的title优化</a>
再加上合理的网页结构和外链策略,那么这样的网页想不排名靠前都很难了。不过这里要注意的是,URL虽然说结构变短了,但是本身长度也不可过于冗长。例如有些朋友为了让搜索引擎更清楚的知道网页的内容,就放了一大堆关键词在URL中,例如如下的URL
www.****.com/NBA/huojian-yaoming-nba-bifen-shipin-zhibo.html
实际上,这样的做法对于搜索引擎索引来说是百害而无一益的。搜索引擎中的反SPAM机制,会将冗长的URL给消重。因此,精简的URL才是最好的方式。
URL优化手段2——页面静态化:这一点的好处和前条一样,都可以改善冗长的URL。
URL优化手段3——避免使用系统自动生成的URL。例如page1.html、newpage1.HTML等。
URL优化手段4——使用与内容分类相符的目录名。使用三层结构,然后把某个分类的内容放在一个文件夹里,以分类的名称或者关键词作为目录名称。
URL优化手段5——只用一个URL访问你的网页:我看到过许多的网站会有两三个域名地址可以访问同一个页面,这样的做法只能减小搜索引擎给你URL的权重,没有其他任何好处。
URL优化手段6——只用小写字母:这一点是Google搜索引擎优化的一个小技巧,具体原因和算法有关,暂时不提,只要明白用小写字母不要用大写字母就可以了。
我们在确定了一个页面的关键词后,就必须要开始控制网页的关键词密度了,关键词密度是指关键词在整个网页内容中出现的频率。如果关键词密度过低,那么对于优化起不到重要的作用。而如果密度过高的话,又会被搜索引擎认为是作弊。一般来说,关键词密度控制在2%-7%比较合适,而我个人在操作的时候,基本是在6%上下,正负不超过0.5,个人认为这是一个最佳值。
现在有很多关键词密度检测工具可以供我们使用,例如
http://tool.chinaz.com/Tools/Density.aspx
关键词的准确分布对于SEO也有着举足轻重的作用,一般的做法是,让关键词占据网页大部分重要的位置,但是侧重有所不同。
关键词出现的第一个地方应该是网页的title、keywords,Description部分。我们以一个实例来说明关键词的写法。
例如我们现在要做一个网页,其内容是形容姚明在最新的NBA和开拓者的比赛中获得了15分,而火箭队也获得了赛季的最长连胜记录。
在这个网页中,首先我们来选取页面优化关键词。我们知道,无论是对于“NBA”、“姚明”“开拓者”这几个关键词来说,都是非常热门的,因此我们要是单独优化这几个关键词就会有很大的竞争性。这是我们可以采取长尾原则,把关键词定为“火箭连胜”和“火箭对开拓者”这两个关键词,相关的竞争就会小很多。
接下来,我们要对页面本身进行优化,首先,我们的标题应该按照如下的形式去写。
“火箭胜开拓者,获得赛季最长连胜记录”。可能有朋友会问,这个标题中没有一个和我们刚才确定的关键词完全一致的内容。是的,这里确实没有完全相同的关键词存在,但是在SEO中有一个相关关键词的概念。首先我们来看这个标题的第一句话“火箭胜开拓者”而我们的主关键词是“火箭对开拓者”,对于这两个词本身的意义来说,其实是有相同和相联系的地方的。或许对于我们人类来说,火箭对开拓者这个关键词,不知道是赢还是输,因此会有很多网友在搜索的时候会直接搜索火箭对开拓者。但是对于搜索引擎来说,无论是火箭对开拓者还是火箭胜开拓者,都是一个意义,就是把火箭和开拓者两个关键词联系在了一起。因此,在程序处理的时候,如果搜索“火箭对开拓者”那么无论是“火箭胜开拓者”还是“火箭败开拓者”都会出现在搜索的结果中。为了使页面的关键词布局平衡,我们使用这个标题的前半部分。
再来看“火箭连胜”这个关键词,在整个标题中,还是没有出现“火箭连胜”这个关键词,但是根据前文的“火箭”和后文的“获得赛季最长连胜记录”我们完全可以组合出“火箭连胜”这个关键词。
这是SEO中一个“关键词组合优化”的技巧,对于一个关键词组,如果keyword中显示的是一个词组形如“火箭连胜”和“火箭对开拓者”,那么我们就可以在标题中把这个关键词拆分显示,这也是SEO对各大搜索引擎中文分词算法的一个利用。请各位一定记住这个技巧,因为这个技巧在网页排序中有非常重要的作用。对于中文分词在网页优化中的重要作用,会在之后的章节中讲到。
接下来我们来写网页的Description。Description是对一个网页内容的描述,也是很关键的一个部分。根据关键词平衡原则,我们在这里这样写Description
“本文描述火箭对开拓者的比赛,姚明获得15分,火箭连胜的记录又一次被刷新。”
在这一部分中,就出现了精准关键词,这是对标题的一个补充,也是对内容的一个梗概。请记住,Description是网页的内容描述,不可放置和标题、关键词一样的内容,这就和我们小学时学习写作文一样,Description就是作文的中心思想。
接下来是网页页面显示部分的优化,也就是网页代码中<body>和</ body >中的用法,对于这一部分不了解的,请各位去查看一下HTML代码的名称定义。
http://www.gzsums.edu.cn/webclass/html/html_design.html
首先,要显示的是标题,这个标题和tiitle中显示的可以一致,也可以不一致。不过这里,我们一般是使用HTML代码中的H1标签来着重显示。例如
<h1>火箭胜开拓者,获得赛季最长连胜记录</h1>,在搜索引擎优化中,搜索引擎对<h1>之间的文字给予很高的权重,因此这一块一定要合理利用。
文章标题之后,我们可以在文章正文中分布一些关键词,这个不用多说,只是在文章内容中合理的加入关键词即可。有些SEO教程上让操作者对于文章正文中的关键词加粗显示,例如<b>火箭连胜</b>,我个人很不建议这样去做,因为这样优化的痕迹太明显,反倒会被搜索引擎惩罚。
如果说网页中有图片,那么我们可以使用图片的alt属性来增加关键词的比例。
另外,在页脚部分,也就是平时我们看到网站版权的部分,也可以增加一个关键词的显示,而且可以在这个关键词上加上本网页的链接。不过这个做法一定要把握好页面本身已经有的关键词密度,一旦密度已经超过了5%,那么千万不要使用,否则会被认为是作弊。
在关键词分布中,请记住一个原则,搜索引擎对于网页的顶部、左侧以及下角给的权重是很高的,所以应该充分利用这些优势。我们在一些大的门户网站看到“相关新闻”都在网页的右侧,也是因为需要吧最高权重留给网页本身内容。
避免使用Javascript作URL链接。
有些时候,为了让页面上的URL链接变的更加美观,或者为了后台操作的便利,有些网站的URL是用形如下面的形式来表现的。
<a href="javascript:window.location.href='2';" class="navText STYLE6">SEO优化</a>
事实上,搜索引擎在索引这个页面的时候,他根本就不会知道这个location.href='2';是什么意思,这样一来,这个被location.href='2';代表的页面也不会被搜索引擎所发现并收录。因此,在任何时候的任何URL链接,都应该准确的有一个形如下的URL链接
<a href="http://www.***.com/***/***.html">SEO优化</a>
如果确实必须使用Javascript的话,那么就在网站设置一个HTML格式的SiteMap,包含全站所有URL链接,这样会让搜索引擎更轻松的抓取你的网站链接。当然,你也可以制作一个XML格式的SiteMap,直接通过Google的网站管理员工具提交给Google。
下面提供一个XML格式Sitemap的在线生成工具,便于大家使用。
XML格式SiteMap生成工具:http://www.xml-sitemaps.com/
Google网站管理员工具:http://www.google.com/webmasters/tools/?hl=zh_CN
拥有一个sitemap,不但会让你网站中一些目录层次比较深的页面和一些因为使用了Javascript作URL链接的链接统统被搜索引擎抓取,对于使用者来说,这也是非常好的一个工具。
这里有一个细节性的问题。有很多网站中,一些URL链接是使用相对地址的,形如下面的例子:
<a href="SEO/youhua.html">SEO优化</a>
其实对于SEO来说,我个人认为使用绝对链接的优势要明显大于使用相对地址链接,形如下面的例子。
<a href="http://www.***.com/SEO/youhua.html">SEO优化</a>
这是因为,在有些情况下,我们的链接锚文字(所谓的锚文字就是指一个完整URL链接中,包含了URL链接的文字,例如上面例子的“SEO”优化几个字)一般是可以被认为是链接的目标页面(例如上面例子中的http://www.***.com/SEO/youhua.html)的一个内容的概括或者是链接目标页面的关键词。这样一来,如果我们使用绝对地址的话,就可以给搜索引擎一个明确的信号:这个关于“SEO优化”的链接,它的网址是http://www.***.com/,因此在索引的时候不可忽视。这样一来,我们就可以为我们的网站扩展更多的长尾关键词,以供搜索引擎索引。但是如果是相对链接的话,因为没有网站的URL,有些时候就可能导致搜索引擎爬虫对于情况搞不清楚,从而降低目标页面的关注度。因此,SEO过程中,强烈建议所有链接都使用绝对链接地址。
避免使用Flash作为Url导航。
有很多的网站为了页面更加美观,就使用FLASH作为网站的导航。甚至有一些网站干脆全站没有一个文字字符出现,全部都是FLASH。这对于SEO是非常不利的,因为我们必须要注意的一点是:搜索引擎爬虫不会像我们人类一样,通过视觉获取到网页的信息,它们是通过对于网页代码的抓取,才了解到网页内容的。因此,如果我们防治了FLASH作为网站导航的时候,搜索引擎蜘蛛根本不知道你的FLASH是什么内容,因此也会放弃抓取。
因此,我们在制作FLASH网站的时候,无论如何,请在页面下角或者上部加一个文字的链接,形如:<a href="http://www.***.com/sitemap.html">网站地图 </a>,然后把你网站flash包含的所有文字、内容都单独以文本的形式做一个网站地图,这样既不会影响搜索引擎的抓取,也不会影响到你整个网站的美观。
合理的使用图片作为URL导航
为什么说要合理的利用图片?原因和上面是一样的,搜索引擎爬虫除了看不懂FLASH之外,也不会认识你的图片上写的是什么内容。因此,我们现在已经很少可以看到直接用图片作为导航的。CSS会更加美观使用。当然,如果非要用图片不可的话,那么就一定要在这张图片上加上形如下面的ALT标签。
<a href="http://www.***.com"><img src="Images/about_nav.jpg" alt="关于我们" /></a>
这样一来,我们就给搜索引擎一个指引:这张图片上的文字是“关于我们”,而其引向的页面是“关于我们”这个内容的
让你的URL更快的到达目标页面。
曾经我在为一个压力锅厂家做SEO全站优化时,发现了这样的一个问题。我在首页看到了一个压力锅,正好和我自己家使用的压力锅型号是一样的,因此想查看这个压力锅的一些参数。结果我至少点击了六次,这才看到了这个压力锅的详细资料。对于用户体验来说,很少有人会耐着性子点击N次鼠标来看到你的网页内容,对于搜索引擎也是一样的,你的URL跳来跳去,就是不到最终结果页面,搜索引擎也会反感的。
因此,最佳的做法就是,一次点击,马上到达最终页。最多不要超过三次。
简单的频道导航是必要的
看下面这幅图
图1-11
我们可以看到,在这样一幅图上,有一个腾讯首页 > 新闻中心 > 时政新闻 > 正文的链接字样。而这些文字中,除了对于“正文”二字和“您所在的位置”几个字没有链接之外,其他的文字都是链接到相关页面的。
这样的做法,对于用户体验首先有着极大的好处,因为用户可以随时的点击他感兴趣的一个话题分类,进而查看最新的信息。而对于SEO来说,这是一个搭建内部链接的重要过程,也是不可或缺的。
要注意的是:互联网之所以被称为是“互联”,就是因为不管在每个网站内部,还是在各个网站之间,每个网站的构成因素——网页之间都是相互达成链接的。因此,一个网站在做SEO优化的过程中,首先要做好自己网站的内部链接,之后要做好网站的外部链接。对于内链和外链会在之后的文章中详细讲述。
避免使用框架网页
框架网页的确有着导航方便、设计便捷的好处。但是问题在于,由于在框架网页中,搜索引擎蜘蛛看到的只有一个页面,那就是框架页,因此,在这样的网页里,搜索引擎势必无法索引到更多的内容。因此,在这里强烈建议避免使用框架网页。
从下面的代码,我们就可以知道为什么说搜索引擎只能看到一个页面了。
view plaincopy to clipboardprint?
1. <frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
2.
3. <frame src="top.html" mce_src="top.html" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
4.
5. <frameset cols="80,*" frameborder="no" border="0" framespacing="0">
6.
7. <frame src="left.html" mce_src="left.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" />
8.
9. <frame src="main.html" mce_src="main.html" name="mainFrame" id="mainFrame" />
10.
11. </frameset>
12.
13. </frameset>
我们可以看到,我们的导航部分大部分是集中在top.html和left.html,内容全部显示在main.html中,如此一来,搜索引擎看到的内容,永远是上面的几行代码。
那么如果非要使用框架网页的时候,该如何去SEO优化呢?
我们知道,在框架网页中有一个< noframes >的标签,也就是说,如果没有框架显示功能的话怎么版,因此,我们就可以合理的利用这一部分。完整的代码如下
view plaincopy to clipboardprint?
1. <frameset rows="80,*" cols="*" frameborder="no" border="0" framespacing="0">
2.
3. <frame src="top.html" mce_src="top.html" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
4.
5. <frameset cols="80,*" frameborder="no" border="0" framespacing="0">
6.
7. <frame src="left.html" mce_src="left.html" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" />
8.
9. <frame src="main.html" mce_src="main.html" name="mainFrame" id="mainFrame" />
10.
11. </frameset>
12.
13. </frameset>
14.
15. <noframes><body>浏览器不支持框架,点击这里查看<a href="sitemap.html" mce_href="sitemap.html">网站所有内容(网站地图)</a>
16.
17. </body>
18.
19. </noframes></html>
做一个实用的404页面
在请求中,一旦返回的值是404页面,那就说明这个网页是不存在的。一般大型网站中,我们难免会留下空链接、死链接。这样就会导致404页面的出现。一般的404页面显示如下:
图1-12
如果一个站的404页面过多的话,那么网站本身的权重就会被降低。因此,自定义404页面对我们来说是非常有必要的。
如何自定义404页面呢?首先,我们需要自己制作一个网页,如notfound.html,在这个页面上,放上一些网站导航的链接,放一个网站地图的链接之类,当然,这样的页面最好是做的美观一些,人性化一些(美观和SEO无关,只是让用户更舒服)
对于404页面的设置,如果是Apache下,只需在.htaccess 文件中加入如下内容即可:
ErrorDocument 404 /notfound.html
而在IIS中,只需要在IIS管理器中修改即可。
有些时候我们会遇到这样的困难:我们原本不想被搜索引擎收录的网站后台地址却被搜索引擎“无情”的收录,这样只要在Google里输入一个“后台、管理site:www.***.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即可。
好了,以上我们介绍了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">
因此,如果我们对于这一部分把握不准的话,可以直接写上上面的这一行命令,或者是直接留空。
在SEO中,对于蜘蛛的控制是非常重要的一部分内容,所以希望各位看官准确把握这部分的内容。