幾種動態網站靜態化方法

 從網上找到的幾種靜態化方法,時間長了,也忘了出處,不過大家還是可以學習一下。幾種靜態化方法:
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.刪除空格和回車
如果要更加苛刻的減肥,那最後一步就是刪除空格了,還可以使文件大小下降很多。
不過刪除空格後的頁面由於沒有階梯排列,將很難讀懂。
例子:百度首頁的代碼就非常緊湊。
不同位置的網頁優化
網站首頁優化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章