• 动态页面静态化


    从网上找到的几种静态化方法,时间长了,也忘了出处,不过大家还是可以学习一下。几种静态化方法:
    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.删除空格和回车
    如果要更加苛刻的减肥,那最后一步就是删除空格了,还可以使文件大小下降很多。
    不过删除空格后的页面由于没有阶梯排列,将很难读懂。
    例子:百度首页的代码就非常紧凑。
    不同位置的网页优化
    网站首页优化

  • 相关阅读:
    zabbix3.0.4使用percona-monitoring-plugins插件来监控mysql5.6的详细实现过程
    centos6.5环境wget报错Unable to establish SSL connection
    文件缓存tmpfs简单使用
    codis3.2安装报错dashboard.go:369: [PANIC] call rpc create-proxy to dashboard 127.0.0.1:18080 failed的处理
    saltstack自动化运维系列12配置管理安装redis-3.2.8
    反向代理负载均衡之APACHE
    web服务器tomcat入门实战
    haproxy配置基于ssl证书的https负载均衡
    keepalived实现haproxy负载均衡器的高可用
    centos7使用haproxy1.7.5实现反向代理负载均衡实战
  • 原文地址:https://www.cnblogs.com/vscnblogs/p/2653012.html
Copyright © 2020-2023  润新知