跳轉時的HTTP的狀態代碼一般為200,301,302中的一個,下面先列出各狀態代碼出現的情況,然後再解釋各狀態代碼有什麼不同:
狀態代碼200的跳轉:
1. <meta http-equiv="refresh" content="3; URL=default.aspx" />
2. Server.Transfer("default.aspx");
3. URLRewrite--嚴格來說,這個不算是跳轉,只是一種URL“欺騙”
4. <a>--不知道我把這個標籤也列為一種跳轉會不會有人有意見
狀態302的跳轉:
Response.Redirect("default.aspx");
狀態301和的跳轉: Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "http://www.cnblogs.com/dingxue");
對於使用者來說,各個跳轉都差不很多,都可以達到目的。但對於SEO來說,這些差得很遠,狀態200第三條使用合適對SEO有很大好處,但狀態200的第一條和狀態302卻基本沒有一點益處,然後很可惜,302跳轉被用到了滿大街。
很久很久以前,那時候搜尋引擎還很傻,好多人利用meta refresh來獲得強大的SEO效果,後來直接被搜尋引擎給幹掉了。再後有很多人開始用302做跳板,後來也被幹掉了,比如那兩個著名的案例:Business.com和BMW。欺騙搜尋引擎,後果很嚴重。所以現在很少有人在跳轉上做SEO,但是有些不可避免的跳轉還是要繼續存在著,如何防止這些跳轉起到負面影響呢?於是有人研究了301跳轉。
忘記給一些入門的兄弟掃下盲,三種狀態代碼解釋如下:
200 正常狀態,未發生任何事,普通頁面瀏覽一般都是200
301 永久性轉移(Permanently Moved),SEO必用的招式,會把舊頁面的PR等資訊轉移到新頁面
302 暫時性轉移(Temporarily Moved),很常用的招式,也是SEO最容易被判作弊的方式
順便提下那個404,好多網站在出錯時都會有一個自訂的錯誤頁面,但很可惜也有很多人忘記了這個狀態代碼,直接搞個錯誤頁面一般都還是200,搜尋引擎會收錄這個頁面,但很多不同URL的404都跳轉到這一個頁面時,會被認為大量重複頁,最慘的就是404太多了,被認為站內無效、重複內容過多,所以做自訂錯誤頁面時一定記得返回個404回去。
鬱悶,發現沒啥好寫了,就此打住吧,想研究SEO或者類似技術的兄弟下面評論,我還沒入門,急需大家指點,謝謝