1. 程式人生 > >seo 和 網頁跳轉程式碼 的關係

seo 和 網頁跳轉程式碼 的關係

網頁跳轉的目的本來很簡單,就是當用戶或系統需要時從一個頁面轉向另一個頁面,跳轉時的HTTP的狀態碼一般為200,301,302中的一個,下面先列出各狀態碼出現的情況,然後再解釋各狀態碼有什麼不同: 
200 正常狀態,未發生任何事,普通頁面瀏覽一般都是200 
301 永久性轉移(Permanently Moved),SEO必用的招式,會把舊頁面的PR等資訊轉移到新頁面 
302 暫時性轉移(Temporarily Moved),很常用的招式,也是SEO最容易被判作弊的方式

狀態碼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.code-123.com);

對於使用者來說,各個跳轉都差不很多,都可以達到目的。但對於SEO來說,這些差得很遠,狀態200第三條使用合適對SEO有很大好處,但狀態200的第一條和狀態302卻基本沒有一點益處,然後很可惜,302跳轉被用到了滿大街。

很久很久以前,那時候搜尋引擎還很傻,好多人利用meta refresh來獲得強大的SEO效果,後來直接被搜尋引擎給幹掉了。再後有很多人開始用302做跳板,後來也被幹掉了,比如那兩個著名的案例:Business.com和BMW。欺騙搜尋引擎,後果很嚴重。所以現在很少有人在跳轉上做SEO,但是有些不可避免的跳轉還是要繼續存在著,如何防止這些跳轉起到負面影響呢?於是有人研究了301跳轉。

順便提下那個404,好多網站在出錯時都會有一個自定義的錯誤頁面,但很可惜也有很多人忘記了這個狀態碼,直接搞個錯誤頁面一般都還是200,搜尋引擎會收錄這個頁面,但很多不同URL的404都跳轉到這一個頁面時,會被認為大量重複頁,最慘的就是404太多了,被認為站內無效、重複內容過多,所以做自定義錯誤頁面時一定記得返回個404回去。