技術 SEO 重定向的終極指南
已發表: 2021-12-27重定向用於將用戶和搜索引擎爬蟲從一個 URL 轉發到另一個 URL。
更改現有 URL 時應使用重定向 - 常見用例包括:
- 合併網站,
- 更改、更新或刪除內容,
- 修復返回 404 狀態碼的頁面,
- 改變網站的信息架構,以及
- 進行站點遷移。
任何重定向錯誤 - 或儘管有必要但未實施重定向 - 都可能導致嚴重的 SEO 問題。 谷歌可能不會將來自原始頁面的排名信號與新頁面相關聯,從而導致排名下降,從而失去流量。
本文將幫助您了解如何實施重定向以使您的網站受益。
閱讀文章以了解:
- 何時以及為什麼應該使用重定向,
- 不同類型的重定向及其用例,
- 重定向的最佳實踐,
- 審計、實施和測試的方法。
什麼是重定向
重定向用於將用戶和搜索引擎從他們最初請求的 URL 轉發到不同的 URL。
通常,重定向可以幫助您從響應 404(錯誤)狀態代碼或包含過時或更改內容的 URL 重定向。
重定向是一種停止訪問頁面並防止用戶和搜索引擎陷入死胡同的方法。
通過實施重定向,您可以為嘗試訪問在沒有重定向的情況下可能會顯示錯誤的頁面的訪問者提供積極的用戶體驗。 錯誤頁面會導致用戶跳出或離開頁面,從而降低他們返回您網站的可能性。
從 SEO 的角度來看,重定向是一種保留原始頁面排名信號的方法,這有助於維持排名。
Google 使用排名信號(其中許多我們不知道)來確定如何對網頁進行排名。 Google 的排名信號包括 PageRank(指向頁面的鏈接的價值和數量)、移動友好性和網絡性能。 通過實施重定向,為舊頁面積累的排名信號可以轉移到新頁面。
規範和重定向之間的區別
如果您曾經使用過規範標籤,您可能想知道重定向和規範化在用例中的區別。
使用 HTML rel="canonical" 標籤有助於搜索引擎了解一組相似頁面中的哪個頁面是規範頁面——您希望在搜索結果中顯示的原始頁面。
從表面上看,規範標籤和重定向都可以幫助您避免重複內容的問題並整合不同的 URL 版本。
但是重定向和規範的工作方式之間存在重要差異,它們不應該互換使用。
當頁面不再存在或已更改時使用重定向。 同時,實施規範標籤後,該頁面的另一個副本仍然存在。 您使用規範標籤向搜索引擎指定哪個 URL 版本是主要版本。
重定向應該優先於規範,以整合 URL 屬性並消除重複內容的問題。 谷歌可以根據標籤選擇規範版本,但如果它認為更好,它也可以使用不同的頁面。 同時,如果正確實施重定向,Google 將不會選擇其他 URL。
當需要重定向時
通常,如果原始 URL 是,則重定向是必不可少的:
- 索引和排名,
- 用戶經常訪問,
- 從您的網站和外部資源鏈接到,
- 用於其他內容,例如您的時事通訊。
但是,如果您有不有價值或不受歡迎的頁面,則修復它們並不重要。
以下是Google 關於 404 錯誤的說法:“通常,404 錯誤不會影響您網站的搜索性能,如果您確定這些 URL 不應該存在於您的網站上,您可以放心地忽略它們”。
在大多數情況下,404 會損害您的 SEO 的唯一情況是,如果您有來自其他網站的鏈接指向錯誤頁面。 然後,您應該實施重定向以保留累積的 PageRank。
有一些方法可以增強訪問者訪問您的錯誤頁面的體驗。 例如,您可以引導他們到更好的位置或建議他們的後續步驟。 請參閱我們的指南,了解如何創建出色的 404 頁面。
重定向類型
有兩種類型的重定向:
- 服務器端重定向,以及
- 客戶端重定向。
不同之處在於重定向發生的位置——服務器或客戶端。
服務器端重定向與HTTP 狀態代碼有關,它是服務器對瀏覽器請求的響應。 3xx 狀態碼用於重定向。
客戶端重定向是通過在頁面的 HTML 中插入代碼來實現的。
讓我們看一下這兩種重定向類型、它們的特徵和用例的最常見示例。
服務器端重定向
最常見的服務器端重定向是 301 和 302。還有它們的 HTTP 1.1 版本——307 和 308。
讓我們關注 301 和 302 重定向,關於如何以及何時使用它們的建議,以及搜索引擎如何處理它們。 我還將解釋其他 HTTP 請求代碼的含義以及您何時可能遇到它們。
301 重定向
301 重定向通常是 SEO 最推薦的重定向方法。 它們表明一個 URL 已被永久重定向到一個新的目的地。
您可以決定刪除或更改您的一個或多個頁面。 但是,如果您只是刪除或更改它,就會出現問題,尤其是當這些頁面獲得大量流量並且對您的業務有價值時。
如果您也不打算再使用原始 URL,則使用 301 重定向將是正確的選擇。
301 重定向的用例
301 重定向有幾個用例,其中一些可以包括:
- 對您的內容進行更改,例如更新或刪除一段內容或合併它,
- 將您的網站移至新域,
- 更改 URL 的結構,例如,通過調整站點架構或更改 URL 的子域或子目錄結構,
- 從 HTTP 到 HTTPS 協議,
- 更改您的 CMS,
- 合併網站,
- 任何想要從具有 404 狀態的 URL 重定向用戶和搜索引擎的情況。
301 重定向對 SEO 的影響
301 重定向告訴搜索引擎該頁面已更改位置,並且可以在新 URL 中找到內容。
在這種情況下,搜索引擎應該從索引中刪除舊 URL,並將盡可能多的 PageRank從原始 URL 轉移到新 URL。 然後,您還可以保持排名,這將使您保持流量和轉化率。
我們不知道 301 重定向會丟失多少累積的排名信號,但如果重定向正常工作,這是挽救這些信號的最佳方法。
但是,請確保每次創建指向新 URL 的 301 重定向時,它都會指向與舊 URL 的內容盡可能匹配的頁面。 它將幫助您最大限度地減少重定向可能對您的搜索可見性產生的任何不利影響。
您應該保留301多長時間
請記住,發現更新的 URL 的過程可能需要一些時間,具體取決於搜索引擎抓取您網頁的頻率。
在最近的一段視頻中,谷歌的搜索倡導者約翰·穆勒建議:
“當一個 URL 發生變化時,我們的系統需要以重定向的形式看到變化至少幾次以記錄該變化。為確保重定向已被多次看到,我們建議將重定向保留至少一年。”
來源: 301 重定向保留多長時間? #AskGooglebot
但是,在 Onely,我們建議您根本不要刪除重定向,以避免搜索引擎暫時未在您的 URL 上註冊更改時出現問題。
確保 Google 將重定向的 URL 視為規範 URL
在另一個視頻中,當被問及如何確保 Google 將新 URL 視為規範版本時, John 表示使用 301 重定向是不夠的,因為它只是一個信號:
“您是在告訴我們,您希望將目標頁面編入索引而不是原始頁面。 這很好。 但是,我們使用很多因素進行規範化,而不僅僅是重定向……”來源:處理 301 重定向 #AskGoogleWebmasters
正如約翰進一步解釋的那樣:
“如果一切都一致,我們將專注於目標頁面。 為了讓這更容易,請確保更新內部鏈接、站點地圖文件和對原始頁面的其他引用,以便它們都指向目標頁面。”來源:處理 301 重定向 #AskGoogleWebmasters
302 重定向
302 重定向表示 URL 已臨時移動。
它告訴訪問者和搜索引擎此 URL 目前在此位置不可用,但它將再次可用。
302 重定向的用例
如果您是以下情況,則應選擇 302 重定向:
- 重新設計或更新頁面上的內容,但計劃將其恢復,
- 修復損壞的 URL 並臨時將其流量重定向到不同的目的地,
- 重定向產品頁面,例如,對於暫時缺貨、季節性或特別優惠的產品,
- A/B 測試——例如,如果您正在測試新的網站模板,
- 地理定位——如果您想根據用戶的位置將用戶重定向到不同的 URL,
- 設備定位——根據用戶的設備重定向用戶。
302 重定向對 SEO 的影響
與 301 不同,將排名信號傳輸到具有 302 重定向的新 URL 會帶來更多問題。
此前,很多SEO認為302重定向不能通過PageRank。 然而,約翰·穆勒在 2016 年解釋說這是一個神話。
通常,Google 將 302 重定向視為臨時性的,在這種情況下,它可能不會將所有排名信號傳輸到目標 URL。 但是,如果 302 存在一段時間,Google 可能會將其視為規範版本,並像對待 301 一樣有效地處理 302 重定向。
實現 302 的最重要規則是暫時保留它們,並在原始 URL 再次可用時立即刪除重定向。
307 和 308 重定向
307s 和 308s 是 301s 和 302s 的 HTTP 1.1 等效項,並且工作方式類似。 307 是臨時重定向,而 308 表示頁面已永久移動。
301s 和 302s 與 307s 和 308s 之間的唯一區別是使用後者可以保證在發出重定向請求時不會更改方法和正文。
換句話說,301s 和 302s 有時會錯誤地從POST方法更改為GET方法,其中 POST 方法將數據發送到服務器,而 GET 用於請求數據。 為了更好地說明這種差異:GET 方法可用於通過搜索頁面接收數據,而 POST 方法可用於更改密碼的表單。
Google 的指導方針指出, 307 和 308 的處理方式與 301 和 302 的處理方式相同。
客戶端重定向
如前所述,客戶端重定向發生在瀏覽器中。 有兩種客戶端重定向方法:
- 元刷新,以及
- JavaScript。
但是使用它們有一些缺點。
總體而言,僅當服務器端解決方案無法實現時才建議使用客戶端重定向,例如,您無權訪問您的服務器。
讓我們看看這兩種重定向方法,並了解如何實現它們以及它們如何影響您的 URL。
元刷新
在元刷新重定向中,元標記應該放在頁面的<head>部分,告訴瀏覽器在指定時間過去後移動到另一個頁面。
以下是示例代碼的樣子:
<meta http-equiv="refresh" content="2; URL='https://www.onely.com/blog/javascript-redirects-and-seo/'" />數字 (2) 指定瀏覽器重定向到指定 URL 之前的秒數。
這種重定向方法通常與顯示消息一起使用,“如果您在 5 秒內未重定向,請單擊此處”,在這種情況下,重定向會在 5 秒後發生。

