301跳轉的用處和怎么做




301轉向是用戶或蜘蛛向網站服務器發出訪問請求時,服務器返回的HTTP數據流中頭信息(header)部分狀態碼的一種,表示本網址永久性轉移到另一個地址。
不過除了301轉向之外,其他方法都有作弊的嫌疑(302跳轉、JS跳轉、Flash跳轉、mate refresh跳轉)。雖然方法本身沒有對錯之分,但被黑帽SEO用多了,搜索引擎對這些可以的轉向都很敏感。
1.301轉向傳遞權重
網頁A用301重定向轉到網頁B,搜索引擎可以肯定網頁A永久性改變地址,或者說實際上不存在了,搜索引擎就會把網頁B當做唯一有效的目標。這是搜索引擎唯一推薦的不會產生懷疑的轉向方法,最重要的是,網頁A累積的頁面權重被傳到網頁B。
做301轉向目前Google會傳遞大部分網址權重,但不是百分之百權重。百度會傳遞所有權重。Google對301的識別、反應、完成權重傳遞,需要1-3個月的時間。百度對301處理則比較保守,新舊URL會同時存在于數據庫很長的時間,經常看到做了301轉向一年的URL還出現在百度結果中。
2.301轉向怎么做?
如果網址使用LAMO(Linux+Apache+MySQL+PHP)主機,可以使用.htaccess文件做301轉向。.htaccess是一個普通文字文件,用NOtepad等文字編輯軟件創建和編輯,存在網站跟目錄下。.htaccess文件中的指令用于目錄特定操作,如密碼、轉向、錯誤處理、等。
關于帶與不帶WWW的可以在.htaccess文件中放入這個指令:
Options +FollowSymlinks All -Indexes
rewriteEngine on
rewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ http://www.***.com/$1 [R=301,L]
對于.htaccess代碼實現的功能還很多,可惜的是我不是高手。還是到百度一下:.htaccess在線生成器,幫助到你的會更多。
如果網站用的是windows主機,可以在控制面板做301轉向設定。
純靜態HTML頁面無法做301轉向。在HTML里能做JS或者Meta Refresh轉向,但不能做301轉向。HTML一被讀取,就已經返回200 ok代碼了。
如果頁面是ASP或者PHP,還可以做301轉向。
ASP代碼:
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.***.com"
Response.Endyourdomain
%>
PHP代碼:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.***.com/");
exit();
3.301轉向的其他用途
除了解決網址規范化問題,還有很多需要做301轉向的情形。比如,為保護版權,公司擁有不同TLD的多個途徑,集中到一個主域名。
網站改版也經常需要用到301轉向,如果頁面刪除、改變地址、URL命名系統改變等。網站改版也經常需要用到301轉向,如頁面刪除、改變地址、URL命名系統改變等。動態URL靜態化可能要做301,將舊的、動態的URL做301到新的、靜態的URL。