網站優化之盡量避免重定向(301/302)


重定向會增加http請求的次數,會影響到整個網站的性能,但是必要的重定向又可以提高用戶體驗,所以我們需要在性能和用戶體驗之間去權衡,達到最好的目的:下面講講php實現301永久重定向和302臨時重定向以及怎么去避免重定向:

一、對於許多站點而言,以本站域名baidu.com為例:用戶在瀏覽器中輸入網址http://www.baidu.com/或者http://www.baidu.com/index.php,實際上訪問的都是本站的首頁;用戶在瀏覽器中輸入網址http://www.baidu.com/或者http://baidu.com/,訪問的依然都是本站的首頁。

此外,在某些情況下,我們可能需要將站點中的某個文件移動到一個新的位置或更改該文件的名稱。此時,用戶可能仍然會輸入以前收藏的網址來訪問該網頁文件,因此,我們需要盡量保證以前的網址和新的網址都能夠訪問到最新的網頁內容。

但是,對於搜索引擎而言,兩個路徑不同的網址,又沒有其他特別的說明,則會被搜索引擎認為這是兩個獨立的頁面,從而進行分別收錄。不過,由於兩個頁面的內容雷同,搜索引擎可能會對上述網址進行降權處理,從而影響SEO的效果。

為了避免給網站的SEO造成不良影響,也為了給用戶帶來良好的訪問體驗,我們應該采用一些特別說明來告訴搜索引擎——「它們實際上是同一個頁面」。當然,不僅僅是為了SEO,對於一個優秀的站點而言,每一個網頁也都應該對應一個唯一的網址。

在這里,我們就需要使用「特別說明」來告訴瀏覽器或者搜索引擎,「舊的網址和新的網址實際上是同一個網頁,建議瀏覽器或搜索引擎使用新的網址來訪問該網頁」,這里的「特別說明」就是HTTP重定向。HTTP重定向,簡言之,就是當用戶瀏覽器或搜索引擎訪問某個舊的網址時,服務器告訴瀏覽器或搜索引擎,「該網頁已經搬家了,新家的地址是……,請使用新地址來訪問該網頁」。例如,當用戶訪問網址http://www.baidu.com/index.php時,服務器將告訴瀏覽器,這個頁面應該重定向到http://www.baidu.com/。此時,瀏覽器或者搜索引擎就會自動跳轉到新的網址從而訪問網頁內容。

HTTP重定向又分為永久重定向(HTTP狀態碼為301)和臨時重定向(HTTP狀態碼為302)。永久重定向就表示該網址已經搬到到一個永久居住的「新家」,臨時重定向就表示該網址搬遷到了一個臨時居住的「公寓」。下面,我們就使用php來分別實現302臨時重定向和301永久重定向。

二、怎么取避免重定向:

1、在定義鏈接地址的href屬性的時候,盡量使用最完整的、直接的地址。例如

使用www.cnblogs.com 而不是cnblogs.com
使用cn.bing.com 而不是bing.com
使用www.google.com.hk 而不是google.com
使用www.mysite.com/products/ 而不是 www.mysite.com/products
2、在使用Response.Redirect的時候,設置第二個參數為false

考慮是否可用Server.Execute代替
考慮Respone.RedirectPermanent
3、如果涉及到從測試環境到生產環境的遷移,建議通過DNS中的CNAME的機制來定義別名,而不是強制地重定向來實現


免責聲明!

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



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