301永久性重定向和302臨時性重定向


什么是重定向?

所謂重定向就是將網頁自動轉向重定向,即:301永久性重定向和302臨時性重定向。實施301后,新網址完全繼承舊網址,舊網址的排名等完全清零;實施302后,對舊網址沒有影響,但新網址不會有排名。

頁面永久性移走(301重定向)是一種非常重要的“自動轉向”技術

  • 301重定向可促進搜索引擎優化效果
  • 從搜索引擎優化角度出發,301重定向是網址重定向最為可行的一種辦法。當網站的域名發生變更后,搜索引擎只對新網址進行索引,同時又會把舊地址下原有的外部鏈接如數轉移到新地址下,從而不會讓網站的排名因為網址變更而收到絲毫影響。同樣,在使用301永久性重定向命令讓多個域名指向網站主域時,亦不會對網站的排名產生任何負面影響。
  • 302重定向可影響搜索引擎優化效果
  • 迄今為止,能夠對302重定向具備優異處理能力的只有Google。也就是說,在網站使用302重定向命令將其它域名指向主域時,只有Google會把其它域名的鏈接成績計入主域,而其它搜索引擎只會把鏈接成績向多個域名分攤,從而削弱主站的鏈接總量。既然作為網站排名關鍵因素之一的外鏈數量受到了影響,網站排名降低也是很自然的事情了。
  • 綜上所述,在眾多重定向技術中,301永久性重定向是最為安全的一種途徑,也是極為理想的一款解決方案。

從技術人員來說我們比較常用的跳轉方法有以下幾種:

我們使用 Fiddler 工具來監控的下面提到的幾種方法,看跳轉過程中HTTP狀態碼是301?302?200?:

常用的重定向方式有: 301 redirect、302 redirect 與 meta fresh:

(1)301 redirect——301代表永久性轉移(Permanently Moved),301重定向是網頁更改地址后對搜索引擎友好的最好方法,只要不是暫時搬移的情況,都建議使用301來做轉址。

(SEO(搜索引擎優化)中提到一點:如果我們把一個地址采用301跳轉方式跳轉的話,搜索引擎會把老地址的PageRank等信息帶到新地址,同時在搜索引擎索引庫中徹底廢棄掉原先的老地址。)

(2)302 redirect——302代表暫時性轉移(Temporarily Moved ),在前些年,不少Black Hat SEO曾廣泛應用這項技術作弊,目前,各大主要搜索引擎均加強了打擊力度,象Google前些年對Business.com以及近來對BMW德國網站的懲罰。即使網站客觀上不是spam,也很容易被搜尋引擎容易誤判為spam而遭到懲罰。

(3)meta fresh——這在2000年前比較流行,不過現在已很少見。其具體是通過網頁中的meta指令,在特定時間后重定向到新的網頁,如果延遲的時間太短(約5秒之內),會被判斷為spam。

(補充 :在網址規范化評論里回答石頭王的問題,可能對大家有幫助:據我所知,HTML無法做301轉向。在HTML里只能做JS或META REFRESH,但不是301轉向。HTML一被讀取,就已經返回200 OK狀態碼了。)

對於正確實施301重定向,有以下幾種方法:

1. Apache服務器實現301重定向

(1)相比較來說,Apache實現起來要比IIS簡單多了。在Apache中,有個很重要的文件.htaccess,通過對它的設置,可以實現很多強大的功能,301重定向只是其中之一。

Redirect permanent / http://www.yourdomain.com/

將目錄下內容重定向到 http://www.yourdomain.com/

redirect permanent /old.html http://www.yourdomain.com/new-url/

將網頁old.html內容重定向到 http://www.yourdomain.com/new-url/

通過合理地配置重定向參數中的正則表達式,可以實現更復雜的匹配。有興趣的朋友可參考Apache手冊。

(2)采用“mod_rewrite"技術

通過該技術進行的改變將在.htaccess文件中體現出來,形如:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.com
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

2. 適用於使用Unix網絡服務器的用戶

通過此指令通知搜索引擎的spider你的站點文件不在此地址下。這是較為常用的辦法。

形如:Redirect 301 / http://www.yourdomain.com/

