什麼是 301 重定向? 七件事要知道
已發表: 2021-04-02301 重定向就像一張地圖,它將您網站的訪問者從不再存在的頁面或帖子帶到存在的頁面或帖子。
想像一下,試圖讓您的雜貨送貨上門,但司機使用的地圖應用程序停在您街道的盡頭,並沒有將它們一直送到您家。 如果你的送貨司機必須在你街上的所有房子都停下來找到你,那麼你的冰棒會被融化。 或者更糟的是,他會拿走你的雜貨然後回到商店。 301 重定向完成到正確目的地的旅程。
在本 301 重定向指南中,我們將涵蓋您需要了解的有關 WordPress 網站 301 重定向的所有信息,包括您需要了解的有關 301 重定向的七件事以及如何在 WordPress 中創建 301 重定向。
什麼是 301 重定向?
什麼是 301 重定向? 簡而言之,301 重定向會將用戶從舊 URL 帶到一個新 URL,該新 URL 替換了不再存在的舊 URL。
具體來說,301 重定向狀態代碼表示用戶嘗試訪問的網站或博客上的任何頁面已被永久移動到新 URL。 換句話說,他們使用的 URL 是舊 URL 並且已經更新。
使用 301 重定向,當用戶嘗試訪問不再存在的 URL 時,他們將訪問更新後的 URL。 除非用戶已將其瀏覽器配置為阻止重定向(高安全性配置通常會這樣做),否則他們將訪問更新後的 URL。
在極客發言,300系列的HTTP(H yper t外接貿易交接P rotocol)狀態碼被用於表明,重定向應該發生由於各種原因。
WordPress 網站使用 301 重定向的主要原因是控製網站的訪問方式。 我們將看看這些重定向背後的機制,如何在 WordPress 中創建 301 重定向,以及為什麼要創建一個。
關於 301 重定向需要了解的 7 件事
在理解 301 重定向時,需要了解一些重要的(技術和非技術)事項。
- 計劃在您刪除網站或博客上的帖子或頁面時創建 301 重定向。 每當您刪除網站或博客上的帖子或頁面時,您都需要考慮應替換哪個帖子或頁面。 這就是 301 重定向的用武之地。
- 301 重定向可幫助您避免 404。 404 是當您刪除帖子或頁面並且不創建指向新帖子或頁面的 301 重定向時發生的情況。 作為出於各種原因的最佳實踐,應該不惜一切代價避免 404(也稱為“找不到頁面”)。
- 主要搜索引擎提供商建議您在更改頁面或帖子的 URL 時立即添加 301 重定向。 通過這種方式,他們的搜索引擎可以跟踪更改並使他們在您網站上的結果保持最新。
- 創建 301 重定向有很多技術性很強的方法,或者您可以使用 WordPress 插件之類的工具。 301 重定向可以通過多種方式添加到您的網站,使普通用戶的過程更加簡單(稍後會詳細介紹)。
- 301 重定向應該只在 URL 是公開的並且不會很快更改的情況下使用。 這也會影響您的 SEO 排名,所以要小心。
- 當心太多的 301 重定向。 如果您有多個重定向,您也可能會收到較低的 SEO 分數。 例如,如果一個 URL 多次更改,您可能會為每個 URL 設置一個 301 重定向。 哎呀。
- 通常,當客戶端收到 301 響應時,他們對該 URL 的書籤將自動更新為新的。 那是好消息。
還有一些需要注意的技術事項:
- 301 重定向可用於使 301 重定向使URL 前的“www”成為可選。 如果用戶或鏈接不提供“www”,服務器通常被配置為插入“www”。
- 301 重定向還可以完成從 URL 之前的“http://”到“https://”的更改。 如果您最終將 WordPress 網站移至 HTTPS(強烈推薦!),則需要設置 301 重定向。 301 重定向可確保用戶與您網站的連接是安全的。

