660
shares
聚米幫你連接全球客戶
服務熱(rè)線:400-8817-968
發布于:2019-12-30
網站會更改結構,删除頁面,并且經常從一個(gè)域移動到另一個(gè)域。爲了(le)避免失去排名并幫助搜索引擎了(le)解你所做(zuò)的(de)更改,正确處理(lǐ)重定向至關重要。
重定向的(de)狀态碼從第三個(gè)數字開始(即3XX)。有100種不同的(de)可(kě)能狀态代碼,但隻有 少數幾種實現用(yòng)于攜帶某些信息。
在本指南(nán)中,我們将介紹與SEO相關的(de)3XX重定向。
301:永久移動
此衆所周知的(de)重定向向客戶端指示資源已更改到另一個(gè)位置,并且它應将新的(de)URL用(yòng)于以後的(de)請求。當搜索引擎看到301重定向時(shí),它們會将舊(jiù)頁面的(de)排名傳遞給新頁面。
進行更改之前,在決定使用(yòng)301重定向時(shí)需要小心。這(zhè)是因爲如果你以後改變主意并決定删除301重定向,則舊(jiù)的(de)URL可(kě)能不再排名。
即使你交換了(le)重定向,也(yě)無法幫助你将舊(jiù)頁面恢複到之前的(de)排名位置。因此,主要要記住的(de)是,無法撤消301重定向。
(* 對(duì)于可(kě)能與通(tōng)用(yòng)名稱混淆的(de)初學者,使用(yòng)客戶端而不是浏覽器,因爲不僅浏覽器能夠浏覽URL,而且浏覽器機器人(rén)不是浏覽器。)
307:臨時(shí)重定向
在HTTP 1.1中,301重定向表示資源已臨時(shí)移動,客戶端應将原始資源的(de)URL用(yòng)于以後的(de)請求。對(duì)于SEO,這(zhè)意味著(zhe)客戶端應遵循重定向,但搜索引擎不應将其SERP中的(de)鏈接更新到新的(de)臨時(shí)頁面。在307重定向中,PageRank 不會從原始資源傳遞到新資源,與301重定向相反。
302:發現這(zhè)意味著(zhe)客戶端正在尋找的(de)資源是在HTTP 1.1版本的(de)另一個(gè)URL上找到的(de),但已在HTTP 1.0中臨時(shí)移動了(le)。
302和(hé)307
在幾乎所有情況下(xià),302和(hé)307重定向将被 視爲相同。但是302狀态代碼并不一定意味著(zhe)客戶端必須遵循重定向,并且如果它決定留在該客戶端,則它不被視爲錯誤。
現代客戶很可(kě)能會跟随新的(de)目的(de)地,但是一些老客戶可(kě)能會錯誤地停留在相同的(de)URL上。
與302狀态代碼相反,307狀态代碼保證不會更改請求方法。例如,GET請求必須繼續執行GET并從POST到POST。
使用(yòng)302狀态代碼,一些舊(jiù)的(de)或有漏洞的(de)客戶端可(kě)能會更改方法,這(zhè)可(kě)能會導緻意外行爲。
對(duì)于臨時(shí)重定向,你可(kě)以使用(yòng)302或307-但我更喜歡307。
對(duì)于例行重定向任務,應使用(yòng)301(永久重定向)和(hé)307(臨時(shí)重定向)狀态碼,具體取決于你在網站上實施的(de)更改類型。在兩種情況下(xià),重定向的(de)語法都不會改變。
你可(kě)以通(tōng)過Apache上的(de)服務器配置文件.htaccess,Nginx上的(de)example.conf文件或通(tōng)過插件(如果使用(yòng)WordPress)來(lái)處理(lǐ)重定向。
重定向單個(gè)URL
删除頁面或更改頁面URL時(shí)使用(yòng)的(de)最常見且使用(yòng)最廣泛的(de)重定向類型。例如,假設你将URL從/ old-page /更改爲/ new-page /。重定向規則爲:RewriteRule ^ old-page(/?| /.*)$ / new-page / [R = 301,L]
要麽,重定向匹配301 ^ / old-page(/?| /.*)$ / new-page /
兩種方法之間的(de)唯一區(qū)别是,第一種使用(yòng)Apache mod_rewrite模塊,第二種使用(yòng)mod_alias。可(kě)以使用(yòng)兩種方法來(lái)完成。
正則表達式“ ^”表示URL必須以“ / old-page”開頭,而(/?|/.*)$表示必須重定向“ / old-page /”後跟斜杠“ /”或不完全匹配的(de)任何内容。到/ new-page /。
我們也(yě)可(kě)以使用(yòng)(。*),即^ / old-page(。*),但是問題是,如果你有另一個(gè)具有類似URL的(de)頁面,例如/ old-page-other /,則當我們隻想重定向/ old-page /。
目錄變更
如果你進行了(le)類别重組,并且想要将舊(jiù)目錄下(xià)的(de)所有内容都移動到新目錄中,則可(kě)以使用(yòng)以下(xià)規則。
RewriteRule ^舊(jiù)目錄$ /新目錄/ [R = 301,NC,L]
RewriteRule ^舊(jiù)目錄/(.*)$ /新目錄/ $ 1 [R = 301,NC,L]
規範化(huà)
擁有規範的(de)URL是SEO最重要的(de)部分(fēn),如果丢失,你可(kě)能會因爲重複的(de)内容問題而危及你的(de)網站,因爲搜索引擎會将帶有“ www”和(hé)“非www”版本的(de)URL視爲具有相同内容的(de)不同頁面。因此,必須确保僅使用(yòng)所選的(de)一個(gè)版本來(lái)運行網站。
HTTP到HTTPS重定向
在Google鼓勵網站所有者使用(yòng)SSL的(de)倡議(yì)之後, 遷移到HTTPS是幾乎每個(gè)網站都擁有的(de)常用(yòng)重定向之一。
下(xià)面的(de)重寫規則可(kě)用(yòng)于在每個(gè)網站上強制使用(yòng)HTTPS。
RewriteCond%{HTTP_HOST} ^ yourwebsite \ .com [NC,OR]
RewriteCond%{HTTP_HOST} ^ www \ .yourwebsite \ .com [NC]
RewriteRule ^(。*)$ https://www.yourwebsite.com/$1 [L,R = 301,NC]
基本上,你可(kě)以使用(yòng)此方法将www或非www版本重定向合并到一個(gè)HTTPS重定向規則中。
從舊(jiù)域重定向到新域
當你決定進行品牌重塑并且需要更改域時(shí),這(zhè)也(yě)是最常用(yòng)的(de)重定向之一。以下(xià)規則将old-domain.com重定向到new-domain.com。
RewriteCond%{HTTP_HOST} ^ old-domain.com $ [OR]
RewriteCond%{HTTP_HOST} ^ www.old-domain.com $
RewriteRule(。*)$ http://www.new-domain.com/$1 [R = 301,L]
它使用(yòng)兩種情況:一種是URL的(de)“ www”版本,另一種是“非www”,因爲出于曆史原因,任何頁面都可(kě)能具有指向這(zhè)兩種版本的(de)傳入鏈接。
大(dà)多(duō)數網站所有者使用(yòng)WordPress,并且可(kě)能無需使用(yòng).htaccess文件進行重定向,而可(kě)以使用(yòng)插件。
使用(yòng)插件處理(lǐ)重定向可(kě)能與我們上面討(tǎo)論的(de)稍有不同,并且你可(kě)能需要閱讀它們的(de)文檔才能正确處理(lǐ)特定插件的(de)RegExp。
重定向不良做(zuò)法
(1)将所有404損壞的(de)URL重定向到主頁
當你懶于調查所有404 URL并将它們映射到适當的(de)登錄頁面時(shí),通(tōng)常會發生這(zhè)種情況。
根據Google的(de)說法,它們仍然都被視爲404。
如果你有太多(duō)這(zhè)樣的(de)頁面,則應考慮創建漂亮的(de)404頁面,并通(tōng)過顯示搜索選項來(lái)吸引用(yòng)戶進一步浏覽或查找除他(tā)們正在尋找的(de)内容之外的(de)其他(tā)内容。
Google強烈建議(yì)重定向的(de)頁面内容應與舊(jiù)頁面相同。否則,這(zhè)種重定向可(kě)能會被視爲軟404,你将失去該頁面的(de)排名。
(2)錯誤的(de)移動頁面特定重定向
如果你爲台式機和(hé)移動網站使用(yòng)不同的(de)URL(即,台式機爲“ yoursite.com”,移動電話(huà)爲“ m.yoursite.com”),則應确保将用(yòng)戶重定向到移動版本的(de)相應頁面。
正确:将“ yoursite.com/sport/”更改爲“ m.yoursite.com/sport/”
錯誤:将“ yoursite.com/sport/”更改爲“ m.yoursite.com”
另外,你還(hái)必須确保,如果桌面上的(de)一個(gè)頁面是404,則移動設備上的(de)頁面也(yě)應該是404。
如果頁面沒有移動版本,則可(kě)以避免重定向到移動版本并将其保留在桌面頁面上。
(3)使用(yòng)元刷新
可(kě)以使用(yòng)meta refresh标簽進行重定向,如下(xià)例所示:
<meta http-equiv =“刷新” content =“ 0; url = http://yoursite.com/new-page/” />
如果在/ old-page /中插入此标簽,它将立即将用(yòng)戶重定向到/ new-page /。Google并未禁止此重定向,但他(tā)們顯然不建議(yì)使用(yòng)它。
根據約翰·穆勒(John Mueller)的(de)說法,搜索引擎可(kě)能無法正确識别這(zhè)種重定向類型。JavaScript重定向也(yě)是如此。
(4)重定向過多(duō)
當你使用(yòng)錯誤的(de)正則表達式設置時(shí),将顯示此消息,并最終導緻無限循環。通(tōng)常,當你具有重定向鏈時(shí),會發生這(zhè)種情況,假設你很久以前已将page1重定向到page2。現在你可(kě)能已經忘記了(le)将page1重定向,并決定再次将page2重定向到page1。
結果,你将得(de)到如下(xià)規則:
RewriteRule ^ page1 / page2 [R = 301,NC,L]
RewriteRule ^ page2 / page1 [R = 301,NC,L]
這(zhè)将創建一個(gè)無限循環并産生上面顯示的(de)錯誤。
當你啓動永久重定向時(shí),無法通(tōng)過移除重定向輕松地将其更改回(“永久”一詞表示“硬永久”)。
這(zhè)是因爲Google一旦檢測到這(zhè)樣的(de)重定向,就會将PageRank傳遞到新頁面,并更改SERP中的(de)URL以使用(yòng)新頁面。
如果你要将一個(gè)擁有數萬個(gè)頁面的(de)大(dà)型網站從一個(gè)舊(jiù)域遷移到一個(gè)新網站,甚至從HTTP遷移到HTTPS,建議(yì)你先執行302臨時(shí)重定向,并确保所有重定向規則均正常運行,然後查找Google分(fēn)析數據以确保沒有意外結果(即,導緻大(dà)量404頁的(de)某些語法錯誤),然後将開關302重定向到301永久。
如果你對(duì)301永久重定向的(de)目标輸入有誤,并希望切換到另一個(gè)URL,建議(yì)避免鏈接鏈接,并将所有鏈接更改爲新URL。
評論展示
660
shares
掃碼加微信咨詢
15815846676
長(cháng)按号碼加微信
在線留言
參與評論