3. 在服務器軟件IIS服務器實現301重定向

* 打開internet信息服務管理器,在欲重定向的網頁或目錄上按右鍵
* 選中“重定向到URL”
* 在對話框中輸入目標頁面的地址
* 切記,記得選中“資源的永久重定向”
* 當然,最后要點擊“應用”

適用於使用Window網絡服務器的用戶

4. 綁定/本地DNS

如果具有對本地DNS記錄進行編輯修改的權限,則只要添加一個記錄就可以解決此問題。若無此權限,則可要求網站托管服務商對DNS服務器進行相應設置。

DNS服務器的設置

若要將aaa.domain.com指向http://www.domain.com/,則只需在DNS服務中應增加一個別名記錄,可寫成:aaa IN CNAME http://www.domain.com/。

如需配置大量的虛擬域名,則可寫成:* IN CNAME www.domain.com/,這樣就可將所有未設置的以domain.com結尾的記錄全部重定向到http://www.domain.com/上。

5. 用ASP/PHP/.NET實現301重定向

ASP:

  Response.Status="301 Moved Permanently"
  Response.AddHeader "Location","http://www.xue8.com/"
  Response.End

   PHP:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.xue8.com/");
exit();
  ASP .NET:
private void Page_Load(object sender, System.EventArgs e)
{
  Response.Status = "301 Moved Permanently";
  Response.AddHeader("Location","http://www.xue8.com/");
}

配置完成后,要認真檢查一下是否正確。Internet有很多Server Header檢查工具。

以下為非關鍵參考:


網站重定向成禍端(從Business.com遭封看302重定向編譯:Karen)

       配置完成后,一定認真檢查一下是否正確。Internet有很多類似的Server Header檢查工具,如Check Server Headers Tool - HTTP Status Codes Checker            (可以百度--301重定向檢測工具)

      Business.com是網上最大的商業搜索引擎和分類目錄,以專業提供商業信息而享負盛名,包括近19萬網頁。若以“business”為關鍵詞在Google中進行搜索,該網站名列第一。不過在9月5日,Business.com遇到一件蹊蹺之事:它的首頁由PR8變成了PR0, 而且Google搜索結果中找不到首頁。好在被“蒸發”的只是首頁,不過慶幸的是第二天首頁又回到了Google的搜索結果,但PR仍舊為0。

      Business.com的問題出在它的重定向命令上。該網站讓business.com跳轉到http://www.business.com/,這種重定向本該是永久性的。我們知道,301屬於永久性重定向,而302則屬於臨時性重定向,只有當一個網站或網頁在24到48小時之內臨時移到其它位置的情況下才能使用該命令。但Business.com卻錯誤地使用了“HTTP/1.1302 Object Moved”狀態碼。

      其實網站重定向極為普遍,譬如不滿意原來的域名而申請了一個新域名;買下容易被人錯拼的域名,防止客戶因為拼錯URL而找不到網站,等等。可是很多人卻會由於使用了錯誤的重定向狀態碼而遭“滅站之災”,就象Business.com。盡管他們的重定向理由充分合理,然而若使用不當,則可能被Google誤認為是利用多個域名指向同一網站,那么你的網站就會被封掉,罪名是“利用重復的內容來干擾Google搜索結果的網站排名”。

Business.com就是最好的前車之鑒,只不過大多數使用錯誤重定向參數的網站沒Business.com這么幸運,一個小小的重定向就可能使網站前功盡棄,只能從頭來過:重新申請新域名,重新發布新網站等等。

記住:Google絕不會同情任何人即使無心犯下的錯誤。

網站服務器響應網頁瀏覽請求的運作流程

讓我們先來了解一下用戶/搜索引擎和網站一開始的交互流程。當用戶或搜索引擎向一個網站服務器發出網頁瀏覽請求時,該服務器將:

1. 通過域名服務器(DNS)將域名轉換為網站的IP地址,然后返回給客戶;
2. 打開一個該IP套接口連接;
3. 記下通過該套接口的一個HTTP數據流;

