對于搜索引擎而言,在主觀上對靜態頁面和動態頁面并沒有特殊的好惡,只是很多動態頁面的參數機制不利于搜索引擎收錄,而靜態頁面更容易收錄而已。此外,頁面靜態化在一定程度上也提高了頁面訪問速度和系統性能及穩定性——這使得在搜索引擎優化上面,為使得效果更加明顯,問題簡單快速解決,大家對站點的靜態化趨之若騖。
然而對于一些大型網站,靜態化帶來的問題和后續成本也是不容忽視的:
由于生成的文件數量較多,存儲需要考慮文件、文件夾的數量問題和磁盤空間容量的問題———需要大量的服務器設備;
程序將頻繁地讀寫站點中較大區域內容,考慮磁盤損傷問題及其帶來的事故防范與恢復——硬件損耗要更新、站點備份要到位;
頁面維護的復雜性和大工作量,及帶來的頁面維護及時性問題——需要一整套站點更新制度和專業的站點維護人員;
站點靜態化,增加了更新維護難度和網站管理人員工作強度,增加了硬件設備需求和損耗速度,增加了站點潛在的訪問沖突和故障概率。對于一個大型網站而言,這都是必須考慮的問題。
對于SEO優化,我們不需要真正靜態化,只需要假裝就可以了。動態頁面也一樣能夠做好SEO優化。
目前大多數搜索引擎基本都能收錄動態頁面,使用動態頁面的站點數也遠遠大于靜態頁面的站點數。
許多大型網站雖然網址的后綴為。htm,但其實還是動態頁面,只是用了URL Rewrite的方式“欺騙”搜索引擎,真正完全靜態的沒有發現幾個。
目前對于一個動態網站,實施相對靜態化的做法基本有如下幾種:
1. 偽靜態,URL Rewrite方式。
2. 類似蜘蛛的方法,動態站點也存在,只是通過一個程序去抓取整個站點并保存發布為需要訪問的靜態站點。
不論是真靜態頁面還是偽靜態頁面,在方便搜索引擎收錄這一點上,效果都是一樣的。既然如此,為什么不使用效率更高的“相對靜態化”的方法,以避免真正靜態化所產生的諸多問題呢?
在頁面更新維護問題上,即使是偽靜態,也帶來了不少維護的復雜性和工作量。目前較為可取的更新方式有:
觸發式更新:當維護人員在后臺更改某些信息后,系統自動或提供手動更新相應顯示頁面。
獨立、分片式更新:更新與維護分開,頁面劃分為不同的區,根據一定的規則對于區進行更新。區之間的整合與分離,有的是采用活動域,有的是采用SSI(Server Side Include)。
對于獨立、分片式更新,應當是大型網站相對靜態化后較為理想的更新維護模式:
1. 將各頁面定義分區、編號,給定存儲規則和更新規則,更新規則分為“依據數據變更更新”和“周期更新”。
2. 對于各區采用優先級的方式,并提供手工觸發的即時更新,以保證部分信息的更新時間需要。
3. 靜態頁面替換動態頁面,同時保留動態頁面,并在靜態頁面未生成完畢時采用動態頁面代替。
靜態化對于網站SEO來說,應當只是一個信號,告訴搜索引擎我的站點很好收錄,然后帶領搜索引擎盡可能多的“瀏覽”站點內的內容。只要能夠方便瀏覽和收錄,不論是靜態頁面還是動態頁面,搜索引擎都會一視同仁的去收錄。
對于小網站而言,站點靜態化或許是解決網站收錄量的一個簡便的辦法,而對于大網站來說,則要認真考慮了,是不是真的有必要去做靜態化,還是做一下“相對靜態化”就夠了。