动态页面静态化

从网上找到的几种静态化方法,时间长了,也忘了出处,不过大家还是可以学习一下。几种静态化方法:
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. 在地址栏输入[url]http://localhost/1.html[/url]
指向[url]http://localhost/user/default.aspx?link=1[/url]
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. 在地址栏输入[url]http://localhost/1.html[/url]
,实际指向[url]http://localhost/user.php?user=1[/url]

5.
静态化后文件格式
链接静态化后可以是html
文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索
引擎中获得更好的排名。
例如:优化前:[url]http://www.xxxxxx.com/user.asp?id=1[/url]
优化后文件:[url]http://www.xxxxxx.com/user/1.html[/url]
目录:[url]http://www.xxxxxx.com/user/1/[/url]
同等条件下[url]http://www.xxxxx.com/user/1/[/url]
有更高的优先权。
框架结构
框架结构,即帧结构(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=” [url]http://xxxxxx.com/CPU/cat20_list_1.html[/url]
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>
其中[url]http://www.supercss.com[/url]
和target=”_blank”: 多次重复,增加无用的代码。
修改为:
<head>
<base href=”[url]http://www.supercss.com/[/url]
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.删除空格和回车
如果要更加苛刻的减肥,那最后一步就是删除空格了,还可以使文件大小下降很多。
不过删除空格后的页面由于没有阶梯排列,将很难读懂。
例子:百度首页的代码就非常紧凑。
不同位置的网页优化
网站首页优化

原文地址:https://www.cnblogs.com/vscnblogs/p/2653012.html