如果你在管理一些網站,那麼對HTTP重定向的理解對於可靠的網站效能至關重要。在這篇文章中,我們將全面瞭解一下3xx HTTP狀態碼,從這裡你可以瞭解它們是如何工作的,如何更好地管理它們,以及它們對SEO的影響。
URL重定向涉及到一個網頁地址被對映到另一個。網站需要重定向的原因有很多。
比如說,遷移到一個新的域名是使用URL重定向的首要原因之一。有時,你以前的域名太長、太複雜,導致難以記住,或者某種侵權活動迫使你從一個域名轉移到另一個域名。
讓我們具體看看重定向頁面的其他原因:
除此之外,還有一些其他場景值得考慮。如果你需要簡化和跟蹤顯示廣告或應對緊急情況,重定向將派上用場。重定向有助於行銷人員監測廣告反響。同時,網路管理員可以在重定向的幫助下修復任何失敗的連結活動。
總之,谷歌對重定向的定義是控制抓取和索引。谷歌搜尋中心將HTTP重定向解釋為進行無縫過渡的做法,通過幾個URL存取一個頁面,糾正過時的URL,並將使用者從刪除的頁面重定向到新的頁面,從而排除404錯誤。
網際網路上用於傳輸資料和資訊控制的託管伺服器的基本協定被稱為HTTP。超文字傳輸協定允許全球資訊網的網際網路使用者和伺服器之間維護網站以及提供通訊。
HTTP是用於不同型別資料的資訊系統的協定:分散式、超媒體和共同作業式。HTTP的主要目標是提供基於網際網路的無縫互動。
這種請求-響應協定通過TCP連線工作。傳輸控制協定允許網際網路與全球資訊網上代表的任何可用識別資源進行互動。使用者與網頁、視訊和資訊伺服器的通訊是通過HTTP進行的。這樣,客戶可以獲得對網頁的存取。
值得注意的是,超文字傳輸協定使用代理。它們是用於內容識別和分析的特殊用途的過濾器。HTTP代理防止使用者低質量地傳送和顯示檔案:
HTTP使用者端是用來保護使用者的瀏覽器的。它向伺服器傳送請求資訊。HTTP伺服器端負責HTTP響應連線。HTTP代理的原理可以用以下方式來表示:
HTTP協定的主要優點是:
HTTP共有九種請求方法來執行不同的網路操作。
請求 | 描述 |
---|---|
PUT | 負責修改現存的網路資源。該請求也允許建立新的URL。 |
HEAD | 建立一個特殊用途資源的請求,不需要任何主體內容。 |
POST | 負責將現有資源修改的內容新增到新的網頁上。 |
DELETE | 刪除指定資源。 |
GET | 請求完整資源。 |
TRACE | 顯示使用者存取的網路資源的任何更新和變化。 |
OPTIONS | 展示使用者可以存取的HTTP方法列表。 |
CONNECT | 負責將基於請求的連線轉換為TCP/IP隧道。 |
PATCH | 使得對網路資源進行部分修改成為可能。 |
HTTP狀態碼是決定伺服器響應的特殊元素。有必要了解每一個HTTP狀態碼,以明確問題並解決它們。
有五類狀態碼需要考慮。有資訊響應、成功、重定向、客戶錯誤和服務錯誤五種類別。第一個數位表示HTTP狀態碼的類別。讓我們仔細看看每個響應的類別:
值得注意的是,一些狀態碼和錯誤對SEO有直接影響。雖然1xx和2xx對搜尋引擎優化影響不大(有200響應是最好的做法),但3xx、4xx和5xx的會對抓取和索引你的網頁產生負面影響。你應該始終注意解決4xx和5xx狀態碼和錯誤,因為這對你網站的整體排名非常有害。
HTTP 300狀態碼也許對SEO扮演核心角色。這類狀態碼負責將所有的SEO價值從你的舊網址傳遞到新網址。因此,有必要挖掘每個3xx狀態碼的含義(臨時或永久重定向、代理、多重選擇,等等)。
3xx狀態碼錶示不同型別的HTTP重定向。行銷人員通常使用3xx狀態碼來監測和分析使用者體驗、網站使用者的行為以及網站的SEO效能。DataTracker資源確定了由3xx HTTP狀態碼衍生的四種重定向型別:
3xx狀態碼出現在有必要表明伺服器的重定向響應時。3xx HTTP狀態碼的另一個例子是為被刪除的頁面保持其排名。此外,當有必要修復破損的URL時,重定向也會派上用場。
當錯誤發生時,重定向不期望看到其他響應碼。例如,重定向不能解決1xx、4xx、5xx的問題(Not Implemented = 501;Bad Gateway = 502;Unprocessable Entity = 420)。
下面就讓我們仔細看看每個3xx狀態碼,瞭解它們對SEO和網站排名的影響。
這些狀態碼通常用於REST APIs。給予瀏覽器多種選擇,它應該在滿足請求的資源中進行選擇。例如,如果你有多個視訊格式選項或不同的副檔名需要指定,300狀態碼就會派上用場。
使用300重定向另一個原因是,為了滿足內容協商的要求。伺服器通知使用者代理可用的表示型別供其選擇。仔細看一下這個例子,看看300重定向的作用。
HTTP/1.1 300 Multiple Choices
Server: curveball/0.3.1
Access-Control-Allow-Headers: Content-Type,User-Agent
Access-Control-Allow-Origin: *
Link: </foo> rel="alternate"
Link: </bar> rel="alternate"
Content-Type: text/html
Location: /foo
你可以在程式碼中看到/foo
和/bar
。當兩個選項都可以選擇時,地址就被指定了。
還有一個狀態碼通常用於REST APIs中。該狀態碼主要作用是,永久性的重定向。如果你需要在短時間內使用重定向,301重定向就不適合。在301 HTTP狀態碼的幫助下,網際網路使用者和搜尋引擎都被帶到一個新的URL。該型別的最佳重定向方案是當前一個頁面不打算恢復的時候。
讓我們藉助一個真實的案例來解釋永久HTTP重定向的概念:
讓我們再看個永久性重定向的例子(301重定向)。在這裡我們可以看到一個301 HTTP狀態碼,用於將使用者和搜尋引擎重定向到新的地址。
程式設計師經常使用.htaccess
檔案來實現不同型別的重定向,包括301重定向。有兩種301重定向的方法需要考慮到:
整個域名可以被重定向到一個新的網站。在Redirect 301
後新增你感興趣的域名:
Redirect 301 /[http://www.website.com/](http://www.website.com/)
如果你只想重定向一個頁面,有必要在Redirect 301
後面指定舊的URL:
Redirect 301 /oldurl/ [http://www.website.com/newurl/](http://www.website.com/newurl/)
這裡要提到的是,各種編碼方法需要不同的重定向實現。
需要注意的是,JavaScript對於SEO實踐來說遠不是最佳選擇。谷歌有時會對JavaScript中的301重定向進行錯誤的解釋。如果你對SEO友好的永久重定向感興趣,最好選擇上面列出的方法之一。
在REST API中還有一個比較常用的狀態碼。與永久的301重定向相比,302重定向是在需要一些臨時重定向時使用。比如說,你知道這個URL的改變,並不久後重定向,或者以前的頁面會在某個時間點恢復。還有一種情況是,你要刪除舊的頁面,但你需要重定向所有的流量,並儲存臨時URL上的排名分數。使用302狀態碼的其他原因包括:
值得注意的是,302重定向的實施方法與301的實施方法相同。出於SEO友好的目的,避免使用JavaScript編碼的建議在這裡也適用。
比如說,在上面的圖片中,我們可以看到302狀態碼是如何用於網站的臨時地址。請注意,你也可以將這種型別的重定向用於你的網站/頁面重新設計,一些測試,促銷活動的執行,以及其他短期活動和安排。
該HTTP狀態碼允許REST API以參照的形式向客戶傳送建議。303重定向的一個顯著特點是其無快取效能。但值得一提的是,重定向的第二個對談將被快取。
303狀態碼對SEO來說並不重要。但是,當另一個URL可以被推薦而不是一個已經存取過的URL時,它可以幫助提高使用者友好度並實現行銷目的。
這個狀態碼和上面列出的其他3xx狀態碼一樣,常用於REST APIs中。當不需要重新傳輸時,可以使用該狀態碼。如果頁面還沒有被修改,也可以使重定向無快取。
讓我們通過一個304重定向的例子來仔細看看。該狀態碼是在請求方法和請求URL下面指定的。
該HTTP狀態碼目前已被廢棄。一些瀏覽器不允許使用這種型別的重定向。例如,Mozilla Firefox和Internet Explorer出於安全原因阻止使用者使用305重定向。主要是因為用於請求和提供存取網路資源的單一代理。當涉及到一些瀏覽器時,這種方法是有風險的。
程式設計師現在不使用這個狀態碼了。它的主要思想是當一些特殊目的的請求發生時有機會切換代理。如果編碼中出現了這種型別的重定向,使用者將預設返回到指定的代理。
這個HTTP狀態碼與302狀態碼非常相似。這就是為什麼重定向所需的實現方法與301和302是一樣的。讓我們來挖掘一下307和302的區別,因為它們都是關於臨時的HTTP重定向。關於307重定向,有兩種意見需要考慮:
這意味著302重定向中GET請求方法的任何改變都會導致網路上不可預測的結果。這不會發生在307重定向中。下圖是一個使用307臨時重定向的例子。
這個狀態碼被認為是實驗性的,但它的語意與301永久重定向相同。308和301重定向的唯一區別是是否可以修改HTTP方法。301重定向允許使用者代理修改使用的HTTP方法,而308狀態碼則意味著重定向的HTTP請求方法是不可改變的。
308 HTTP狀態碼是相當新的,因為它在2015年才被引入。一些瀏覽器仍然無法識別308重定向,並向用戶顯示空的頁面,而不是重定向的頁面(例如,Internet Explorer 11)。這就是為什麼301永久重定向是最好的,因為它有更好的支援和對SEO的友好。308HTTP狀態碼的支援度少的可憐,搜尋爬蟲並不總是能識別它。
300重定向對SEO很重要。如果你需要從一箇舊頁面轉移到另一個頁面,並且不想浪費它的排名,建議使用臨時或永久重定向。你可以使用以下幾個HTTP 3xx狀態碼:
當涉及到臨時和永久重定向時,301和302 HTTP狀態碼總是被優先考慮。但這些HTTP 3xx狀態碼之間是有區別的。下面是第一種情況。你已經決定永遠刪除你的舊網站。但是這個URL經常被存取,有一個建議是使用301永久重定向,以保持你的網站排名。
第二種情況是當你重組你的網站並在一些短期內儲存你的SERP。該網站將失去SEO價值。搜尋引擎會保留你的舊網址,但在重定向後開始索引你的新頁面。如果你確定會回到舊的URL,最好使用302重定向(臨時)。
引數對比 | 301 | 302 |
---|---|---|
重定向型別 | 永久 | 臨時 |
什麼時候使用 | 用於重定向即將被刪除的舊網頁。 | 用於重定向將被恢復的舊網頁。 |
重定向語法 | 被改變 | 被改變 |
引數對比 | 301 | 308 |
---|---|---|
重定向型別 | 永久 | 永久 |
什麼時候使用 | 用於重定向即將被刪除的舊網頁。 | 用於重定向將被刪除的舊網頁。 |
特別之處 | 更適合於SEO;被爬蟲很好地識別;用於永久重定向;對重定向的頁面有充分的連結權重。 | 實驗性的;支援有限;用於避免對GET方法的錯誤改變。 |
重定向語法 | 被改變 | 不被改變 |
301對谷歌來說有更強的規範性。同時,谷歌團隊的代表表示,308和301 HTTP狀態碼提供了相同的重定向和SEO驅動的屬性。
引數對比 | 302 | 307 |
---|---|---|
重定向型別 | 臨時 | 臨時 |
什麼時候使用 | 用於重定向將被恢復的舊網頁。 | 用於重定向將被恢復的舊網頁。 |
特別之處 | 用於臨時重定向;被搜尋爬蟲很好地識別。 | 更適合於SEO;用於避免對GET方法的錯誤改變;將客戶的請求轉移到另一個主機上。 |
重定向語法 | 被改變 | 不被改變 |
必不可少的HTTP 300狀態碼是301、302和307,因為它們用於臨時和永久重定向。這些狀態碼被建議用於確保SEO友好的網站遷移、URL變更、網站重組和更新、域名變更或網站頁面的短期重新發布活動。
值得注意的是,重定向的過程有一些要求,以滿足谷歌的排名標準。主要有五個提示要記住:
http://
和http://www
版本之間設定301、302和307重定向。這對你的搜尋引擎優化至關重要。以上就是本文的所有內容,如果對你所有幫助,歡迎點贊、收藏、轉發~