4. 從WEB服務器接收一個響應請求的HTTP數據流。該數據流包含狀態碼,狀態碼的值由HTTP協議所決定。這里所說的“HTTP數據流”信息也叫“頭信息(Header)”。頭信息中包括了日期,服務器類型,通常還會有一條“200 OK”信息。如果一切良好,那么網絡服務器就會將“200 OK”信息以及請求頁面發送出去。如果網站在這時候已經建立了重定向,那么服務器就會在頭信息中包含一個“302 Moved Temporarily”或“301 Moved Permanent”之類的響應信息。搜索引擎會根據服務器頭信息中的內容作出決定。

網站重定向的注意事項

1.若准備將服務器上的文件移到其它地方時,須就以下信息正確地通知搜索引擎的爬行程序:

- 目標地址:這些文件被移向何方
- 移動屬性:暫時移走還是永久性移走

2.對擁有多個域名的網站,專家建議應把那些不想在搜索引擎上推廣的域名用301跳轉命令來永久性重定向。

資深SEO專家Dan Thies的看法和建議

對於Business.com所遭遇的問題Dan Thies深有體會,因為他也有過類似的遭遇。他的網站上有一個會員跟蹤腳本,其中一個會員的站點通過302命令映射到這個跟蹤腳本,而這個跟蹤腳本又是通過302映射到他的主頁。當在Google中用“keyword research”進行搜索,他的主頁排名在前十位,然而地址顯示的卻是那個會員的網址。結果使他哭笑不得:訪問者通過Google搜索結果進入他的網站,而他卻不得不為這些訪問量給那個會員支付報酬! 后來他用robots.txt文件禁止Spiders跟蹤訪問他的會員跟蹤腳本才算解決了問題。

對於Business.com,Dan Thies認為:“目前Google在302重定向”的處理上還存在一定的問題,但並不表示Google不允許302重定向。Business.com並未遭封或遭到懲罰,它們只是返回了錯誤的響應。”Dan Thies建議:如果使用了跟蹤URL/腳本,又必須讓訪問者重定向到某一着陸頁,那么一定要在robots.txt文件中禁止Spiders去訪問第二個重定向。如果沒有對跟蹤URL/腳本進行重定向,而只是把另外一個URL上的內容給復制過來,那么應在robots.txt文件中禁止Spiders去訪問跟蹤URL,以防因內容重復而遭搜索引擎懲罰。

-------------------301重定向經驗談:

一個多域名站主的經驗之談:
“我只有一個網站,主域名是
www.domain.com,此外還有諸如domain1.com、domain2.com、domain3.com等共計十幾個域名。所有這些次級域名都映射到www.domain.com,而且所有域名對應的是同一個IP地址。由於事實上我只有一個站點,一個站點又只能對應一個.htaccess文件,顯然不可能直接修改.htaccess文件來實現重定向。我采用了如下步驟:
A.把domain1.com從domain.com上獨立出來,讓它成為服務器上的一個普通獨立網站。
B.為domain1.com創建一個.htaccess文本文件,並在文件中設置重定向代碼為:
Redirect permanent /
http://www.domain.com/
再將修改后的.htaccess文件上傳給domain1.com所在服務器。
這一步也可以在域名控制面板中完成。
C.進入域名控制面板,將所有原來綁定到domain.com上的域名從domain.com上釋放,然后重新綁定到doamin1.com。這樣一來,這些被綁定的域名使用的都是domain1.com的.htaccess文件,因而也就意味着它們都被永久性重定向到domain.com上了。
好了,大功告成! 就這么容易!

<摘自:http://www.xue8.com/op/view.asp?ArticleID=202 &http://www.seozac.com/seo/301-redirect/ >

================================================================================================================================================

302暫時重定向

302轉向或者302重定向(302 redirect)指的是當瀏覽器要求一個網頁的時候,主機所返回的狀態碼。302狀態碼的意義是暫時轉向到另外一個網址。

另一個更常見的狀態碼是404錯誤(404 error),404錯誤或404狀態碼指的是網頁不存在。

另一個和302狀態碼相關的是301重定向(301 redirect),301重定向指的是本網頁永久性的轉移到另外一個位置。301和302的區別就在於301是永久性重定向,302是暫時重定向。

