第五部分 对搜索引擎友好的网页设计
Title 和 Meta 标签
标题(Title):
网页优化可以说是从 Title 开始的。在搜索结果中,每个抓取内容的第一行显示的文字就是该页的Title,同样在浏览器中打开一个页面,地址栏上方显示的也是该页的 Title。因此, Title 可谓一个页面的核心。对 Title 的书写要注意以下问题:
1、title 简短精炼,高度概括,含有关键词,而不是只有一个网站名称。但关键词不宜过多,不要超过 3 个词组。
2、前 7 个字对搜索引擎最重要,因此关键词位置尽量靠前,总字数不超过 30 个汉字。
例如:Google 手机搜索,可以看到排在前面的几个都是大公司手机频道, 手机这个词是排在最前面的。
Meta 属性 关键词(Keywords):
Keywords 提示搜索引擎:本网站内容围绕这些词汇展开。
因此 keywords 书写的关键是每个词都能在内容中找到相应的匹配才有利于排名。例如:网易 手机频道,关键词是 手机,手机报价,诺基亚,摩托罗拉 。
不过最近搜索引擎对 Keywords 属性的权重降低,不如原来那么重要了。
描述(Description):
描述部分用简短的句子告诉搜索引擎和访问者关于本网页的主要内容。用该网站的核心关键词搜索后得到的搜索结果中,描述往往显示为标题后的几行描述文字。Description 一般被认为重要性在title 和 keywords 之后。描述的书写要注意以下问题:
1. 描述中出现关键词,与正文内容相关,这部分内容是给人看的,所以要写的很详细,让人感兴趣, 吸引用户点击。
2. 同样遵循简短原则,字符数含空格在内不要超过 120 个汉字。
3. 补充在 title 和 keywords 中未能充分表述的说明 。
例如:www.5858edu.com 的在Google搜索结果里面描述:中国领先的教育门户和国内最大的招生引擎, 为用户提供万门优质课程优惠报名服务,为教育机构提供基于互联网的招生营销、市场管理、品牌宣传等专业化服务。
另外百度对页面最开始的内容比较感兴趣,通常以这部分内容作为显示结果。
例如:http://www.baidu.com/s?wd=site%3Awww.5858edu.com&cl=3 显示的页面菜单栏:
首页 商学院/研究生 高考 中小学 外语 IT 职业教育 管理 考研 留学 音乐美术体育 使馆文教处专区 社区 高级搜索 拉萨尔三年国际本科 考研
其它 Meta 标签:
为了限制搜索引擎对内容的抓取,可以采用以下几个 Robots Meta 标签:
<meta name="Robots" content="all|none|index|noindex|follow|nofollow|noarchive"> 其中:all:文件将被检索,且页面上的链接可以被查询;
none:文件将不被检索,且页面上的链接不可以被查询; index:文件将被检索;
follow:页面上的链接可以被查询;
noindex:文件将不被检索,但页面上的链接可以被查询; nofollow:文件将不被检索,页面上的链接可以被查询。noarchive:文件不被缓存
这些值是可以组合在一起使用。
说道这里,不得不提一下 Google 另外的一个属性 rel="nofollow"。使用方法:
<a rel="nofollow" href="http://www.1234567.com" > 小电影 </a>
作用呢:就是告诉搜索引擎这个链接不是经过作者自己编辑的,所以这个链接不是一个可信任的链接。 搜索引擎看到这个标签就可能减少或完全取消链接的投票权重。
但并不是所有的搜索引擎都支持 meta 中的 robots 标签。
综合运用样例:
<title>亲子教具-万花筒儿童教育集团</title>
<meta name="Robots" content="all">
<meta name="keywords" content="亲子教具">
<meta name="description" content="对于亲子教师来说系统完善的亲子游戏教具是他们在亲子活动前必不可少的实用性素材,北京智泉万花筒教育研究院亲子中心为教师及加盟商提供全套的亲子游戏教具">
访问结构
访问结构即通过几层能够访问到最终页面,Google 最好为三层,百度不限。较好的例子:
以 www.seochat.org为例。
www.seochat.org首页为第一层,百度优化为第二层, 百度如何优化为第三层。
这样的结果便于搜索引擎索引。百度如何优化 这个页面在 百度和 google 里面都有收录。
二级域名访问结构:
由于三层的目录,容纳的页面有限,需要多级目录。
这个时候使用前面我们讲过的 二级域名方式扩大级数。因为二级域名算独立网站,目录层次从当前二级域名算起。
外部访问结构:
有的网页在本网站层数很多,但也被 Google 收录,这是因为这些网页在被其他网站引用,而 Google
从其他页面进入这个页面。可以使用 link 命令查询该页的反相链接。
目录和文件命名
目录和文件名称中的关键词
目录名称和文件名称中可以使用到关键词。如果是关键词组,则需要用分隔符分开。我们常用连字符-和下划线_进行分隔,URL 中还经常出现空格码%20。因此,如果以中国制造作文件名,就可能出现以下三种分隔形式:
made-in-china.htm made_in_china.htm made%20in%20china.htm
连在一起之后,关键词就失去了意义。但事实上,至少在目前 Google 并不认同_为分隔符。对Google 来说, made-in-china 和 made%20in%20china 都等于 made in china,但 made_in_china 就被读成了 madeinchina,
因此,目录和文件名称如果有关键词组,要用连字符-而不是下划线_进行分隔。
URL 应该越短越好
有人为了单纯增加关键字而额外建多一个带有关键字的子目录,改变目 录结构。由于 URL 中含有关键字本身对排名提高帮助并不大,因而这种做法多此一举,也是搜索引擎反感的。
不好的例子:
要做英文关键词 computer,这样的目录 http://www.ibm.com/computer/computer/computer.html 是错误的。
好的例子:
http://www.ibm.com/computer/ 该目录在根目录下的第一级,权重相对第二级较大。
GB2312 中文路径
http://www.google.cn/search?comp ... Avomv.com&meta= http://www.baidu.com/s?wd=site%3 ... 9%A4%B7%BB&cl=3
http://search.cn.yahoo.com/searc ... =UTF-8&meta=all
动态网页静态化
虽然大多数搜索引擎的蜘蛛程序现在基本都可以解读符号?后的字符,但搜索引擎更喜欢静态文件,所以要对动态网页静态化。
在介绍静态化之前,介绍一些常用的正则表达式:
符号 |
匹配字符 |
示例 |
\d |
任何十进制数字 |
等价于[0-9] |
\D |
任何非数字 |
等价于[^0-9] |
|
\s |
任何空白字符 |
空格、制表符、分页符 |
|
\S |
任何非空白字符 |
等价于[^\f\n\r\t\v] |
|
\w |
任何单词字符 |
等价于[A-Za-z0-9_] |
|
\W |
任何非单词字符 |
等价于[^A-Za-z0-9_] |
|
\n |
回车换行 |
||
. |
除 \n 以外的任何字符 |
(.)+ 匹配除换行符以外的所有字符串 |
|
? |
0个或1个前面的字符 |
ab?c? 可以且只能匹配abc、abbc、abcc 和abbcc |
|
* |
零个或多个所有的字符 |
ab* 可以匹配ab、abb、abbb |
|
+ |
一个或多个所有字符 |
ab+ 可以匹配abb、abbb等,但不匹配ab |
|
{n} |
n表示数量 如果是2,表示2个字符 |
a{2} 可以匹配aa,但不匹配a |
|
{n,n} |
从几个字符开始到几个字符结束,如 果不写,表示至少或者至多 |
a{3,} 匹配aaa、aaaa等,但不匹配a和aa。 |
|
x|y |
匹配x或y |
ab(c|x)yz匹配 abcyz和abxyz |
|
\? \. \* \+ |
? . * + |
这里我介绍几种静态化方法:
1. 使用 IIS_ReWrite 静态化处理,适合 PHP、ASP、ASP.NET 程序。
A. isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理,精简版下载地址 ISAPI_Rewrite 2.7 For IIS 。
B.
C. 打开文件:开始菜单->程序->Helicon->ISAPI_Rewrite->httpd.ini
D. 将 RewriteRule /user/(\d+).htm /user.asp\?id=$1 [I,O] 加入内容中。
E. 在浏览器地址栏输入:/user/1.htm 页面将指向 /user.asp?id=1。
2. 使用虚拟主机的 ASP 网站,需要使用 404 错误操作实现静态化。
A. 下载 404 处理页面。404_Rewrite_GB2312.rar
B. 解压后将 Rewrite.asp、 error.asp 放在网站的根目录。
C.
D. 在 error.asp 里添加处理命令:
Call ParaseUrl("/(\d+).htm","/user.asp?User=$1")
E. 在需要静态化的实例 user.asp 页面中添加代码:
<!-- #include virtual="/rewrite.asp" --> 引用文件
<%
response.write "<li>Para=" & session("Para") ‘变量是通过 Session 传递
‘原来使用 request(user)获得参数的命令,需要修改成 request_(user)调用response.write "<li>request_(""User"")=" & request_("User")
‘原用 request.querystring (user)获得参数命令,修改为 request .querystring (user)调用response.write "<li>request .querystring(""User"")=" & request .querystring("User")
%>
F. 在地址栏输入/1.htm ,实际调用 /user.asp?user=1
3. 使用 asp.net 开发的网页程序,使用 URLRewriter.dll 实现静态化。
1. 下载 URLRewriter.rar,解压后放在/bin/目录下
2. 将 URLRewriter.rar 加入工程引用。
3. 配置 IIS 站点 ,将扩展名为 html 指向处理程序 aspnet_isapi.dll。IIS 站点->属性->主目录->配置->添加
可执行文件和 aspx 处理相同,都是c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll 特别注意,一定不要选择 检查文件是否存在。
4. 在 web.config 中添加配置内容,压缩包里有。
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<!-- 实际重定向 -->
<RewriterConfig>
<Rules>
</Rules>
</RewriterConfig>
<RewriterRule>
<LookFor>~/(\d*).html</LookFor>
<SendTo>~/user/default.aspx?link=$1</SendTo>
</RewriterRule>
<system.web>
<!--
需要在 IIS 里面增加 html 引用,改成 aspx 的引用
-->
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
5. 在地址栏输入 http://localhost/1.html 指向 http://localhost/user/default.aspx?link=1
4. 基于 Apache HTTP Server 静态化
Apache Web Server 的配置 (conf/httpd.conf )
1. 在 httpd.conf 文件中查找 LoadModule rewrite_module modules/mod_rewrite.so
通常该行被注释,去掉#。如果没有就增加该行。
2. 加入代码:
<IfModule mod_rewrite.c> RewriteEngine On
RewriteRule ^/([0-9]+).html$ /user.php?user=$1
</IfModule>
3. 如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置文件.htccess 中去,否则可能无法使用。
4. 重启 Apache,重新载入配置。
5. 在地址栏输入 http://localhost/1.html ,实际指向 http://localhost/user.php?user=1
5. 静态化后文件格式
链接静态化后可以是 html 文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索引擎中获得更好的排名。
例如:优化前:http://www.supercss.com/user.asp?id=1 优化后 文件:http://www.supercss.com/user/1.html
目录:http://www.supercss.com/user/1/
同等条件下 http://www.supercss.com/user/1/ 有更高的优先权。
框架结构
框架结构,即帧结构(Frame),包括IFrame,Frame。例如:框架结构示例。
<frameset rows="97,*" cols="*" frameborder="yes" border="0" framespacing="0">
<frame src="top.html" name="topFrame" frameborder="no" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
<frameset rows="*" cols="164,*" framespacing="0" frameborder="no" border="0">
<frame src="search_left/cat20.html?&catid=20&redirect=n" name="left" frameborder="no" scrolling="yes" id="left" title="leftFrame" />
<frame src="CPU/cat20_list_1.html" name="main" id="main" scrolling="yes"
title="main">
</frameset>
</frameset>
<noframes>
在这里进行优化!
增加链接 <a href= http://intozgc.com/CPU/cat20_list_1.html title= CPU报价> CPU报价</a>
</noframes>
框架型网站的优越性体现在页面的整体一致性和更新方便上。尤其对于那些大型网站而言, 框架结构的使用可以使网站的维护变得相对容易。但框架对搜索引擎来说是一个很大的问题,这是由于大多数搜索引擎都无法识别框架,也没有什么兴趣去抓取框架中的内容。此外, 某些浏览器也不支持框架页面。
如果网页已经使用了框架,或出于某种原因一定要使用框架结构,则必须在代码中使用 Noframes 标签进行优化,把 Noframe 标签看做是一个普通文本内容的主页。在 <Noframe></Noframe>区域中包含指向 frame 页的链接以及带有关键词的描述文本,同时在框架以外的区域(title,meta)也出现关键词文本。这样,搜索引擎才能够正确索引到框架内的信息。
还有一个办法是采用 iframe 即内联框架(Inner Frame)技术来避免 Frame 带来的不便。所谓 iframe 也是框架的一种形式,它是相当于在主浏览器窗口中内嵌一个子窗口,内容自动打开。iframe 可以嵌在网页中的任意部分,也可以随意定义其大小,其代码显示为:
实例:<iframe src=xx width=x height=x scrolling=xx frameborder=x></iframe>
对搜索引擎来说,iframe 中的文字是可见的,也可以跟踪到其中链接指向的页面,不过与用户所见不同的是,搜索引擎将 iframe 内容看成单独的一个页面内容,与被内嵌的页面无关。
图像优化
一般而言,搜索引擎只识读文本内容,对图片文件是视而不见的。同时,图像文件直接延缓页面加载时间,如果超过 20 秒网站还不能加载,用户极有可能离开你的网站。因此, 除非你的网站内容是图片为主,比如游戏站点或者图片至关重要,否则尽量避免使用大图片, 更不要采用纯图像制作
网页(SPLASH PAGE)。
网站图片优化的有以下几点:
1. 在保持图像质量的情况下尽量压缩图像的文件大小。
2. Alt 属性:
每个图像<IMG>标签中都有 ALT 属性,搜索引擎会读取该属性以了解图像的信息。因此,最好在所有插图的 ALT 属性中都有文字描述,并带上该页关键字在其中。
比较好的例子:
<img align="center" src="NP110.jpg" alt="浪潮英信 NP110 G2 服务器图片" > 3.在图片上方或下方加上包含关键词的描述文本;
4. 使用链接链接到这个图片。
例如:Google 图片搜索 NP370 浪潮英信NP370 G2 排名第一。
Google的图像搜索(Googlebot-Image)和Google的文本搜索(Googlebot)不是同一个蜘蛛。应用实例:
FLASH 优化
Flash 会使页面很好看,不过 FLASH 网页有一个非常致命的问题,即大部分搜索引擎无法识别
FLASH 中的信息。例如:一汽轿车
FLASH 优化可以从以下三个方面来考虑:
1、做一个辅助 HTML 版本:
保留原有 FLASH 版本的同时,还可以设计一个 HTML 格式的版本,这样既可以保持动态美观 效果,也可以让搜索引擎通过 HTML 版本的网页来发现网站。
2、将 Flash 内嵌 HTML 文件:
还可以通过改变网页结构进行弥补,即不要将整个网页都设计成 Flash 动画,而是将 Flash 内容嵌入到 HTML 文件中,这样对于用户浏览并不会削弱视觉效果,搜索引擎也可以从HTML 代码中发现一些必要的信息,尤其是进入内容页面的链接。
表格使用
表格是网页最重要的排版方式。
1. 如果某个网页采用了大段的长篇文本,除了可以将一页文本分成多面,还可以考虑将文本置入不同表格中,这样不仅管理方便,也使得该页加载时每个 表格内容依次加载,这样访问者就可以一边看已下载内容一边等待剩余部分加载,而不是等 待很久之后才一齐加载出来。
例如:新浪新闻
2. 表格之内套嵌太多表格也不利于页面加载,因浏览器是先加载完大表格之后再加载内嵌的小表格,因此内嵌表格会最终降低整页加载速度。
3. 尽量采用XHTML标准,使用DIV代替表格。
具体方法是采用CSS里面的 FLOAT 属性,position 属性等定位使用FLOAT 属性的例子。复杂三栏式版面
使用position 属性等定位。复杂版面设计.htm
网页减肥
代码设置不妥不仅延长网页加载时间,也严重影响蜘蛛程序对网页内容的抓取。通过对网页代码进行清减去掉臃肿杂乱的代码,减小网页文件大小,能够加快网页加载速度,让蜘蛛快速索引到重要内容。整个网页最好不要超过 30K,文字内容最好 5K-10K 之间,Google 只对内容的前 5000 个字进行索引。
网页减肥重点涉及以下几个要点:
1. CSS 样式
网页制作应通过 CSS(层叠样式表单)来统一定制字体风格。 例如:
<b style="color:red;font-size:16px;">测试</b>
<div id="divmain" style="font-size:12px;">DIV</b>
<div style="color:red;"> 红色 <b style="color:green;">绿色</b> </div>
----------------------
<style type="text/css">
b { color:red;font-size:16px; } /*通用对象*/ #divmain {font-size:12px;} /* ID 对象 */
.red {color:red;}/* 定制类别 */
.red b {color:green;}/* 定制类别下的 通用对象*/
</style>
<b>测试</b>
<div id="divmain">DIV</b>
<div class="red"> 红色 <b>绿色</b> </div>
CSS 减肥示例文件 把文字的字体、字号、颜色、背景色等统一起来,不用对每段文字单独进行格式定义,从而减少大量重复性标签。注意把所有 css 文件单独存放在命名为 css 的外 部文件中。
语法: <link rel="stylesheet" type="text/css" href="/common/client.css">
作用的优先级:自身的style属性 > 页面的内部style对象 > 页面外部css文件。
2. JavaScript:
1. 简化js中的函数名称和变量。
例如:Google,里面的函数名称只有 1 个或者 2 个字符。
2. 将网页的公共部分转换为脚本并存于 js 文件里。这样可以减少文件大小,加快下载速度,同时也方便管理。不过不能将导航等等优化的关键代码转换成 js,否则搜索引擎搜索不到。转换方式:
原来:<h1>天天收藏夹</h1>
脚本:document.write(<h1>天天收藏夹</h1>);
例如:华军软件园 源代码,将标题、导航等等都放着js文件里,将导航放在js里面就不太好了。
3. 使用 base 标签:
Base 标签是一个全集控制的标签。比如:
<A HREF="http://www.supercss.com/code/1.htm " target=_blank>代码一</A>
<A HREF="http://www.supercss.com/code/2.htm " target=_blank>代码一</A>
其中 http://www.supercss.com 和 target=_blank: 多次重复,增加无用的代码。修改为:
<head>
<base href=http://www.supercss.com/ target=_blank>
</head>
<body>
<a href=/code/1.htm>代码一</a>
<a href=/code/2.htm>代码二</a>
</body>
4. 慎用网页减肥工具
通常的网页减肥工具,对 htm 减肥具有一定的破坏性,常常为了减肥将标签的 后半个标签删除, 造成网页的不完整。
处理前:<table><tr><td>第一行</td></tr><tr><td>第二行</td></tr></table> 处理后:<table><tr><td>第一行<tr><td>第二行</table>
处理后 </td></tr> 被去掉了,使页面不完整。
5. 删除空格和回车
如果要更加苛刻的减肥,那最后一步就是删除空格了,还可以使文件大小下降很多。不过删除空格后的页面由于没有阶梯排列,将很难读懂。
不同位置的网页优化
网站首页优化:
1. 关键词选择
首页的关键词应该选择核心关键词。通常这些词优化难度比较大,需要大量的外部链接。交换链接的时候以网站名称或者核心关键词命名链接。参见:域名及网站名称中的关键词
例如:在搜索引擎优化行业,首页的关键词应该是 SEO。
2. 网页链接
首页大部分都是链接,最新的链接要放在网页的前面,便于搜索引擎收录。
3. 更新频率
蜘蛛第一个来到的页面就是首页,首页一定要经常更新,蜘蛛就会来的比较频繁,链接的页面将会更快被收录。
栏目页优化:
1. 关键词选择
栏目页的关键词,相对首页,可以选择次一些的关键词,以核心SEO为例,栏目也可以是SEO 培训,SEO 教程等。
2. 内部链接
栏目页一定要链接到首页,为首页建立内部链接。同时和其他栏目页也要相互链接。栏目页大量的链接内容页,链接数量控制在 100 个以内。
内页优化:
1. 关键词
内页可以不特别关注关键词,可以将 Meta Title 设置成相同的内容。在页面里更多的利用 H1, IMG、STRONG 标签优化关键词。
2. 内容
网页要以内容为主,大于 5K 时,可以做翻页处理。内容最好是原创,内页收录的越多,从搜索引擎来的流量才能越多。
3. 链接
通常内页很少有外部链接的,除非内容非常好,被人转载。内页要链接栏目页和首页,大量的内页链接,有利于栏目页和首页的关键词排名。内页最好能链接内容相关的其他内页,这样可以增加网页的相关度,同时方便用户浏览,增加网站的 PV。
Robots.txt
搜索引擎通过一种程序 robot(又称 spider),自动访问互联网上的网页并获取网页信息。
您可以在您的网站中创建一个纯文本文件 robots.txt,在这个文件中声明该网站中不想被 robot 访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。robots.txt 文件应该放在网站根目录下。
robots.txt 文件的格式:
"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以 CR,CR/NL, or NL 作为结束符),每一条记录的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在该文件中可以使用#进行注解,具体使用方法和 UNIX 中的惯例一样。该文件中的记录通常以一行或多行 User-agent 开始,后面加上若干 Disallow 行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎 robot 的名字,在"robots.txt"文件中,如果有多条 User-agent 记录说
明有多个 robot 会受到该协议的限制,对该文件来说,至少要有一条 User-agent 记录。如果该项的值设为*,则该协议对任何机器人均有效,在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。
Disallow:
该项的值用于描述不希望被访问到的一个 URL,这个 URL 可以是一条完整的路径,也可以是部分的,任何以 Disallow 开头的 URL 均不会被 robot 访问到。例如"Disallow:/help"对/help.html 和
/help/index.html 都不允许搜索引擎访问,而"Disallow:/help/"则允许 robot 访问/help.html,而不能访问
/help/index.html。任何一条 Disallow 记录为空,说明该网站的所有部分都允许被访问,在"/robots.txt" 文件中,至少要有一条 Disallow 记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎 robot, 该网站都是开放的。
robots.txt 文件用法举例:
例 1. 禁止所有搜索引擎访问网站的任何部分下载该robots.txt文件 |
User-agent: * Disallow: / |
例 2. 允许所有的 robot 访问 ( 或者也可以建一个空文件 "/robots.txt" file) |
User-agent: * Disallow: |
例 3. 禁止某个搜索引擎的访问 |
User-agent: BadBot Disallow: / |
例 4. 允许某个搜索引擎的访问 |
User-agent: baiduspider Disallow: User-agent: * Disallow: / |
例 5.一个简单例子 在这个例子中,该网站有三个目录对搜索引擎的访问做了限制即搜索引擎不会访问这三个目录。 需要注意的是对每一个目录必须分开声明,而不要写成 "Disallow: /cgi-bin/ /tmp/"。 User-agent:后的*具有特殊的含义,代表"any robot",所以在该文件中不能有"Disallow: /tmp/*" or "Disallow:*.gif"这样的记录出现. |
, User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
Robot 特殊参数:
1. Google
允许 Googlebot:
如果您要拦截除 Googlebot 以外的所有漫游器访问您的网页,可以使用下列语法:
User-agent:Disallow:/ User-agent:Googlebot
Disallow:
Googlebot 跟随指向它自己的行,而不是指向所有漫游器的行。
"Allow"扩展名:
Googlebot 可识别称为"Allow"的 robots.txt 标准扩展名。其他搜索引擎的漫游器可能无法识别此扩展名,因此请使用您感兴趣的其他搜索引擎进行查找。"Allow"行的作用原理完全与"Disallow" 行一样。只需列出您要允许的目录或页面即可。
您也可以同时使用"Disallow"和"Allow"。例如,要拦截子目录中某个页面之外的其他所有页面, 可以使用下列条目:
User-Agent:Googlebot Disallow:/folder1/ Allow:/folder1/myfile.html
这些条目将拦截 folder1 目录内除 myfile.html 之外的所有页面。
如果您要拦截 Googlebot 并允许 Google 的另一个漫游器(如 Googlebot-Mobile),可使用
"Allow"规则允许该漫游器的访问。例如:
User-agent:Googlebot Disallow:/
User-agent:Googlebot-Mobile Allow:
使用 * 号匹配字符序列:
您可使用星号 (*) 来匹配字符序列。例如,要拦截对所有以 private 开头的子目录的访问,可使用下列条目:
User-Agent:Googlebot Disallow:/private*/
要拦截对所有包含问号 (?) 的网址的访问,可使用下列条目:
User-agent:* Disallow:/*?*
使用 $ 匹配网址的结束字符
您可使用 $ 字符指定与网址的结束字符进行匹配。例如,要拦截以 .asp 结尾的网址,可使用下列条目:
User-Agent:Googlebot Disallow:/*.asp$
您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 表示一个会话 ID,您可排除所有包含该 ID 的网址,确保 Googlebot 不会抓取重复的网页。但是,以 ? 结尾的网址可能是您要包含的网页版本。在此情况下,可对 robots.txt 文件进行如下设置:
User-agent:* Allow:/*?$ Disallow:/*?
Disallow:/ *?一行将拦截包含 ? 的网址(具体而言,它将拦截所有以您的域名开头、后接任意字符串,然后是问号 (?),而后又是任意字符串的网址)。
Allow: /*?$ 一行将允许包含任何以 ? 结尾的网址(具体而言,它将允许包含所有以您的域名开头、后接任意字符串,然后是问号 (?),问号之后没有任何字符的网址)。
Sitemap 网站地图:
对网站地图的新的支持方式,就是在 robots.txt 文件里直接包括 sitemap 文件的链接。就像这样:
Sitemap: http://www.supercss.com/index.xml
目前对此表示支持的搜索引擎公司有 Google, Yahoo, Ask and MSN。
不过,我建议还是在 Google Sitemap 进行提交,里面有很多功能可以分析你的链接状态。
Robots.txt 带来的好处:
1. 几乎所有的搜索引擎 Spider 都遵循 robots.txt 给出的爬行规则,协议规定搜索引擎 Spider 进入某个网站的入口即是该网站的 robots.txt,当然,前提是该网站存在此文件。对于没有配置robots.txt 的网站,Spider 将会被重定向至 404 错误页面,相关研究表明,如果网站采用了自定义的 404 错误页面,那么 Spider 将会把其视作 robots.txt虽然其并非一个纯粹的文本文件这将给 Spider 索引网站带来很大的困扰,影响搜索引擎对网站页面的收录。
2. robots.txt 可以制止不必要的搜索引擎占用服务器的宝贵带宽,如 email retrievers,这类搜索引擎对大多数网站是没有意义的;再如 image strippers,对于大多数非图形类网站来说其也没有太大意义,但却耗用大量带宽。
3. robots.txt 可以制止搜索引擎对非公开页面的爬行与索引,如网站的后台程序、管理程序,事实上,对于某些在运行中产生临时页面的网站来说,如果未配置 robots.txt,搜索引擎甚至会索引那些临时文件。
4. 对于内容丰富、存在很多页面的网站来说,配置 robots.txt 的意义更为重大,因为很多时候其会遭遇到搜索引擎 Spider 给予网站的巨大压力:洪水般的 Spider 访问,如果不加控制,甚至会影响网站的正常访问。
5. 同样地,如果网站内存在重复内容,使用 robots.txt 限制部分页面不被搜索引擎索引和收录, 可以避免网站受到搜索引擎关于 duplicate content 的惩罚,保证网站的排名不受影响。
robots.txt 带来的风险及解决:
1. 凡事有利必有弊,robots.txt 同时也带来了一定的风险:其也给攻击者指明了网站的目录结构和私密数据所在的位置。虽然在 Web 服务器的安全措施配置得当的前提下这不是一个严重的问题,但毕竟降低了那些不怀好意者的攻击难度。
比如说,如果网站中的私密数据通过 www.yourdomain.com/private/index.html 访问,那么,在 robots.txt 的设置可能如下:
User-agent: * Disallow: /private/
这样,攻击者只需看一下 robots.txt 即可知你要隐藏的内容在哪里,在浏览器中输入www.yourdomain.com/private/ 便可访问我们不欲公开的内容。对这种情况,一般采取如下的办法:
设置访问权限,对/private/中的内容实施密码保护,这样,攻击者便无从进入。
另一种办法是将缺省的目录主文件 index.html 更名为其他,比如说 abc-protect.html,这样, 该内容的地址即变成 www.yourdomain.com/private/abc-protect.htm,同时,制作一个新的index.html 文件,内容大致为你没有权限访问此页之类,这样,攻击者因不知实际的文件名而无法访问私密内容。
2. 如果设置不对,将导致搜索引擎将索引的数据全部删除。
User-agent: * Disallow: /
上述代码将禁止所有的搜索引擎索引数据。参见:页面收录减少,如何检查判断?
网页相似度
网页相似度是比较网页是否相似,通常有以下两种计算方式:
1. 根据网页摘要来比较,如果多个网页摘要的 md5 值一样,证明这些网页有很高的相似性
2. 根据网页出现关键词,按照词频排序,可以取 N 个词频高的,如果 md5 值一样,证明这些网页有很高的相似性。
网页相似度对 SEO 的影响:
Google 对网页相似度限制在 60%,如果超过这个标准将导致页面不被收录,或者收录后排名靠后中。
参考:如何降低网页相似度?
发表评论 取消回复