搜索引擎對動態的URL不夠友好,URL靜態化對SEO非常重要,可能沒有幾個朋友會反對吧。放眼當下互聯網上URL靜態化的趨勢,應當是可以用越演越烈來形容的。甚至有些站長為了網站的靜態化,把自己弄得焦頭爛額(當然我不是說,所有的URL靜態化都是為了搜索引擎!
一個靜態網址,顧名思義,就是一個不會發生變化的網址,它通常不包含任何網址參數。
例如:http://www.example.com/archive/123.html
靜態頁面的特征
1、靜態頁面的URL鏈接是以.html、htm、.shtml、.xml為鏈接后綴;
2、靜態頁面是存在于服務器上的一個文件,每個網頁都是一個獨立的文件;
3、客戶端加載靜態頁面時,并沒有操作數據庫,只是直接提取一個文件。
靜態頁面優缺點
優點:相比其他兩種頁面,速度最快。加載速度快,不需要從數據庫里面提取數據,不會對服務器產生壓力。
缺點:由于數據都是儲存在HTML里面,所以導致文件非常大。并且最嚴重的問題是,更改源代碼必須全部更改,而不能改一個地方,全站靜態頁面就自動更改了。如果是大型網站有比較多的數據,那會占用大量的服務器空間,每次添加內容都會生存新的HTML頁面。如果不是專業人士維護比較麻煩。尤其是當信息量增長很快時,因為每一個單獨的頁面都必須更改編譯代碼。這也是為什么網站管理員們在處理大型的、經常更新的網站,像在線購物網站、論壇社區、博客或者是內容管理系統時,會使用動態網址的原因。
對于SEO優化:靜態頁面對于搜索引擎是非常友好的。很多個人網站以及企業網站都很看不起動態頁面,說是搜索引擎不會收錄動態頁面網站,這是不科學的,說不定別人的動態頁面網站比你的靜態頁面收錄更多呢。當然前提條件就是,動態URL最好不要帶太多的復雜參數,符號等等。搜索引擎對于動態頁面的收錄方式是一樣的,而區別最大的地方,其實就是速度上面的差別,這一點差別是非常微弱的,而大型網站多數是使用靜態頁面,這是因為對服務器壓力比較小。
動態頁面的特征
1、以ASP、PHP、JSP、ASP.net、Perl、或CGI等編程語言制作的;
2、不是獨立存在于服務器上的網頁文件,只有當用戶請求時服務器才返回一個完整的網頁;
3、內容存在于數據庫中,根據用戶發出的不同請求,其提供個性化的網頁內容;
4、內容不是存在于頁面上,而是在數據庫中,從而大大降低網站維護的工作量。
如果一個網站的內容存儲于一個數據庫,并且根據要求來顯示頁面,這時就可以使用動態網址。在這種情況下,網站提供的內容基本上是基于模板形式的。通常情況下,一個動態網址看起來像這樣:
www.example.com/article/detail?id=31
您可以通過尋找像? = & 這樣的符號識別出動態網址。動態網址有一個缺陷是不同的網址可以擁有相同的內容。這樣導致不同的用戶可能鏈向含有不同參數的網址,但是這些網址卻都含有相同的內容。這也是為什么網絡管理員有時候想要將這些動態網址重寫成靜態網址的原因之一。
動態頁面優缺點
優點:空間使用量非常小,一般幾萬條數據的網站,可能只有幾M的文件大小,而使用靜態頁面少則十幾M,多則幾十M。因為數據是從數據庫里面調用而來,所以如果要更改某些數值,直接更改數據庫,那么所有的動態頁面,就會自動更新了。這一點相比靜態頁面好處就大很多了。
缺點:用戶訪問速度較慢,為什么會訪問動態頁面較慢呢。這個問題我們就必須從動態頁面的訪問機制說起了,其實我們的服務器上面有一個解析引擎,當用戶訪問的時候,這個解析引擎就會把動態頁面翻譯為靜態頁面,這樣大家就能夠在瀏覽器里面查看源碼了。而這個源碼就是解釋引擎翻譯以后的源碼。除訪問速度較慢以外,動態頁面的數據是從數據庫里面調用過來的,如果訪問人數非常多,服務器壓力就會非常大的,不過現在動態程序都是使用了緩存技術。但是總體來講,動態頁面對于服務器的壓力比較大一點。同時動態頁面的網站一般對服務器高求要比較高一些,同時訪問的人越多也會造成服務器壓力越大。
在處理動態網址時,希望您能了解以下幾點事實:
1、要正確地生成和維護從動態網址到靜態化網址的重寫轉變實際上是一件很難的事情。
2、將原始的動態網址提供給我們會比較安全,請讓我們來處理諸如探測和避開那些有問題的參數的事情。
3、如果您想重寫網址,請去掉那些不必要的參數,同時請保持它動態網址的樣子。
4、如果您想提供一個靜態網址代替動態網址,那么您應該切實地生成相應的靜態內容。
我們碰到過很多網站管理員,像我們的朋友那樣,認為靜態或者看起來是靜態的網址對于網站的索引和排名是有優勢的。這種看法是基于這樣一個假設,即認為搜索引擎抓取和分析含有會話標識 (session ID) 和來源追蹤器 (source tracker) 的網址時是有問題的。然而,事實是,在這兩個方面都有了相當的進展。就點擊率來說,靜態網址可能略微有些優勢,因為用戶可以很容易地讀懂這個網址。但是,就索引和排名來說,使用數據庫驅動網站并不意味著明顯的劣勢。相比較將參數隱藏以使他們看起來是靜態的網址來說,我們更希望網站將動態的網址直接提供給搜索引擎。
現在,讓我們來看一些有關動態網址的廣為傳播的看法,并且來糾正一些蒙蔽網站管理員的假說。
傳說:"動態網址不能被抓取。"
事實:我們可以抓取動態網址并且解釋不同的參數。如果您為了讓網址看起來像是靜態的,而隱藏那些可以給提供有價值信息的參數,這樣做反而會給該網址的抓取和排名帶來麻煩。我們的建議是:請不要將一個動態網址改換格以使其看起來是靜態的。盡可能地使用靜態網址來顯示靜態內容是可取的,但在您決定展示動態內容的情況下,請不要將參數隱藏起來從而使他們看起來像是靜態的,因為這樣做會刪除掉那些有助于我們分析網址的有用信息。
傳說:"動態網址的參數要少于3個。"
事實:對于參數的數量是沒有限制的。但是,一個好的經驗是不要讓您的網址太長(這個適用于所有的網址,不論是靜態的還是動態的)。您可以去掉一些對于搜索引擎蜘蛛來說不重要的參數,給用戶一個好看一點的動態網址。如果您能確定可以去掉哪些參數,我們建議您將動態網址中所有的參數都提供給我們,我們的系統會弄明白哪一些是不重要的。將參數隱藏起來會影響我們正確地分析您的網址,我們也就不能識別這些參數,一些重要信息可能也因此丟失了。
下面一些是我們認為您可能會存在疑問的一些問題。
這是否意味著我應該完全避免重寫動態網址?
這是我們的建議,除非您能確保您只是去掉多余的參數,或能夠把所有有可能有不良影響的參數完整地刪除。如果您把自己的動態網址任意修改使其看起來像是靜態的,您要清楚這樣做是有風險的,有可能會導致有些信息不能被正常編譯和識別。如果您想給您的網站再增加一個靜態的版本,請您一定要提供一個真正意義上的靜態的內容,比如生成那些可以通過網站相應路徑而獲取的文件。如果您僅僅是修改了動態網址的表現形式,而沒有真正提供靜態的內容,那么您有可能適得其反。請直接把標準的動態URL提供給我們,我們會自動找出那些冗余的參數。
如果您有一個像下面這樣標準格式的動態網址:foo?key1=value&key2=value2,我們建議您不用改動它,會決定哪些參數可以去掉;或者您可以為用戶去掉那些不必要的參數。不過要慎重,僅僅去掉那些不重要的參數。這里有個含有多個參數的動態網址的例子:
www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL language=en – 標明這篇文章的語言 answer=3 – 這篇文章含有數字3 sid=8971298178906 – 會話標識代碼是8971298178906 query=URL – 使這篇文章被找到的查詢是[URL]
并不是所有的參數都提供額外的信息。所以將這個網址重寫為www.example.com/article/bin/answer.foo?language=en&answer=3 可能不會引起任何問題,因為所有不相關的參數都去掉了。
下面是一些經過認為修改而看起來像是靜態網址的例子。相比較沒有重寫、直接提供動態網址來說,這些網址可能會引起更多抓取方面的問題。
www.example.com/article/bin/answer.foo/en/3/98971298178906/URL www.example.com/article/bin/answer.foo/language=en/answer=3/ sid=98971298178906/query=URL www.example.com/article/bin/answer.foo/language/en/answer/3/sid/ 98971298178906/query/URL www.example.com/article/bin/answer.foo/en,3,98971298178906,URL
如果你將動態網址重寫成如上所述的示例的話,可能會導致我們很多不必要的抓取,因為這些網址中都含有會話標識 (sid) 和查詢 (query) 參數的可變值,這無形中生成了很多看起來不同的 URL ,而他們包含的內容卻是相同的。這些格式讓我們很難理解通過這個網址返回的實際內容和參數URL以及98971298178906是無關的。不過,下面這個重寫的例子卻將所有無關的參數都去掉了:
www.example.com/article/bin/answer.foo/en/3
盡管我們可以正確地處理這個網址,我們還是不鼓勵您使用這樣的重寫。因為它很難維護,而且一旦一個新的參數被加到原始的動態網址,那么這個網址就需要馬上更新。不這樣做的話就會再次導致生成一個隱藏了參數的貌似靜態網址的 URL 。所以最好的解決方法是通常將動態網址保持他們原來的樣子。或者,如果您去掉不相關的參數,請記住一定要保持這個網址是動態的:
www.example.com/article/bin/answer.foo?language=en&answer=3
偽靜態頁面優缺點
優點:大家都知道靜態頁面對SEO有很大益處,對服務器的負載很小,但靜態頁面的缺點是不能隨時更新。對于偽靜態的優點,這個并不好講,偽相比動態網頁而言,并沒有提到速度上面的提升,相比較而言,因為是“假”靜態頁面,其實還是一個動態頁面,也是同樣需要翻譯為靜態頁面的。最大的好處就是讓搜索引擎把自己的網頁當做靜態頁面來處理。
缺點:從名稱上面就能夠看出來缺點,“偽靜態”其實就是“假靜態”,搜索引擎會不會把他當做是靜態頁面來處理,這只是我們靠經驗靠邏輯去分析的,并不一定準確。或許搜索引擎直接把他認為是動態頁面,我們做那么多努力,其實什么也沒有換來。
動態URL的站內優化策略
如何讓動態URL表現更好,從站內角度提出下面3個要點:
1、導航很重要:
完善的站內導航,有利于Spider高效率的爬行。整站盡可能做到:從首頁出發,較重要的位置,不超過3次點擊就能到達;最重要的位置,應該在首頁出現相應的鏈接;必要時,可以單獨制作一個靜態導航頁。
2、制作網站地圖:
首先網站內應該有一個網站地圖頁面,將常用位置在這個頁面中做上鏈接,用戶可以最快的了解網站結構,搜索引擎Spider可以快速高效的對網站爬行;
3、URL統一、規范:
同一URL出現多個版本(如read.php?id=1和read.php?id=1&page=1),同一位置出現多個URL形式(如list.php?companyname=xxx和list.php?companyid=123),及大小寫問題等都可能導致在搜索引擎中出現相似頁面,從而影響網站在搜索引擎中的表現。
總之,個人認為動態URL不一定比靜態頁面差,只要優化得當,在搜索引擎中同樣有好的表現。而且很多只能或最好用動態程序的時候(如論壇、訂單系統等交互性很強的站點),沒必要刻意要求生成HTML,或做成靜態頁面。