如何在 WordPress 中創建 301 重定向?
在 WordPress 中創建 301 重定向有兩種主要方法:
- 手動在 WordPress 中創建 301 重定向。 如果您對網站文件和服務器配置的更多技術領域感到滿意,則此方法適合您。 如果沒有,您將需要一個插件。
- 使用 WordPress 重定向插件。 這種方法可能比管理複雜的商業站點或多個站點的人更可取。 插件可以自動化該過程並在您擁有的所有站點上執行它。
首先,我們將看看如何為您的 WordPress 網站手動進行 301 重定向。 為了製作一個清晰簡潔的教程,我們將對您如何操作您的網站做出一些假設。 這些將在下一節中概述。 插件可以自動化 301 重定向的過程,並在您擁有的所有站點上執行它。
其次,我們將看看您可能如何使用插件來執行此操作。 手動方法可能看起來很簡單,但這裡有一些原因,WordPress 站點管理員不應該為他們管理的每個站點手動創建自己的 301 重定向。
- 最佳實踐明確指出,跨站點的所有更改都應該是統一的。 如果為您管理的每個站點手動進行重定向,總會有一些細微的差異。
- 正如您將看到的, 301 重定向可以非常快地從簡單變為複雜。 複製和粘貼代碼時,您仍然可能會遇到文本編碼問題(取決於所使用的操作系統)以及其他問題。
- 隨著時間的推移,您將需要進行新的更新。 記住這種語法幾乎是不可能的。 一個插件可以讓一切在多年來和你的成長過程中保持一致!
WordPress 301 重定向插件
WordPress 插件為您的 301 重定向需求提供了更簡單的解決方案。 這些插件將自動執行該過程(您不必知道它是如何或為什麼自動執行的,但如果您想知道這些插件使用純 PHP、我們的 WordPress 功能或隱藏的服務器文件,我們將在下面討論。
重定向插件
重定向插件允許您管理 301 重定向並跟踪 404 錯誤。 這是一個方便的插件,我們實際使用和推薦的插件。
簡易重定向管理器插件
Easy Redirect Manager 還可以為您完成 301 重定向。 安裝後,您只需要打開它。 您應該會看到一個鏈接表,並且能夠添加任何具有適用狀態代碼的重定向。 只需選擇一個舊 URL,輸入新 URL,並確保將其標記為 301 重定向。
簡單的 301 重定向插件
Simple 301 Redirects 是一個更加專注的插件。 專為那些希望執行 301 重定向的人設計,它不僅僅是保留重定向。 它還將確保那些關注 SEO 排名的人不會通過為他們的 WordPress 網站進行 301 重定向而失去他們已經擁有的東西。
像 Yoast SEO 這樣的 SEO 插件
許多 WordPress SEO 插件,例如 Yoast SEO,都將 301 重定向作為插件中的一項高級功能,因為 301 重定向對您網站的 SEO 至關重要。 檢查您的 WordPress SEO 插件在其免費或付費版本中是否具有 301 重定向作為內置功能。

獲得(超級)技術:無需插件的 WordPress 301 重定向
接下來我們將討論如何在沒有插件的情況下進行 301 重定向。 在此示例中,我們將介紹如何將一個 URL 重定向到您網站上的另一個頁面。 本文的下半部分將展示我們如何確保訪問您網站的每個人都與您的網站建立安全連接。 這也稱為“強制 WordPress SSL”。
我們將使用名為 wp_redirect 的內置 WordPress PHP 函數。
302 重定向意味著“暫時移動”並且不會更新您的搜索引擎列表。 這最終將不利於您現在或將來嘗試的任何 SEO 策略。 不讓您的重定向更新搜索引擎列表對您現在或將來會嘗試的任何 SEO 策略都是有害的。
在我們的示例中,假設您有一個名為 our-example-wp-site.com 的站點。 讓我們假設 URL 上的頁面 – our-example-wp-site.com/old-url – 需要重定向到 our-example-wp-site.com/new-url。 因為我們安裝了 WordPress,所以我們不必使用原始 PHP,而是可以使用 wp_redirect 函數。
使用 wp_redirect
使用文件管理器,導航到包含“old-url”頁面內容的文件。 打開此文件進行編輯,並用這行代碼替換所有內容(PHP 使用的開始和結束標記除外):
wp_redirect( "http://www.our-example-wp-site.com/new-url" , 301 );
如您所見,這是一個帶有兩個參數的簡單函數。 第一個參數是指向我們舊URL 頁面的鏈接。 第二個參數在技術上是可選的,但如果留空,將默認為 HTTP 狀態 302,這不是我們想要的。
使用普通 PHP
根據您使用的 WordPress 版本,或出於各種原因,您可能不想使用 wp_redirect。 到目前為止, wp_redirect 是管理單個頁面重定向的最簡單的特定於 WordPress 的方法。
但是,還有一種方法可以在純 PHP 中執行我們想要執行的 301 重定向。
由於 WordPress 基於 PHP,我們假設您的服務器必須安裝 PHP。 為了開始,我們需要打開文件在文件管理器中進行編輯。 這應該是包含我們需要重定向到新 URL 的舊 URL 內容的文件。
再一次,讓我們假設我們有域 our-example-wp-site.com 並且我們想從 our-example-wp-site.com/old-url 重定向到 our-example-wp-site.com/新網址。 這是應該在我們的“舊網址”頁面上使用純 PHP 的代碼:
<? header("HTTP/1.1 301 永久移動"); header("位置:http://www.our-example-wp-site.com/new-url"); ?>
此代碼的第一行是要發送的確切 HTTP 狀態響應。 請注意,HTTP/1.1 的前綴必須與所寫的完全一致。 下一項必須是狀態代碼的編號。 說“永久移動”的部分必須是與我們的 HTTP 狀態代碼正確對應的字符串。
這裡變得棘手。 從技術上講,每個項目都是客戶端瀏覽器讀取的字符串中的一個參數。 它們都是手動輸入的,但它們必須完全正確。 否則,客戶端將收到“bad header”錯誤。
PHP 代碼中的第二行必須是新 URL 的位置。 這必須包含 URL 的完整路徑; 換句話說,我們必須包含整個 URL,即使它是我們自己站點中的一個文件。 原因是因為它作為下一個瀏覽器標頭髮送給客戶端,並且它會被解釋為已寫入。 由於客戶端不會在本地擁有您站點的所有文件,因此它需要引用完整的、更新的 URL。
301 重定向 WordPress .htaccess
無論您是否使用 WordPress 作為您的內容管理系統(或者即使您安裝了 PHP),您都可以使用 .htaccess 進行 301 重定向。 如果您使用圖形文件管理器,則需要查看隱藏的文件和文件夾。
.htaccess 文件將在您的服務器上的“webroot”中。 也就是說,它將位於保存站點內容的頂級目錄中。 在向 .htaccess 文件中添加任何內容時,您應該始終先備份該文件。 這些可能會變得非常長和復雜。 這些文件的另一個經驗法則是始終附加編輯,這意味著始終將編輯添加到文件的底部。
首先,找到您的 .htaccess 文件並將其備份到您的本地計算機。 完成後,您可以在文本編輯器中打開服務器上的實時版本。 轉到文件底部。 在此示例中,我們將確保無論用戶是否輸入“www”,您的網站都能正常運行。 在您的網址之前。
.htaccess 301 重定向代碼
請記住,.htaccess 文件對間距敏感。 在您輸入的每個項目之間放置一個空格。我們建議您輸入而不是複制和粘貼,因為這些文件因複制和粘貼導致的編碼錯誤而臭名昭著。 首先,我們將向您展示代碼。 其次,我們將解釋它的含義:
重寫引擎開啟 重寫基數 / rewritecond %{http_host} ^our-example-wp-site.com [nc] 重寫器 ^(.*)$ http://www.our-example-wp-site.com/$1 [r=301,nc]
在我們的第一行中,我們打開了 Apache RewriteEngine。 這實質上是啟動允許我們重寫客戶端將要看到的內容和 URL 的組件。 第二行讓我們從重寫的位置進行設置。 通過將“/”作為基礎,我們告訴我們的服務器我們希望從我們的 webroot 開始的所有內容都被重寫。
分析我們的 .htaccess 301 重定向代碼
第三行中的“rewritecond”為何時重寫我們的 URL 設置了一個“觸發器”。 %{http_host} 部分意味著它會在任何嘗試通過 HTTP/S 連接到我們網站時被觸發。 我們域之前的胡蘿蔔字符意味著無論用戶是否已經輸入了“www”或他們是否正在使用子域等,都會設置觸發器。最後,您會注意到我們輸入了 [nc]。 這是 Apache 對“no case”的簡寫,意思是它不應該注意 URL 的任何部分是大寫還是小寫。
最後一行是當我們點擊第三行中的“觸發器”時 .htaccess 應該做什麼。 如果它看起來像一門外語,那是因為它使用了“正則表達式”。
在計算機科學中,也簡稱為“regex”,常用於格式化和重寫各種數據。 正則表達式本身通常有整個學期的課程,所以不要覺得你需要學習它! 本質上,這一行使用正則表達式來保留所有 URL,添加我們的“www”。 在它之前,URL 中的 $1 表示將所有內容保留在我們域中的“.com”之後。
在最後一行的最後,你會看到我們有 [r=301,nc]。 括號中的第一個參數 r=301 再次使用 Apache 速記。 'r' 是“Redirect HTTP response code to”的縮寫,我們表示它應該是 301。我們的第二個參數 'nc' 再次用於表示我們不關心字符是大寫還是小寫.
測試我們的 .htaccess 更改
保存並運行後,首先嘗試通過轉到瀏覽器並按 Ctrl+Shift+Del 來刪除臨時文件和緩存。 選擇所有內容,然後按“應用”或“確定”,具體取決於您使用的瀏覽器。
嘗試在沒有“www”的情況下訪問您的域。 在它之前。 如果它不在那裡,它現在應該插入它。 請記住,我們實際上是在插入 http://www.. 如果您安裝了有效的 SSL 證書,您還需要強制使用 SSL。 這就像添加一個“s”一樣簡單,並將我們的 URL 之前插入的內容更改為 https://www。
總結:301 重定向和你
沒有什麼比障礙更讓讀者或搜索機器人感到沮喪的了。 沮喪的讀者不會閒逛,也不會經常回來。
如果您想讓您的讀者在您的網站上閱讀,那麼讓您的讀者移動到活動頁面非常重要。 實施在 WordPress 中使用 301 重定向的計劃對讀者、搜索引擎和您都有好處。
自 2011 年以來,Kristen 一直在編寫教程來幫助 WordPress 用戶。您通常會發現她在為 iThemes 博客撰寫新文章或為 #WPprosper 開發資源。 工作之餘,克里斯汀喜歡寫日記(她寫了兩本書!)、遠足和露營、烹飪以及與家人一起進行日常冒險,希望過上更現代的生活。
