你隨便去找一個做SEO的人或者一個公司,他百分之百會讓你把網頁弄成純靜態頁面,然后告訴你這樣對搜索引擎是如何如何地好,那么我告訴你,這個做 SEO的,肯定不專業。
網頁靜態化這個東西,純屬以訛傳訛的事。我們要說說這個事情的起源,在搜索引擎剛剛起步的時候,那個時間動態頁面剛剛興起,很多網頁的地址后面都帶有一大堆的參數,并且這些參數可能是動態變化的,他會根據用戶的操作不同而有不同的參數。對于這樣的地址,搜索引擎是不喜歡的,這是為什么呢?我們先看搜索引擎在做什么事,搜索引擎實際上是一個程序,學名叫Spider,放出去之后把某個網站下載進行分析,然后把摘要部分放到自己的數據庫,下次用戶搜索的時候,就直接搜索到它的數據庫了。
我們說具體一些,就拿我的網站舉例吧,比如說Google要來索引我的網站,它首先會訪問http://www.lamparm.com這個主域名,而實際上 http://www.lamparm.com是定位到http://www.lamparm.com/index.php這個頁面的。這樣spider首先下載index.php當前頁的html內容,注意,spider只需要原生的html內容(當然包括文本),不包括iframe中的任何內容,也不包括js等腳本生成的任何內容,也不會包括圖片、flash等多媒體的內容,僅僅是對html標簽和標簽中的內容進行索引。
如果你對正則了解,那么你就應該完全可以知道搜索引擎的工作原理了,它當你的html是一段文本,然后進行分析,取得其中的文字內容和鏈接內容,再根據這個鏈接進行下一個索引。明白我的意思了么?搜索引擎不是瀏覽器,不會作任何像瀏覽器的解釋動作。當然,實際的技術要復雜得多,如何取出正確的摘要(索引),如何編制這些索引,提高搜索命中率,這些都是比較復雜的技術問題。
通過上面,你就可以看到,搜索引擎實際就是把文本進行分析,然后放到數據庫。注意數據庫!有些技術基礎的人都知道,只要是數據庫,就會有主鍵,而根據范式理論,數據庫應該有一個唯一的主鍵,那么搜索引擎索引回去的數據,也應該有一個唯一的主鍵。這個主鍵是什么?就是我們的網址。這里再提一下,搜索引擎并不是采用關系型數據庫,而是文件型數據庫,并且索引方式也與我們常用的數據庫不一樣,但不管怎么樣,它還是一個數據庫。
再看靜態頁面與動態頁面的區別,靜態頁面的內容是固定不變的,而網址也是不變的。動態頁面的內容是實時變化的,根據用戶的操作和時間的不同(比如說最新回復這樣的內容)會顯示不同的內容,動態頁面有可能是不變的網址,也有可能是變化的網址。在速度方面,一般情況下,靜態網頁都要快于動態網頁。
看到上面你明白為什么了,搜索引擎不是喜歡靜態頁面,而是喜歡靜態網址,更確切地說,喜歡較靜態(不太變化)的網站。所以不管是Google的 SEO指南,還是百度的站長指南,都有提到一個問題,就是網址后面不要帶太多的參數。
很多時候,我們為了SEO將網站全部搞成靜態化,有這個必要么?我們知道,現在網站做成純靜態的基本上不太可能,除了一些像維基百乎之類的網站,我們的網站都需要去修改,需要用戶去參與互動,還有一大堆的原因讓我們的網站都在動態的變化,而這個時候,我們卻需要將網站完全做成html靜態頁。結果我們就犧牲用戶的友好體驗來“博得搜索引擎的歡心”,哪知道,搜索引擎并不是喜歡靜態頁。
如果你對IIS有研究,你就知道IIS可以將任何一個擴展名的網頁改成html的進行執行,比如說我可以將aspx的網頁改成html,然后讓 iis把html交給.net framework去解析,這樣對搜索引擎來說,也就變成html了,有什么區別嗎?
那么,改成html對搜索引擎完全沒有改善么?也不是,起碼可以提升速度,這個對seo是有很大的好處的,但如果你網站的html靜態頁與動態頁差不多,我們又為什么要犧牲功能、增加難度去搞什么靜態頁面呢?況且,如果你的服務器靜態文件太多,而磁盤不太好的話,可能速度還會降低!
我們應該怎么做?首先,網址要較為固定,不要搞一大堆的參數掛在網頁后面;其次,不要將希望被搜索引擎看到的參數,放到form中,然后用post 方式提交,這一點特別是.net做得非常不招人待見,因為.net的form都是在本頁提交,把參數都寫在隱藏域里面。所以我們看到,.net基本是在企業內網這樣的系統中太有作為,在internet網站方面,如果你不經過特殊處理,asp.net變得一無是處!
對于固定地址,我們可以采用url rewriter來重寫地址,這個功能不管是.net還是apache都有,比如說我可以將http://www.lamparm.com/page.aspx?page=1這樣的網頁重寫成http://www.lamparm.com/page/1,這樣對url對搜索引擎是友好的。
所以說,如果為了SEO去搞靜態化,犧牲了網站可維護性和友好性、擴展性,是完全不可取的,基本上不會帶來什么效果。我們應該從程序上下功能,讓網站的速度變得更加快,html變得更加簡潔,這樣才更加有利于搜索引擎。