302重定向和網址劫持(URL hijacking)有什么關系呢?這要從搜索引擎如何處理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劫持。你辛辛苦苦所寫的內容就這樣被別人偷走了。

302重定向所造成的網址URL劫持現象,已經存在一段時間了。不過到目前為止,似乎也沒有什么更好的解決方法。在正在進行的大爸爸數據中心轉換中,302重定向問題也是要被解決的目標之一。從一些搜索結果來看,網址劫持現象有所改善,但是並沒有完全解決。

如果你遇到你自己的網站網址被劫持的時候,在你自己這一方面並沒有什么辦法,你只能向Google匯報。

301重定向

什么是301轉向?

301轉向(或叫301重定向,301跳轉)是當用戶或搜索引擎向網站服務器發出瀏覽請求時,服務器返回的HTTP數據流中頭信息(header)中的狀態碼的一種,表示本網頁永久性轉移到另一個地址。

其它常見的狀態碼還包括,200表示一切正常,404網頁找不到,302暫時轉向,等等。

為什么要做網址轉向?

除了前面介紹過的網址規范化問題外,還有很多需要做網址轉向的情形。比如,為保護版權,你擁有不同TLD的多個域名:

company.com
company.net
company.org
company.com.cn
company.cn

等等。

很自然這些域名全部指向一個網站。如用company.com為主域名,其它域名就可以轉向到company.com

或者你注冊了公司全稱域名longcompanyname.com,但太長 ,你也注冊了縮寫域名方便用戶記住lcn.com,其中一個做主域名,另一個就可以轉向到主域名。

為什么要用301轉向?

網址轉向方法主要包括:301轉向,302轉向,JavaScript轉向,PHP/ASP/CGI轉向,META REFRESH網頁META刷新,等。302轉向可能會有URL規范化問題。其它方法都是常用的作弊手法,當然不是說不可以正當地用,方法本身沒有錯,但被作弊者用多了,搜索引擎對這些可疑的轉向都很敏感。何必冒險呢。

當網頁A用301重定向轉到網頁B時,搜索引擎可以肯定網頁A永久的改變位置,或者說實際上不存在了,搜索引擎就會把網頁B當作唯一有效目標。好處是,第一,沒有網址規范化問題,第二,也很重要的,網頁A的PR網頁級別會傳到網頁B。

很多時候其它網站會鏈接到

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html

而不是你希望的

http://www.domainname.com

這樣鏈接的PR也會傳遞到所有URL,如果你用301轉向把前三個URL轉到
http://www.domainname.com
PR也就集中在網頁http://www.domainname.com了。

怎樣判斷網站有網址規范化問題

英語中有句話,東西沒壞就別修理。很多網站沒做301轉向排名也沒影響,那就別動它。

如果你覺得網站排名沒有預想的好,可以看看是否有網址規范化問題

1) 查一下這些URL是否都有差不多的PR值和網頁快照:

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
http://www.domainname.com

如果是,那可能有問題。

2)搜一下site:domain.com看是否結果中有多個主頁版本。

3)你的網站是否在Google有大量網頁被標為“ 補充材料”(Supplemental Result)。一般認為被歸為“ 補充材料”是網址規范化問題的征兆。

怎樣做301轉向

如果你用的是Unix/Linux主機,可以用file.gif文件(Unix/Linux中用於目錄特定指令如密碼,轉向,錯誤處理等的文件)。

比如把/old.htm轉到http://www.domain.com/new.htm,可以用這個指令:

redirect 301 /old.htm http://www.domain.com/new.htm

redirect permanent /old.htm http://www.domain.com/new.htm

如果要把所有http://domain.com形式的URL用301重定向轉到 http://www.domain.com,包括:

http://domain.com/about.htm
轉到 http://www.domain.com/about.htm

http://domain.com/dir/index.htm
轉到 http://www.domain.com/dir/index.htm

等等,還要用到mod_rewrite:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 

如果你用的是 Windows主機,應該在控制面板做301轉向設定。

另外,.htaccess文件只是一個普通文字文件,你用Notepad建這個文件,放上指令,存在你帳號的根目錄下就行了。不需要修改Apache。

=======================================================================================================================================

<摘自:http://www.seozac.com/seo/301-redirect/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM