核心提示:框架型网站的优越性体现在页面的整体一致性和更新方便上。尤其对于那些大型网站而言, 框架结构的使用可以使网站的维护变得相对容易。但框架对搜索引擎来说是一个很大的问题,这是由于大多数搜索引擎都无法识别框架,也没有什么兴趣去抓取框架中的内容。
从网上找到的几种静态化方法,时间长了,也忘了出处,不过大家还是可以学习一下。
几种静态化方法:
1. 使用IIS_ReWrite 静态化处理,适合PHP、ASP、ASP.NET 程序。
A. isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行
重写,只能进行全局处理,精简版下载地址ISAPI_Rewrite 2.7 For IIS 。
B. 打开IIS,选择网站,右键菜单属性,添加过滤器。如图:
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 实现静态化。
A. 下载URLRewriter.rar,解压后放在/bin/目录下
B. 将URLRewriter.rar 加入工程引用。
C. 配置IIS 站点,将扩展名为html 指向处理程序aspnet_isapi.dll。
IIS 站点->属性->主目录->配置->添加
可执行文件和aspx 处理相同,都是 c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
特别注意,一定不要选择检查文件是否存在。
D. 在web.config 中添加配置内容,压缩包里有。
<configSections>
<section name="RewriterConfig"
type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<!-- 实际重定向-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(\d*).html</LookFor>
<SendTo>~/user/default.aspx?link=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<!--
需要在IIS 里面增加html 引用,改成aspx 的引用
-->
<httpHandlers>
<add verb="*" path="*.aspx"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
E. 在地址栏输入http://localhost/1.html 指向http://localhost/user/default.aspx?link=1
4. 基于Apache HTTP Server 静态化Apache Web Server 的配置(conf/httpd.conf )
A. 在httpd.conf 文件中查找LoadModule rewrite_module modules/mod_rewrite.so
通常该行被注释,去掉“#”。如果没有就增加该行。
B. 加入代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/([0-9]+).html$ /user.php?user=$1
</IfModule>
C. 如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置文件.htccess 中去,否则可能
无法使用。
D. 重启Apache,重新载入配置。
E. 在地址栏输入http://localhost/1.html ,实际指向http://localhost/user.php?user=1
5. 静态化后文件格式
链接静态化后可以是html 文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索
引擎中获得更好的排名。
例如:优化前:http://www.xxxxxx.com/user.asp?id=1
优化后文件:http://www.xxxxxx.com/user/1.html
目录:http://www.xxxxxx.com/user/1/
同等条件下http://www.xxxxx.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://xxxxxx.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.删除空格和回车
如果要更加苛刻的减肥,那最后一步就是删除空格了,还可以使文件大小下降很多。
不过删除空格后的页面由于没有阶梯排列,将很难读懂。
例子:百度首页的代码就非常紧凑。
不同位置的网页优化
网站首页优化
|