301轉(zhuǎn)向的作用和設(shè)置方法
301轉(zhuǎn)向是SEO人員經(jīng)常使用的必備技術(shù),對301轉(zhuǎn)向的原理、作用、實現(xiàn)方法等需要清楚了解。
什么是301轉(zhuǎn)向?
301轉(zhuǎn)向(或叫301重定向、301跳轉(zhuǎn))是當(dāng)用戶或搜索引擎向網(wǎng)站服務(wù)器發(fā)出瀏覽請求時,服務(wù)器返回的HTTP數(shù)據(jù)流中頭信息(header)中的狀態(tài)碼的一種,表示本網(wǎng)頁永久性轉(zhuǎn)移到另一個地址,也就是永久性轉(zhuǎn)向。
其它最常見的狀態(tài)碼還包括:
200:表示一切正常
404:網(wǎng)頁找不到
302:暫時轉(zhuǎn)向/重定向/跳轉(zhuǎn)
5XX:通常是服務(wù)器錯誤
等等。
為什么要做網(wǎng)址轉(zhuǎn)向?
由于各種各樣的原因,網(wǎng)站經(jīng)常需要做網(wǎng)址轉(zhuǎn)向。
比如,為保護(hù)版權(quán),你擁有不同TLD的多個域名:
company.com
company.net
company.org
company.com.cn
company.cn
等等。
很自然這些域名全部指向一個網(wǎng)站。如用company.com為主域名,其它域名就可以轉(zhuǎn)向到company.com。
或者你注冊了公司全稱域名longcompanyname.com,但太長 ,你也注冊了縮寫域名方便用戶記住lcn.com,其中一個做主域名,另一個就可以轉(zhuǎn)向到主域名。
再比如,網(wǎng)站經(jīng)常由于各種原因刪除頁面,下架產(chǎn)品啦,敏感新聞啦,頁面刪除后直接返回404是一種方式。但如果被刪除頁面有不錯的外鏈呢?可以做301轉(zhuǎn)向?qū)⒈粍h除頁面URL轉(zhuǎn)向到其它最相關(guān)的頁面,或上一級目錄頁面,這樣外鏈權(quán)重會被順利接收下來。
再比如,公司更換域名,老域名需要全站做轉(zhuǎn)向到新域名,這樣用戶無論從哪個渠道訪問了老域名,都會被自動轉(zhuǎn)向到新域名。雖然通常不建議更換域名,域名權(quán)重、流量的轉(zhuǎn)移是有風(fēng)險的,但有時候更換域名是公司級別的優(yōu)先戰(zhàn)略,不得不做,如京東域名從360buy換到j(luò)d.com。
還有網(wǎng)站重新設(shè)置欄目、更換CMS、獨立移動站等,都可能牽扯到URL的變化,需要從一個URL做轉(zhuǎn)向到另一個URL。
為什么要用301轉(zhuǎn)向?
網(wǎng)址轉(zhuǎn)向方法主要包括:301轉(zhuǎn)向,302轉(zhuǎn)向,JavaScript轉(zhuǎn)向,PHP/ASP/CGI轉(zhuǎn)向,META REFRESH網(wǎng)頁META刷新,等。302轉(zhuǎn)向可能會有URL規(guī)范化問題。其它方法都是常用的作弊手法,當(dāng)然不是說不可以正當(dāng)?shù)赜茫椒ū旧頉]有錯,但被作弊者用多了,搜索引擎對這些可疑的轉(zhuǎn)向都很敏感。何必冒險呢。
當(dāng)網(wǎng)頁A用301重定向轉(zhuǎn)到網(wǎng)頁B時,搜索引擎可以肯定網(wǎng)頁A永久的改變位置,或者說實際上不存在了,搜索引擎就會把網(wǎng)頁B當(dāng)作唯一有效目標(biāo)。好處是,第一,沒有網(wǎng)址規(guī)范化問題,第二,也很重要的,網(wǎng)頁A的鏈接權(quán)重會傳到網(wǎng)頁B。
很多時候其它網(wǎng)站會鏈接到
http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
而不是你希望的
http://www.domainname.com
這樣鏈接的PR也會傳遞到所有URL,如果你用301轉(zhuǎn)向把前三個URL轉(zhuǎn)到
http://www.domainname.com
鏈接權(quán)重也就集中在網(wǎng)頁http://www.domainname.com了。
如網(wǎng)址規(guī)范化貼子所說,301轉(zhuǎn)向是集中權(quán)重、解決網(wǎng)址規(guī)范化問題的重要方法之一。
怎樣做301轉(zhuǎn)向
如果你用的是Unix/Linux主機(jī),可以用htaccess文件(Unix/Linux中用于目錄特定指令如密碼,轉(zhuǎn)向,錯誤處理等的文件)。
比如把/old.htm轉(zhuǎn)到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重定向轉(zhuǎn)到 http://www.domain.com,包括:
http://domain.com/about.htm
轉(zhuǎn)到 http://www.domain.com/about.htm
及
http://domain.com/dir/index.htm
轉(zhuǎn)到 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主機(jī),應(yīng)該在控制面板做301轉(zhuǎn)向設(shè)定。
據(jù)我所知,HTML無法做301轉(zhuǎn)向。在HTML里只能做JS或META REFRESH,但不是301轉(zhuǎn)向。HTML一被讀取,就已經(jīng)返回200 OK狀態(tài)碼了。
如果你的頁面是ASP或PHP還可以做301轉(zhuǎn)向:
ASP:
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.domain.com”
>
PHP:
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.domain.com” );
?>
怎樣檢測301轉(zhuǎn)向做得是否正確?
檢查301轉(zhuǎn)向是否做得正確,不能單靠自己訪問源頁面。即使用戶訪問源頁面時確實是被自動轉(zhuǎn)向到目標(biāo)頁面,也不能確認(rèn)轉(zhuǎn)向就是301,也可能是其它轉(zhuǎn)向機(jī)制。
由于狀態(tài)碼是在服務(wù)器頭信息中,頁面本身是看不到的,頁面源代碼也是看不到的,必須檢查頭信息。
第一個簡單方法是用Chrome瀏覽器的Developer Tools。打開Developer Tools后,訪問源頁面URL,在Developer Tools信息中可以看到每個文件的狀態(tài)碼:
從上圖可以看到,訪問不帶www的URL:https://seozac.com,狀態(tài)碼是301,然后被轉(zhuǎn)向至正確的帶www的URL,狀態(tài)碼是200。順便說一句,Chrome的Developer Tools是個非常非常好的SEO工具。
也可以用線上工具,如我常用的:http://tools.seobook.com/server-header-checker/,中文的:https://tool.chinaz.com/pagestatus/ 。
當(dāng)然,最可靠的是檢查服務(wù)器原始日志文件,里面有所有對不規(guī)范化URL訪問的轉(zhuǎn)向處理記錄。
來源:SEO每天一貼 Zac 昝輝