谷歌區分即時和延遲元刷新重定向。 即時的應該將秒數設置為“0” ,在這種情況下,谷歌會將其視為永久重定向。 延遲的重定向將在重定向之前有幾秒鐘的時間,Google 表示此重定向將被視為臨時的。
元刷新類型重定向應該可以正常工作。 我們不推薦它有兩個原因:UX(它將頁面保存在瀏覽器歷史中,afaik)和處理時間(我們需要解析頁面才能看到它)。 一旦處理完畢,它就像一個重定向。
——約翰(@JohnMu)2018 年 3 月 2 日
即使 Google 正確處理了您的重定向,這種重定向方法通常也會給用戶帶來不好的體驗。 首先,它比服務器端重定向需要更多的時間來處理。 它也可能出現垃圾郵件並讓用戶感到困惑,因為他們沒有啟動重定向或被帶到不同頁面的速度太快或太慢。
元刷新僅在特定情況下是建議的選項,例如如果您無法訪問或使用 .htaccess 文件,或者您只想重定向多文件目錄中的單個文件。
如果您決定使用元刷新,請將請求目標 URL 的延遲保持在最低限度——最好將其設置為 0。
JavaScript 重定向
使用 JavaScript 重定向通常對 SEO 不友好。 由 Google 抓取和呈現 JavaScript仍然是一個複雜的主題,並且有許多指南可以幫助 Google 盡可能地理解您的 JavaScript。
此外,如果 Google 未將您的 JavaScript 文件視為與該頁面相關,它可能根本不會呈現 JavaScript。
JavaScript 重定向不提供設置 HTTP 狀態代碼的選項,因此當請求 URL 時,服務器將響應 200 OK 狀態。 因此,在發生重定向之前,需要下載和呈現頁面的資源。 這會導致重定向過程比服務器端解決方案花費更長的時間。 通過使用 JavaScript,所有排名信號傳遞到新 URL 的機會也更低。
但是在某些情況下,JavaScript 重定向是一個可行的選擇。 JavaScript 重定向的一個好處是您可以包含額外的邏輯。 例如,您可以使用它來檢測用戶的位置或語言並根據此設置進行重定向。
請務必查看我們的JavaScript 重定向指南,該指南將為您提供有關實施此方法、其風險和建議使用的完整概述。
哪些重定向更適合 SEO?
上述重定向類型——HTTP、元刷新 (HTML) 和 JavaScript 重定向——工作方式不同,並在不同階段被搜索引擎採用。
Google 可以在抓取過程中捕獲服務器端 HTTP 重定向。 機器人可以收到 3xx 響應並了解頁面已移動到其他位置。 這使他們可以更快地訪問新 URL。
但是,對於客戶端重定向,Google 只能在呈現階段檢測到重定向。 這為該過程增加了更複雜的步驟,並使其顯著更長。
客戶端重定向不保證 Google 會正確索引重定向。 在這種情況下,舊 URL 仍然存在,這與服務器端重定向不同。
無法使用客戶端重定向指示 HTTP 狀態代碼,這是一個重大缺點,使搜索引擎更難決定如何處理重定向。
值得補充的是,元刷新將在 JavaScript 重定向之前執行。 此外,需要執行 JavaScript 才能遵循 JavaScript 重定向,這使其成為最不受歡迎的重定向方法。
盡可能使用服務器端重定向。 如果它們不可用,請進行客戶端重定向。
實現重定向的最佳實踐
如果重定向構造正確,搜索引擎會將舊 URL 的排名信號與新 URL 相關聯。 這樣,您可以保持排名、流量和收入。
讓我們看看您在重定向中應遵循的準則。
避免重定向鍊和循環
當原始 URL 和目標 URL 之間存在多個重定向時,就會出現重定向鏈。 這增加了到達目標頁面所需的時間。
如果您有三個 URL——A、B 和 C——不要創建這樣的重定向:
網址 A → 網址 B
網址 B → 網址 C
相反,請確保始終只有一個重定向:
網址 A → 網址 C
網址 B → 網址 C
當無法到達目標 URL 時會發生重定向循環。 例如,如果重定向是這樣實現的,它可能會發生:
網址 A → 網址 B
網址 B → 網址 A
結果,這些 URL 相互重定向,無法訪問目的地。
每個重定向都會向服務器創建一個額外的 HTTP 請求。 使用一個重定向不會對性能產生太大影響,但每個額外的重定向都會對加載時間產生負面影響,從而提供更差的用戶體驗。
使用 301 重定向來解決潛在的重複內容問題
您的 URL 可能以不同的格式存在,這可能會導致重複的內容問題。
例如,可能有 URL 的版本:
- 有和沒有 www,
- 帶和不帶斜杠 (/),
- 使用 HTTP 和 HTTPS。
為避免重複內容問題,請使用 301 重定向指向該 URL 的規範版本。
重定向到主題相關頁面
您的重定向應始終指向與舊 URL 最接近的匹配頁面。
在選擇要重定向到的最合適的頁面時,請考慮用戶最初希望找到的內容,並將他們重定向到能夠解決其搜索意圖的內容。
例如,如果某人試圖訪問您不再銷售的特定鞋子的頁面,您可以將他們重定向到具有相關鞋子類別的頁面。
將產品頁面重定向到主頁通常被視為不好的做法。 Google 也可能會看到諸如 404 之類的 URL:
是的,這不是一個很好的做法(讓用戶感到困惑),而且我們大多將它們視為 404(它們是軟 404),所以沒有任何好處。 它不是嚴重損壞/壞,而是無緣無故地增加了複雜性——改為製作更好的 404 頁面。
- 約翰(@JohnMu)2019 年 1 月 8 日
解決鏈接斷開的問題
可能有指向您網站上的 404 頁面的內部和外部鏈接。 您可以使用Ahrefs Site Explorer或Semrush 反向鏈接分析工具等工具來查找損壞的鏈接。
- 更新內部鏈接
損壞的內部鏈接無助於搜索引擎發現您的內容或識別它所連接的內容。 您應該旨在更新導致 404 頁面的內部鏈接。 不要在這裡實現重定向——這樣,您就可以避免搜索引擎和訪問者的額外步驟。
- 修復外部鏈接
由於外部鏈接損壞,您會錯過重要的排名信號。 但是,這些鏈接不受您的控制,因此您不能簡單地更新它們。 相反,請聯繫鏈接到您的站點並請求他們將鏈接更改為不同的 URL。 如果這不起作用,您應該 301 將錯誤頁面重定向到有效的頁面。
使用 301 重定向來解決關鍵字蠶食問題
如果您發現多個頁面針對相同的用戶意圖,請考慮將它們重定向到最能滿足該意圖的主要內容。
如有必要,如果有任何信息可以使其更全面,您還可以更新主要部分,然後實施重定向。
準備重定向策略
在進行站點遷移之前,制定重定向策略尤其重要。 首先創建遷移後不存在的所有舊 URL 的列表。
您可以通過以下幾種方式訪問它們:
- 從您的 XML 站點地圖中導出 URL,
- 使用爬蟲來查找和收集您的所有 URL。
當您擁有所有 URL 的列表時,您應該對它們進行映射以確定每個 URL 應該重定向到哪裡。
您可以根據新舊 URL 之間的共享模式(例如頁面標題或產品代碼)重定向頁面。 確保這些模式包含唯一標識符,以降低出錯的風險。
在準備策略時,請確保您映射的 URL 與主題相關,並且沒有重定向鏈- 或者,至少,重定向的數量保持在最低限度。
管理停產產品
對停產產品實施重定向的策略取決於您的情況。
如果您的產品缺貨且不會退貨,最好將這些頁面 301 重定向到最接近的替代品。
但是,如果停產的產品產生了興趣和流量,那麼保持相同的 URL 並簡單地更改頁面可能是更好的選擇。 然後它可以額外顯示相關可用產品的其他報價,或者您可以將其變成已停產產品及其替代品的比較文章。
如何檢查您網站的重定向設置是否正確
要了解您的重定向設置是否正確,請從審核您網站的重定向開始。 如果您有一個大型站點,此解決方案特別有用。
然後,您將知道是否需要修復任何 URL,以及如果需要,在何處實施重定向。
首先,通過在站點地圖中導出 URL 或通過抓取您的站點並提取所有 URL 來訪問您的所有 URL。 然後,您可以將它們保存在 .csv 文件中。
然後,使用Screaming Frog SEO Spider之類的工具來審核舊 URL,檢查重定向是否有效以及是否出現任何錯誤。 請按照本文中有關審核 Screaming Frog 中的重定向的步驟進行操作。
如果您的重定向較少,您可以手動測試您的重定向是否正常工作。 只需訪問舊 URL,看看您是否被重定向到新 URL。
您還可以使用一些工具——例如,您可以在Google Search Console或Semrush 的站點審核中檢查臨時和永久重定向。
如果你想測試一個特定的 URL,你可以使用像httpstatus這樣的工具,它會顯示狀態碼和重定向鏈。 還有Redirect Checker ,它將檢查 HTTP 代碼,以及元刷新和 JavaScript 重定向。
如果您進行站點遷移,您應該在暫存環境中以及在新站點上線後測試您的 301 重定向。 您可以簡單地抓取您的 URL 並檢查它們中的每一個是否 301 重定向到指定的目標 URL,這將返回 200 代碼。
您還應該在實施重定向後監控您的 URL,以確保沒有錯誤並且重定向繼續有效。
如何實現重定向?
有幾種方法可以根據您的服務器或您使用的 CMS 實現重定向。
常用方法包括在Apache 或 Nginx 服務器上實現它們,或使用可用於WordPress、Shopify 或 Magento 的插件。
如果概述的方法不適用於您,您可以找到您的託管或 CDN 平台的指南以獲取有關實施重定向的指導。 他們中的大多數都提供了一種通過管理面板管理重定向的簡單方法。 例如,這裡是DreamHost或Hostinger的指南。
對於實現重定向的其他解決方案,請務必閱讀這篇關於重定向頁面的文章。
阿帕奇
如果您的站點在 Apache 服務器上運行,您可以通過訪問服務器根文件夾中的.htaccess 文件來實現重定向。 此文件允許您在不更改服務器配置文件的情況下對網站的詳細信息進行配置。
您可以通過使用 FTP 或文件管理器訪問服務器的 public_html 目錄來訪問此文件。 如果您沒有 .htaccess 文件,您可以使用任何文本編輯器創建一個,將其名稱設置為不帶擴展名的“.htaccess”,然後將其上傳到 public_html。
在對此文件進行任何更改之前,請創建它的備份。 其中的任何錯誤都可能導致您的內容無法正確顯示。
以下是您可以實現的不同重定向指令的一些常見示例。
要將URL 301 重定向到另一個 URL,請使用以下代碼:
重定向 301 /old-page.html https://website/new-page.html由於該命令駐留在該域的根服務器中,因此無需在此處包含舊頁面的完整 URL。 但請注意,儘管您可能會重定向同一域上的頁面,但您必須提供目標的完整 URL。
如果要重定向帶有 302 狀態碼的 URL,只需將重定向更改為“重定向 302 ”。
如果您想將整個域永久重定向到另一個域,請執行以下操作:
重定向 301 / https://www.newwebsite.com/
如果您的 URL 從HTTP 更改為 HTTPS ,請使用以下命令:
重寫引擎開啟 RewriteCond %{HTTPS} 開啟 重寫規則 (.*) https://%{HTTP_HOST}%{REQUEST_URI }
在這種情況下,您首先打開 .htaccess 文件中的RewriteEngine模塊,這是條件工作所必需的,然後指定條件。
您還可以將舊文件路徑重定向到新路徑:
重定向/olddirectory/oldfile.html http://example.com/newdirectory/newfile.html
使用 .htaccess 文件的另一種方法是將用戶重定向到自定義 404 頁面。 您可以通過實現以下代碼來做到這一點:
錯誤文檔 404 /error/pagenotfound.html在這裡, /error/pagenotfound.html應該指向您的 404 頁面的位置。
如果您不確定如何在 .htaccess 文件中實現重定向以及它們如何工作,請查看此Apache 教程及其URL 重寫指南。
您還可以按照本指南在 Apache 上設置 .htaccess 文件。
Nginx
如果你的服務器運行 Nginx,你可以在 `nginx.conf` 文件中通過添加一個服務器塊來處理重定向請求來管理你的重定向。
此代碼示例將導致重定向到新 URL:
服務器 { 聽 80; 聽 443 ssl; server_name www.old-name.com; 返回 301 $scheme://www.new-name.com$request_uri; }
查看有關創建 Nginx 重寫規則的指南,了解如何創建這些請求。
插件
您可以使用 CMS 插件,這是一種自動執行重定向的方法,使流程更快,尤其是在您擁有大型網站的情況下。
大多數 CMS 或電子商務平台都提供一系列重定向插件。
WordPress
以下是一些可用於 WordPress 的流行插件:
重定向– 它可以讓您管理 301 重定向並跟踪您的網站可能存在的任何 404 錯誤。 將它用於只有幾個重定向的站點和具有數千個重定向的站點。
301 重定向– 此插件可讓您管理和創建 301、302 和 307 重定向。 它還會記錄您的 404 錯誤。 如果您有很多頁面要重定向,此工具可讓您批量重定向甚至數千個 URL。
安全重定向管理器- 使用此插件,您可以創建 301 和 302 重定向,但它不提供批量重定向選項,因此建議用於較小的站點。
您還可以考慮提供此功能的通用 SEO 插件,例如Yoast或All in One SEO 。
Shopify
如果您使用的是 Shopify,您可以使用其中一種可用的應用程序,例如:
ESC 輕鬆重定向- 此應用程序可讓您管理 301 重定向和 404 錯誤頁面,包括批量重定向。 如果您在平台之間遷移您的商店或調整您的網站結構或產品頁面,這個工具會很有幫助。
Redirectify – 這是一款 Shopify 應用程序,可幫助您查找和重定向 404 錯誤。
Magento
如果您使用的是 Magento,您可以在 URL 重寫功能中設置 301 重定向。
結論
重定向是一種在內容已被刪除或更改的頁面中保留排名信號、流量和轉化的方法。 遵循上述指南是保持搜索性能的關鍵,因此請特別注意正確實施它們。
通過實施重定向,您可以讓用戶遠離可能導致負面用戶體驗的錯誤頁面,並指示搜索引擎他們應該去哪里以及他們應該如何處理您更改的 URL。
