在網站中由于某種原因經常會用到頁面跳轉。這種跳轉從底層原理來看,都是利用了HTTP協議的30X返回碼來實現的。
常用的30X返回碼有下面幾種:
301 永久性跳轉
302 暫時性跳轉
304 Not Modified 文檔未修改
305 Use Proxy 客戶請求的文檔應該通過Location頭所指明的代理服務器提取,屬于HTTP 1.1新增內容
其中,對SEO產生影響的是前兩個,即301和302。我就先詳細的介紹這兩個狀態碼的區別。
一、302
對用戶而已,301,302是沒有區別的。他們看到效果只是一個跳轉,瀏覽器中舊的URL變成了新的URL。頁面跳到了這個新URL指向的地方。
但是對于搜索引擎,302轉向可能會有URL規范化及網址劫持的問題。可能被搜索引擎判為是作弊。網址規范化的內容可以參考這篇文章:
http://www.chinamyhosting.com/seoblog/2006/04/10/url-canonicalization/
那么,網址劫持是怎么回事呢?
302重定向和網址劫持有什么關系呢?這要從搜索引擎如何處理302轉向說起。從定義來說,從網址A做一個302重定向到網址B時,主機服務器的隱含意思是網址A隨時有可能改主意,重新顯示本身的內容或轉向其他的地方。大部分的搜索引擎在大部分情況下,當收到302重定向時,一般只要去抓取目標網址就可以了,也就是說網址B。實際上如果搜索引擎在遇到302轉向時,百分之百的都抓取目標網址B的話,就不用擔心網址URL劫持了。
問題就在于,有的時候搜索引擎,尤其是Google,并不能總是抓取目標網址。為什么呢?比如說,有的時候A網址很短,但是它做了一個302重定向到B網址,而B網址是一個很長的亂七八糟的URL網址,甚至還有可能包含一些問號之類的參數。很自然的,A網址更加用戶友好,而B網址既難看,又不用戶友好。這時Google很有可能會仍然顯示網址A。
由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的時候,并不能像人一樣的去準確判定哪一個網址更適當,這就造成了網址URL劫持的可能性。也就是說,一個不道德的人在他自己的網址A做一個302重定向到你的網址B,出于某種原因, Google搜索結果所顯示的仍然是網址A,但是所用的網頁內容卻是你的網址B上的內容,這種情況就叫做網址URL劫持。你辛辛苦苦所寫的內容就這樣被別人偷走了。
二、301
當網頁A用301重定向轉到網頁B時,搜索引擎可以肯定網頁A永久的改變位置,或者說實際上不存在了,搜索引擎就會把網頁B當作唯一有效目標。301的好處是:
(1)沒有網址規范化問題。
(2)網頁A的PR網頁級別會傳到網頁B,這對SEO非常重要!
在實際操作過程中,我和同事對一個站點(www.woshuone.com)做了實驗。結果發現不管是使用301還是302,很容易被Google “K掉”,取消跳轉之后過一周左右的時間就又恢復了。看來搜索引擎蜘蛛現在對頁面跳轉還是比較反感,認為作弊的可能性大,寧可錯殺一百也不放過一人!