說說網站靜態化和SEO

大家一說起網站的高性能,第一時間想到的就是使訪問者訪問的是靜態頁面,因爲大家都知道訪問靜態頁面的開銷比動態的要小得多,而且高效得多。這也是前幾年seo專家們普遍優化網站的重點之一。但是對於目前網絡上內容變化頻繁的大型網站而言(如淘寶),使用靜態頁面訪問雖然很好。但是細細想一下,以淘寶這樣的規模,其靜態化網站的頁面至少有幾十萬,甚至上百萬。這樣維護一個如此大規模的靜態文件,其難度程度可想而知了,最重要的是其頁面內容是經常更新的,如我們一個寶貝的頁面,要顯示店主的在線狀態、用戶的購買情況等等,這些都是可能隨時更新的,因此對於這樣的網站實行靜態化,個人感覺無疑於“自殺”!話可能說的有點過了,呵呵,網站靜態化對於小型網站,頁面內容更新不需要很頻繁的網站無疑是優化網站性能的一個很重要的方面,而且網站靜態化對於SEO也是非常有幫助的,雖然目前的搜索引擎也支持動態生成的內容,但似乎更青睞靜態頁面,包括僞靜態頁面。

以前在開發系統時,也有一個門戶的部分,當時考慮到系統的性能問題也使用靜態化頁面,但並不是傳統的html頁面,而是xml+xsl文件的組合,這樣改變xsl文件後整個網站也就隨之改變了,達到了內容與顯示的分離,同時也實現了靜態化。當然了,那個門戶基本上都是新聞發佈之類的,對於其內容的更新不是非常多,所以這樣處理就很方便和實用了。剛剛也說到了使用僞靜態化似乎是大型網站的更好的選擇,因爲不需要維護大量的靜態文件。我們可以看到對於淘寶、163、sohu等網站,雖然其新聞頁面和寶貝頁面是html後綴的,但是同時也看到其內容應該是屬於動態更新的,要不然,還真是無法想象。所以可以想到,目前的大型網站幾乎很少用靜態頁面來訪問的,多數是基於僞靜態化的訪問方式。僞靜態化就是說訪問地址看上去其後綴是html或htm等形式,但其內容實際上是動態生成的。那麼如何實現網站的僞靜態化呢?這個也是我下面要說的,就是URL的rewrite,即URL的重寫技術。

我們以apache2.2爲例來說下如何實現url的rewrite,首先要給apahce2安裝rewrite模塊,操作步驟如下:

#cd /home/
#tar xf httpd-2.2.6.tar.gz
#cd httpd-2.2.6
#./configure --prefix=/usr/local/apache2.2 --enable-so --with-mpm=worker --enable-module=rewrite --enable-shared=rewrite
#make && make install
#cd modules/mappers/
#/usr/local/apache2.2/bin/apxs -c mod_rewrite.c -lgdbm
#gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm
#/usr/local/apache2.2/bin/apxs -i -A -n rewrite mod_rewrite.so


這樣我們就安裝好了apache的rewrite模塊,然後我們就可以使用正則式來匹配url並替換了。apache使用rewrite模塊的格式如下:

RewriteEngine On #開啓rewrite模塊
RewriteRule 源地址的正則式 rewrite後的真實地址

通常對於如下的動態地址我們可以使用相應的靜態地址進行重寫,如下:

/bbs/list-4-1.html      /mybbs/show-topic.do?border=4&page=1

這樣我們在apache中就可以這樣寫入:

RewriteRule ^/bbs/list-([0-9]+)-([0-9]+)\.html$  /mybbs/show-topic.do?border=$1&page=$2 [pt]


像上面的地址我們就是將所有/bbs/list-4-1.html這樣的地址匹配成/mybbs/show-topic.do?border=4&page=1這樣的動態地址,同時轉給tomcat來進行處理(rewriteRule後的[pt]標誌)。我們假設以靜態頁面爲例子的話,同時假設apache的網站根路徑是/www/test/,我們在根目錄下建立123.html文件,然後在apache的配置文件中寫入如下的重寫規則:

RewriteRule ^/show/news-([0-9]+)\.html$ /$1.html

這樣,當我們訪問/show/news-123.html的時候,就會被apache重寫爲/123.html,也就是訪問到根目錄下的123.html文件了,如果有246.html文件在根目錄下,那麼我們就可以訪問/show/news-246.html了。

通過url的rewrite技術,我們可以很方便的來僞靜態化網站,同時又實現動態的內容,而且對於seo也有一定的幫助,呵呵~~~另外,在lighttpd中使用rewrite也是非常方便,正則式基本上差不多。
發佈了2 篇原創文章 · 獲贊 0 · 訪問量 3420
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章