作為一個SEO,理解301重定向是至關重要的。雖然它們一開始可能看起來很簡單,但了解它們在不同情況下應該(和不應該)如何使用是比較覆雜的,盡管你應該能夠很快掌握。
您可能出於多種原因需要重定向頁面,例如:
您發現了一個損壞的 URL。
您的頁面已移至新位置。
您正在更改您的域名。
您需要刪除一個頁面。
如果您不知道如何正確使用重定向,您可能很快就會導致對您的 SEO 和用戶體驗產生負面影響的問題。
本指南是為了幫助你了解關於301重定向的一切,以及它們如何融入你的SEO策略,我們將涵蓋。
- 什麽是301重定向?
- 301 vs. 302 vs. 307重定向
- 什麽是通配符重定向,應該使用它們嗎?
- 什麽時候應該使用301重定向?
- 如何使用301重定向來提高你的SEO性能
- 如何實施301重定向
- 常見的301重定向錯誤及如何避免這些錯誤
什麼是301重定向?
網頁被刪除,網址(URL)被改變,原因很多,從停產的產品被刪除到包含日期的URL被更新。
這是完全正常的,而且往往無法避免(盡管刪除已停產的產品並不總是最好的主意)。
但是,如果你只是簡單地改變或刪除一個頁面而不做其他事情,你會遇到問題。你需要設置一個重定向,以阻止任何對該頁面的訪問,在你的網站上達到一個死胡同。
而且,至少在大多數情況下,你需要在這裡實施的是301重定向。
301重定向是一個永久性的重定向,當原始頁面不再存在時,它將用戶(和搜索引擎)帶到一個新的URL。它的目的是在沒有計劃扭轉這種變化時使用。
在實踐中,它看起來像這樣。
假設你在歷史上將你的博客托管在一個子域–https://blog.website.com,並決定將其移至一個子文件夾–https://www.website.com/blog/。
那個原始的博客將被谷歌索引,已經被包括在社交帖子和電子郵件中,並且可能被訪客添加了書簽。它一直在獲得流量,而你不想失去這些。
如果你在把博客移到子文件夾時簡單地刪除子域,用戶在訪問任何原始URL時都會看到一個404頁面。
這不僅是不好的做法,用戶體驗真的很差,而且也會導致搜索引擎將博客頁面從他們的索引中刪除–就他們所知,它已經不存在了。
但是,如果你設置了301重定向,任何訪問舊網址的人都會被重定向到新網址,而且搜索引擎會隨著時間的推移更新他們索引中的頁面。
簡而言之,你將保持你的流量。
301 vs. 302 vs. 307重定向
你可能也遇到過302重定向,可能認為它們是同一件事。其實不然。
301是永久性重定向,而302是臨時性的,應該在網頁臨時移動時使用。
也就是說,302重定向絕對有它們的位置,通常用於測試變化或獲得客戶反饋等情況,而且原來的網頁預計會回來。
從歷史上看,使用302重定向而不是301重定向會看到原來的頁面失去的任何排名,因為他們被認為不通過PageRank。然而,在2016年,谷歌的約翰-穆勒(John Mueller)證實,這不是(至少不再是)這種情況,302事實上是傳遞PageRank的。
你可以在下面看到穆勒的評論。
307重定向也被用作臨時重定向。302和307的區別在於,使用307重定向時,HTTP方法保持不變。使用302,HTTP方法可以改變。
如果改變是永久性的,請使用301。
什麼是通配符重定向,你應該使用它們嗎?
通配符重定向允許你用一條重定向規則將你網站上一個文件夾中的所有URL重定向到另一個文件夾。
保持我們的例子,即博客從子域遷移到子文件夾,通配符重定向可以用來。
- 將https://blog.website.com 重定向到https://www.website.com/blog/
- 將https://blog.website.com/blog-post/ 重定向到https://www.website.com/blog/post-name/
或者,舉另一個例子,你可以使用通配符重定向來改變電子商務商店中某個類別的URL結構,將該類別中的所有產品和子類別的URL重定向到新的類別: - 將https://www.website.com/old-category/ 轉移到https://www.website.com/new-category/
- 將https://www.website.com/old-category/product/ 轉移到https://www.website.com/new-category/product/
- 將https://www.website.com/old-category/subcategory/ 轉移到https://www.website.com/new-category/subcategory/
在這個例子中,只有/old-category/子文件夾中的URL會被重定向;任何在/different-category/中的URL則不會被重定向。
- 通配符重定向可以在有單一變量變化時使用,例如,一個文件夾名稱。URL路徑的其餘部分必須保持一致才能使用通配符。
- 如果你正在批量改變URL,而路徑中只有一個變化,通配符可以作為一個選項,重定向一個子文件夾中的所有內容,而不需要為每個子文件夾實施單獨的重定向。
- 如果一個路徑中有一個以上的變量在變化,重定向就不合適了。
什麼時候應該使用301重定向?
有很多情況下,你應該使用301重定向。讓我們看看一些最常見的原因。
永久性地將一個頁面移動到一個新的URL
From https://www.website.com/old-page-name/ to https://www.website.com/new-page-name/
有的時候,你需要改變你網站上的一個頁面的URL。
這可能是一個產品名稱稍有變化,你需要更新它,或者你開始了一個項目,以更好地將你的網站頁面分類為主題群,或者完全是另一個原因(原因是無窮的)。
301重定向將確保用戶被重定向到新的URL,並確保搜索引擎對新的頁面進行索引並保持所擁有的任何排名位置。
刪除網站頁面
當你從你的網站上刪除一個頁面時,對於最佳實踐說你應該做什麽,人們常常感到困惑。
你應該301重定向到另一個URL,還是應該讓它成為一個404頁面?或者甚至給它一個410的狀態?
嗯,這取決於。
你是否應該對需要刪除的頁面進行301重定向、404或410?
404或410錯誤肯定不是用戶想看到的。它們也不是谷歌在抓取你的網站時真正想面對的。
你需要問自己的第一個問題是,你要刪除的頁面是否在你的網站的其他地方有一個近乎等同的頁面。如果用戶點擊了原來的URL,他們就會被重定向到一個有意義的頁面?
如果答案是肯定的,你最好的選擇是實施301重定向。
如果答案是否定的,另一方面,你將需要弄清楚什麽是最佳行動方案。
而且,這取決於你為什麽首先要刪除該頁面的原因。
如果真的沒有其他頁面可以重定向,該頁面需要被刪除,而且它不會再回來,那麽最好的選擇是實施一個 “410 “標題,告訴瀏覽器和搜索引擎該頁面已被刪除。
404錯誤意味著找不到內容,而410狀態則明確表示它已經被刪除。
下面是一個快速流程圖,幫助你決定什麽是最有效的:
將你的網站遷移到一個新的域名
從https://www.website.com 到https://www.newwebsite.com
企業有時需要改變其域名,原因有幾個。
例如,他們可能從.com TLD遷移到.co.uk ccTLD,或者已經重塑品牌,需要遷移到一個反映新企業名稱的域名。
從一個域名遷移到另一個域名時,需要進行301重定向,並應同時使用Google Search Console的 “地址變更 “工具。
改變你的網站結構
從https://www.website.com/old-category/post/ 到https://www.website.com/new-category/post/
你可能需要改變你的網站結構,以提高你的整體SEO性能,使其更容易對內容進行分類,並讓谷歌了解你的頁面是如何相互關聯的。
同樣的概念適用於改變你網站上的任何子文件夾結構,無論是博客類別、電子商務類別,還是其他文件夾。
從非WWW到WWW的URL(或解決重復問題)。
從https://website.com 到https://www.website.com
雖然這兩者之間沒有任何SEO方面的好處,但你需要確保你的網站位於非www或www網址上。
如果你发現你的網站既可以用非www也可以用www的網址來訪問,應該根據你的偏好,用301重定向的方式從一個到另一個,以消除重復的問題。
從HTTP到HTTPS的轉換
從http://www.website.com 到https://www.website.com
目前仍然只有60%的網絡使用HTTPS協議,這顯然意味著有40%的網絡還沒有做出改變。
如果你把你的URL從HTTP轉到HTTPS,你將需要使用301重定向,以確保谷歌正確索引新的協議,並確保用戶被发送到正確的頁面,而不是404,這是沒有把這個地方的情況。
合並兩個(或更多)域名
從https://www.website.de 到 https://www.website.com/de/
假設你已經決定,你的國際SEO戰略將看到你將一些國家代碼頂級域名合並到你的主.com域名的子文件夾中。
這需要與改變你的域名一樣的重定向過程,只是重定向到一個文件夾而不是根域名,並需要你使用谷歌搜索控制台的 “改變地址 “工具,同樣,這樣做是為了達到國家特定的子文件夾水平。
解決 “尾部斜線 “問題
從https://www.website.com/page-name 到 https://www.website.com/page-name/
你是否意識到,帶有和不帶有尾部斜杠的URL變體實際上是不同的頁面,並會被谷歌視為不同的頁面?
你需要確保你的網站使用一致的方法來處理頁面URL上的尾部斜杠(你選擇哪種方法是你的選擇,但歷史上網絡使用尾部斜杠),並通過全站重定向規則將一個重定向到另一個。
解決 “大寫字母與小寫字母 “問題
從https://www.website.com/Page-Name/ 到 https://www.website.com/page-name/
正如一個URL的尾部斜杠和非尾部斜杠的變體被視為不同的頁面一樣,包含大寫字母和小寫字母的不同版本也是如此。
同樣,在一個URL中,即使是一個大寫字母,也意味著它被看作是與小寫字母對應的不同頁面,並可能被看作是重覆的,在這里使用301重定向是解決不同變體被索引的問題的最佳做法。
對你的URL使用小寫字母是有意義的,不要混合使用大寫字母和小寫字母。
如何使用301重定向來提升你的SEO性能
301重定向作為你的SEO戰略的一部分有很多用途。它們可以幫助你克服可能阻礙你的網站的有機可見度的問題,或者幫助你充分利用現有的機會來推動增長。
下面是一些最常見的方法,301可以用來提高你的SEO性能。
合並或重定向薄內容頁面
你可以使用301重定向來提高你的SEO性能的最有影響力的方式之一是把它作為內容修剪任務的一部分–把薄的內容頁面合並在一起,創造出深入覆蓋一個主題的偉大作品。
正如Kevin Indig在他的SEO修剪步驟指南中所說:
熊貓和其他谷歌算法已經告訴我們,質量–而不是數量–才是遊戲的名稱。保持高質量的一個有效方法是 “SEO修剪”:砍掉或編輯表現不佳的頁面,使網站更加強大。你寧可擁有很少但很好的內容。
– 凱文-英迪格
一旦你確定了你的網站上表現不佳的頁面,那些沒有贏得任何反向連結或流量的頁面(通常是因為它們沒有在SERP上的突出位置排名)應該被重定向到具有相同意圖的頁面,或者多個頁面合並在一起,以創造值得排名的東西。
將你的博客從一個子域遷移到一個子文件夾中
我們在上面的一個例子中談到了將你的博客從子域遷移到子文件夾,這是最常見的使用301重定向的方式之一,可以快速贏得SEO。
坐落在你的博客上的內容往往對你的SEO戰略很有威力。
深入的內容不僅有助於建立你的權威,並在算法眼中將你定位為某一主題的專家來源,而且這些內容在你的網站連結中占有很大比例,這也是很常見的。
為什麼你想讓偉大的連結指向一個子域,而這些連結可以通過將博客放在網站的根部而更努力地提高你的主網站的SEO性能?
除非有技術限制使你不能這樣做,否則將你公司的博客從子域遷移到子文件夾應該被視為一項優先任務。
事實上,如果你需要一些說服力,只要看看Gianluca Fiorelli在Twitter上分享的結果,他把一個博客從子域合並到網站根部作為一個子文件夾。
這說明了一切,不是嗎?
解決關鍵詞拆用的問題
讓我們把話說清楚,關鍵詞拆用並不是簡單地認為有一個以上的頁面針對同一個關鍵詞,就會阻止任何一個頁面獲得排名。
相反,它是一個關於意圖的問題。只有當兩個(或更多)頁面的意圖相同時,你才會與自己競爭,並遭受食人問題。
也就是說,在沒有理由保留所有競爭性頁面的情況下,使用301重定向是清理自相殘殺造成的問題的主要方法之一。
將多個網站合並為一個
到現在為止,你已經看到了將博客從子域遷移到網站上的子文件夾時可能帶來的SEO效益。
如果你的企業經營多個網站,比方說你經營一家連鎖酒店,每家酒店都有一個不同的網站,那麽把這些網站合並成一個可能是有意義的,就像萬豪那樣。
同樣,你將多個域名屬性的權威性和資產結合在一起,形成一個更強大的網站,推動快速贏得成功(請記住,要想獲得萬豪的成功,你的SEO策略需要到位)。
管理已停產的產品
如何管理已停產的產品是SEO的一個部分,通常會有不同的意見。
觀點1:如果一個產品由於停產而缺貨,並且不可能再有庫存,通常建議你將該產品重定向到下一個最佳選擇。這比簡單地刪除頁面,讓用戶在試圖購買他們偶然发現的舊產品時面對404要好得多–這很常見。
但重定向不會保持已停產產品的排名或可見度,將任何資產轉移到目標頁面。
觀點2:在產品停產很久之後,人們往往還對其感興趣,所以另一個論點是,這些產品頁面應該留在原地,至少在一段時間內,明確顯示替代品,而不是刪除和重定向。
另一個選擇,你也可以把這個頁面變成一個比較頁,”2019年產品與2020年產品”–人們經常比較產品的功能。然後包括相關產品。
如何實施301重定向
現在你知道什麽是301重定向以及什麽時候應該使用它們,但你如何實現它們呢?
不幸的是,這沒有單一的方法,這在很大程度上取決於你的服務器和你使用的CMS。
但這里是如何在你可能使用的一些常見設置中實施301。
Apache服務器上的301重定向
如果你的網站運行在Apache服務器上,你需要編輯你的網站的.htaccess文件來實現重定向。
如果你不確定,通過一個FTP客戶端進入你的網站根部,可以迅速幫助你確定你需要實施301的方式
如果你看到一個.htaccess文件,它運行的是Apache。
要在該文件中添加重定向,請使用以下例子來。
重定向一個單頁:
Redirect 301 /old-page/ /new-page/
將整個域重定向到另一個域
將整個網站重定向到一個子文件夾里
將一個子文件夾重定向到不同的域
改變URL後重定向網站目錄
從非WWW重定向到WWW
RewriteEngine on
RewriteBase /
rewritecond %{http_host} ^website.com [nc]
rewriterule ^(.*)$ http://www.website.com/$1 [r=301,nc]
從HTTP重定向到HTTPS
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
重定向到小數點的網址
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.website.com/$1/ [R=301,L]
Nginx上的301重定向
要在Nginx上創建一個永久的301重定向,需要在.conf文件中添加一行,該文件通常在服務器的根目錄下。
你可能需要使用的一些常用行是。
重定向單個頁面
server {
# Permanent redirect to an individual page
rewrite ^/old-page$ http://www.website.com/new-page permanent;
}
將整個域重定向到另一個域
server {
# Permanent redirect to new URL
server_name website.com;
rewrite ^/(.*)$ http://newwebsite.com/$1 permanent;
}
從HTTP重定向到HTTPS
從非WWW重定向到WWW
server {
# Permanent redirect to www
server_name website.com;
rewrite ^/(.*)$ http://www.website.com/$1 permanent;
}
Windows服務器上的301重定向
如果你的網站在ASP.NET的Windows服務器上運行,你需要在web.config文件中添加重定向,你應該在網站根部找到。
下面是如何實現最常見的301重定向類型。
重定向單頁
<location path=”old-page”>
<system.webServer>
<httpRedirect enabled=”true” destination=”http://www.website.com/new-page/” httpResponseStatus=”Permanent” />
</system.webServer>
</location>
將整個域重定向到另一個域
<system.webServer>
<httpRedirect enabled=”true” destination=”http://www.newwebsite.com/” />
</system.webServer>
從HTTP重定向到HTTPS
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”HTTP to HTTPS redirect” stopProcessing=”true”>
<match url=”(.*)” />
<conditions>
<add input=”{HTTPS}” pattern=”off” ignoreCase=”true” />
</conditions>
<action type=”Redirect” redirectType=”Permanent” url=”https://{HTTP_HOST}/{R:1}” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
從非WWW重定向到WWW
<rewrite>
<rules>
<rule name=”Redirect http://website.com to http://www.website.com HTTP” patternSyntax=”ECMAScript” stopProcessing=”true”>
<match url=”.*”></match>
<conditions>
<add input=”{HTTP_HOST}” pattern=”^website.com$”></add>
<add input=”{HTTPS}” pattern=”off”></add>
</conditions>
<action type=”Redirect” url=”http://www.website.com/{R:0}” redirectType=”Permanent” appendQueryString=”true”></action>
</rule>
</rules>
</rewrite>
WordPress網站的301重定向
如果你的網站在WordPress上運行,你很幸運,因為實施301重定向真的很簡單和直接。
如果你使用Yoast SEO高級插件,你會发現一個內置的重定向管理器,你可以用它來實現重定向。如果你使用免費版的Yoast SEO或其他不提供重定向的插件,你需要安裝一個專門的重定向插件。
Redirection是目前WordPress最流行的重定向管理器,在寫這篇文章時,有超過100萬的活躍安裝。你可以在幾分鐘內添加你的重定向;它非常容易使用。
如果你使用Yoast的替代品,如RankMath,你會发現插件中包含一個重定向管理器,它還可以讓你提供410頭信息等。
Magento商店的301重定向
如果你的電子商務商店在Magento上運行,添加301重定向的功能是內置於該平台的。
以下是如何創建它們…
Magento 1
如果你正在運行Magento 1,導航到目錄 > URL重寫管理
你現在會看到以前創建的任何重定向。
繼續前進,”添加URL重寫”。
選擇一個 “自定義 “重寫。
填寫所需的URL重寫信息,如下所示:
ID路徑 = 你的重寫名稱,僅用於管理目的。
請求路徑 = 原來的/來自URL
目標路徑 = 新的/目標URL
重定向 = 永久(301)
描述 = 你想為重定向添加的任何描述
Magento 2
首先,導航到URL重寫。
營銷 > SEO & Search > URL Rewrites
繼續 “添加URL重寫”,填寫所需的URL重寫信息,如下所示。
Image Credit: Magefan
創建URL重寫。自定義
商店 = 你想添加重定向的商店
請求路徑 = 原有的/來自URL
目標路徑 = 新的/目標URL
重定向類型 = 永久(301)
描述 = 你想為重定向添加的任何描述
Shopify商店的301重定向
與WordPress和Magento一樣,在Shopify商店實施301重定向是相當簡單和直接的。
進入銷售渠道 > 在線商店 > 導航
然後你會在頁面頂部看到一個相當隱蔽的 “URL重定向 “鏈接。繼續並點擊它。
你現在可以 “創建URL重定向”。
然後就像添加你的’從’和’到’URL並保存重定向一樣簡單。就這麽簡單。
BigCommerce上的301重定向
如果你在BigCommerce上運行一個電子商務商店,這里是如何添加301重定向的。
導航到服務器設置 ‘ 301重定向。
添加一個重定向,並加入你的舊網址。
Image Credit: BigCommerce
選擇手動連結(你輸入要重定向的新URL)或動態連結(你可以選擇一個頁面或類別,如果你以後改變這個頁面,重定向將自動更新)作為重定向類型。
Image Credit: BigCommerce
輸入你的新頁面的URL,如果你選擇了上面的動態鏈接選項,則選擇一個要重定向的頁面。
常見的301重定向錯誤及如何避免這些錯誤
在實施301重定向時,很容易犯錯,往往是無心之失,下面是一些比較常見的錯誤,以及如何避免這些錯誤。
允許頁面進入404
在大多數情況下,你不應該讓被刪除的頁面返回404代碼,而是應該實施301重定向,將用戶和搜索引擎指向新的目標頁面。
你可以使用SEMrush網站審核工具來識別返回404(和其他4XX)錯誤的頁面,使你能夠去使用重定向來解決這些問題。
使用302而不是301重定向
如上所述,當變化是永久性的,應使用301重定向,當變化是臨時性的,應使用302重定向;然而,這些經常被錯誤地使用。
同樣,網站審核工具可以幫助你找到這些,它們被標記為 “有臨時重定向的頁面”。
然後你應該去把這些重定向從302更新為301,除非把它們設置為臨時性的才有意義。
在沒有適當設置的情況下使用JavaScript進行重定向
JavaScript可以用於重定向,如果你沒有其他選擇,可以使用它們;當人們無法訪問網站的服務器時,通常會使用它們。
然而,它們並不是最佳選擇,因為搜索引擎需要渲染一個頁面來找到重定向。許多網站不允許Googlebot抓取網站的CSS或JS文件,因此,頁面不能被呈現。
通常建議使用301、302或307重定向,以避免任何問題。
重定向到與原網頁有不同意圖的網頁
你不應該僅僅為了重定向而重定向,因為這可能對你的網站的用戶體驗產生負面影響。
你應該只重定向到類似的頁面,添加重定向到那些與原來的意圖完全不同的頁面被認為是不好的做法,應該盡可能避免。
在更新破損的內部連結時只使用重定向,而不是使用重定向
如果你通過網站審核工具對網站進行抓取,發現了斷裂的內部連結,你不應該簡單地使用301重定向來解決這些問題,因為你正在創建一個不必要的重定向鏈。
相反,首先更新斷裂連結的目標,然後在完成後添加一個重定向到正確的頁面。
重定向鏈和循環
301重定向使用不當的兩個常見例子是重定向鏈和循環。長的重定向鏈和無限循環使搜索引擎難以抓取你的網站,也會減慢你網站的加載速度。
你可以使用SEMrush網站審核工具來識別重定向鏈和循環,並通過重新設計你的重定向,使其從系列中的第一個網址指向最後一個網址,來消除重定向鏈和循環。
就這樣,你需要知道的關於使用301重定向的一切。
雖然它們看起來是一個簡單的話題,但比許多人想象的要多,特別是當你考慮到不同的使用場景和不同的方式,它們必須根據你的網站的設置來實現。
了解301重定向是任何SEO知識的重要組成部分,但通過花時間檢查和反覆檢查你使用它們的方式,你將能夠避免錯誤並在正確的情況下使用它們。