WordPress 301轉址外掛使用情境:
利用WordPress架站時,可能會因為很多因素產生網頁不存在的錯誤(404 error),除了影響使用者體驗,網站存在太多這問題也不利SEO經營。這時除了詳細檢查網站程式,也可以利用「Redirection」這個好用的WordPress轉址外掛,自動將使用者由錯誤網址轉到正確網址。又或者利用轉址外掛將流量彙總到主力頁面,提升SEO競爭力、減少維護成本。這篇分享的Redirection版本是2022 / 11 / 6發布的5.3.5,文章目錄:
- 為何要建立轉址
- Redirection – 選項
- Redirection – 建立轉址
- Redirection – 監控404錯誤
- Redirection – 匯出 / 匯入轉址
- Redirection – 安裝
- FAQ
轉址(Redirect,又稱為重新導向)分為301(永久轉址 / permanent redirect)跟302(暫時性轉址 / temporary redirect),本文設定的轉址都是301轉址(該外掛也可設定302轉址,但我沒這樣用,就不說明了)。兩者之間的差別請看文末的FAQ,也會附上相關文章說明。
P.S. 如想了解客製系統開發301轉址的注意事項,可以參考SEO小教室|客製系統301轉址功能開發注意事項與WordPress轉址功能外掛簡介;想探索完整的轉址概念,請參考SEO小教室|301轉址懶人包-轉址簡介、開發注意事項、評估方式、替代方案。
為何需要建立轉址?
需要轉址的原因有很多,例如:
- 網址下架(商品、頁面、分類、標籤等等),但有替代的網址(或連到首頁)
- 網站有眾多非常大同小異的網址,可將這些網址轉址到同一個網址,日後只要維護該網址
- 將多個類似網址的權重集中到同一個網址,提高該網址在SEO的競爭力
- 網站系統轉換:由其他系統搬到WordPress網站時,一定需要做轉址,因為網址架構不一樣,若沒做轉址,連到舊網址會回應網頁不存在(404頁面)
- 網域切割:如將一部分的內容切割到新的網域,需要進行跨網域轉址,將USER導到新網站(本站的內容便是來自於Travel with Leo的數位行銷分類)
以往在WordPress上,同一篇文章(post id一樣,本篇:107)變更永久連結(slug)時(本篇:wordpress-plugin-redirection),系統不會自動產生轉址、造成網頁不存在的錯誤。目前已經沒這個問題,變更永久連結之後,USER連到舊網址時會被自動用301轉址導到新網址,不用依賴外掛新增轉址設定。但是如果要將post id是A的文章轉到B,還是要依靠外掛達成。
Redirection – 選項:
要進去Redirection得由已安裝的外掛清單中找到它,再點「設定」進行設定,或者由後台主側邊欄的「工具」 – 「Redirection」中找到這個外掛,先說明「選項」頁籤。
這邊的功能是調整一些Redirection的預設設定,例如是否監控文章或頁面的網址變更、建立轉址時是否忽略slash(/)或大小寫(case)。
如前所述,目前WordPress已會自動針對同一個post id的永久連結變更進行301轉址,但這些轉址並不是在Redirection設定的,理論上它不會知道我們做了這些變更。如果勾起URL Monitor上監控文章或頁面的選項,它會自動新增紀錄到「重新導向」的清單中。
另一個「選項」頁籤的重點就是「Default URL settings」,分別是忽略應「英文大小寫」跟「slash(/)」,建議勾起來,原因後述。
Redirection – 建立轉址:
用Rdirection建立轉址的方式很簡單,點擊上方最左邊的「重新導向」頁籤就能開始新增。開始前先說明幾個名詞,以網址「https://abc.com/4test/?cid=leo」為例:
- 通訊協定(protocol):https
- 網域(domain):abc.com
- 路徑(path,即相對路徑):/4test/
- 參數(parameter):?cid=leo
在設定轉址時,重點是路徑跟參數,前面兩個比較不重要!
建立轉址後還有一件事要做:將被轉址頁面的狀態調整成「草稿」,如果它狀態還是「已發布」,便會出現在前台(詭異的使用者體驗)跟XML Sitemap(Google Search Console會出現錯誤提示)!關於如何監控Google處理轉址的進度,可參考這篇文章。
如果哪天你改變心意、要讓被轉址的網址重新上線,除了將「草稿」變更成「已發布」,也要刪除或停用它的轉址!
關於轉址的檢查工具,我都是用http://tools.seobook.com/server-header-checker/,如果檢查時發現流程有多個301轉址,就要檢查設定!例如:
- 先設定A轉到B,後來設定B轉到C,這時A會轉到B再轉到C,建議調整成A轉到C
- 設定B轉到C,但之前C已經被設定成轉到D,這時候B會轉到C再轉到D,建議調整成B轉到D
- 轉址迴圈( redirect loop):設定成A轉到B,但之前已經設定B轉到A,這時候會無限循環下去,要停用其中一個設定
來源網址:
舊網址的相對路徑(不含網域的網址,其實你貼上絕對路徑也可,系統只會擷取相對路徑(前述的path),最前面要有「/」),這一列最右邊可設定「URL options / Regex」,用途如下
- Regex(正則表達式):用正則表達式的格式輸入來源網址,詳細說明請看開發者說明,我很少用這功能
- Ignore Slash:如有勾選,來源網址最後面是否有「/」不影響轉址判定;反之,沒勾取就會影響。以來源網址「/4test」為例:
- 有勾選:USER連到「https://abc.com/4test」或「https://abc.com/4test/」都會被轉址
- 沒勾選:USER連到「https://abc.com/4test/」不會被轉址,因為不符合來源網址設定(最後面沒「/」)
- Ignore Case:如有勾取,來源網址會忽略大小寫的差異;反之,沒勾取的話大小寫視為不同設定。以來源網址「/4test」為例:
- 有勾選:USER連到「https://abc.com/4Test」或「https://abc.com/4test」都會被轉址
- 沒勾選:USER連到「https://abc.com/4Test」不會被轉址,系統的設定是針對「/4test」,大小寫要完全一致
- 當你是由其他系統轉到WordPress,建議勾選,因為開發時可能網址包含大小寫,保險起見,Redirection時一律設定成來源網址忽略大小寫差異
- 如同最前面提到的,建議將忽略「/」跟「大小寫差異」設定成預設值,如轉址設定無效,記得詳細檢查這兩個設定
目標網址:
就是要將USER轉去哪邊,填絕對路徑(https://abc.com/4test/)或相對路徑(/4test/)都可,重點是….可以進行跨網域轉址,範例:https://www.leo-travel.idv.tw/3610/digital-marketing-wordpress-plugin-redirection!
如果要進行跨網域轉址,請填絕對路徑,如果只填相對路徑,那目標網址的網域就是你的網域!
Query Parameters:
同樣以來源網址設定成「/4test」為例,目標網址則為「/newurl」
- Exact Match,這時點擊「https://abc.cm/4test?cid=leo」不會被轉址,因為設定的來源網址是「完全符合」「/4test」,有參數就不符合了
- Ignore:比對時忽略來源網址中的參數,以上例來說,點擊「https://abc.cm/4test?cid=leo」會被轉到「https://abc.com/newurl」,成功轉址,但USER連到的網址無參數
- Ignore & Pass:比對時忽略來源網址中的參數,但是會將參數增加到目標網址,以上例來說,點擊「https://abc.cm/4test?cid=leo」會被轉到「https://abc.com/newurl?cid=leo」
結論:
- 如果參數會影響到頁面內容或成效追蹤(例如utm或聯盟行銷判斷成效用的參數),轉址可考慮用「Ignore & Pass」
- 如果轉址後因為參數導致最終網頁無法正常讀取,可嘗試用「Ignore」
群組:
如果你因為不同的原因生成轉址,就可以群組來篩選,雖然….我很少特別設定!
由文章 / 頁面編輯器變更「網址代稱」而自動產生的轉址,會被歸類成Modified Posts;由外掛手動增加的轉址,會被歸類成Redirections。想選擇其他群組時,要先由頁籤「重新導向」右邊的「群組」新增群組。
條件式:
這邊的用意就是增加判斷條件,預設值是「僅限網址」,也就是不管其他的條件,例如USER的IP、User-Agent等等,只管前述「來源網址」的設定。
如果選擇其他選項,就可以設定為當USER連到「來源網址」且符合其他條件(例:IP、登入狀態、Cookie)時,會被導到目標網址;如果USER只連到「來源網址」但不符合另一個條件,就會被導到另一個網址。
這邊的用法很複雜,我完全沒用過,UI還算是易懂,細節請看開發者說明。
404錯誤監控:
點Redirection的「404錯誤」頁籤便可監控網站有哪些不存在的網址,如果有任何變更網址的動作,建議利用這個頁籤觀察一陣子是否有產生相關的404訊息,有的話要先測試是否真的錯誤(有時候會誤判)再決定要不要新增轉址。
另外,這邊也會顯示很多外掛檔案的404錯誤,如果網站前端正常我都會忽略它,有些外掛(如cache相關外掛)本就會因經常異動而導致舊檔案不存在。
匯出匯入:
這功能在剛搬家時超重要,通常搬家會設定超多轉址,少說也有近百條轉址,我曾經設定過超過600個轉址,由UI一個一個設定超曠日廢時,最快的方式就是用匯出跟匯入執行。基本流程:
- 先設定一個轉址
- 匯出那個設定,取得匯入檔的CSV格式,依照那個CSV格式填入轉址清單,通常只要調整source跟target,其他沒特別調整就用原設定
- 匯入轉址
Redirection – 安裝:
- 由WordPress官網下載外掛ZIP檔,於後台安裝,連結:https://wordpress.org/plugins/redirection/
- 由WordPress後台安裝外掛的頁面搜尋、安裝「Redirection」
FAQ:
301轉址代表永久轉址(permanent redirect),也就是跟Google說原網址已經「永久」移到目標網址,當Google處理完之後索引便會以新網址為主,不會再管就網址;302轉址代表暫時轉址(temporary redirect),Google還是會三不五時回來看看就網址,索引不會完全以新網址為主,畢竟….你跟它說這是「暫時」的移轉。可參考Google的說明或MOZ的介紹,如網頁是永久搬家請用301轉址來更有效率的移轉SEO成效
1. 同網域、新舊網頁內容品質一致:我的經驗是可以,但需要時間,約略1 – 2週,但有時Google索引會秀逗,就只能等。2. 同網域、新舊網頁內容品質有落差:如果新網頁的內容品質不好、難以跟競爭者相比,應該會傷害SEO成效,我是沒這樣搞過!
上面是轉址外掛兩大用途,另一個小用途是產生比較漂亮的連結,不讓使用者看到一長串的連結(例如加上UTM)或者難以識別的網址(例如Bitly)。範例:
https://www.wpandseo.tw/yoast-seo/
除了仔細檢查轉址設定,我建議用無痕視窗測試,然後要刪除系統內該網址相關的暫存檔(cache),Server、速度優化外掛、CDN產生的暫存檔都可能讓轉址沒有立刻生效!
301轉址可以更有效的移轉SEO成效,不過標準網址跟301轉址各有用途,要視情況採用。關於標準網址請參考這篇文章,它也是很重要的SEO概念!
YouTube教學影片:
總結:
轉址是SEO很重要的概念,用得好的話可以維持SEO競爭力(但無法保證100%,要看Google的判斷)、優化使用者體驗、確保網站流量。在WordPress上不難佈署,但使用上要很小心,尤其是轉址迴圈(redirect loop),非常可能造成USER無法連到網頁。如果有閒暇時間,可考慮匯出轉址紀錄,檢查是否有需要調整的地方。
轉址是以WordPress操作SEO重要的一環,完整的WordPress教學請參考WordPress|內容網站SEO懶人包 – 網域與索引、重點功能、內容編輯等七大主題教學。
結束之前再推薦一下連啓佑老師的SEO技術面線上課程,轉址是SEO技術面非常核心的功能,用WordPress架站的好處就是可以用外掛處理繁瑣這個在客製系統需費心開發的功能。
延伸閱讀:
WordPress懶人包:
- WordPress架站|註冊網域、安裝網站 / 外掛、設定調整等9大步驟教學
- WordPress主機|重點功能要求、主機費用評估、五大主機簡介
- WordPress速度優化|主機挑選、圖片優化、相關外掛與CDN
- WordPress推薦外掛|Yoast SEO、WP Rocket、AMP for WP等10大外掛
- WordPress佈景主題|主題市集ThemeForest挑選、購買、安裝佈景主題教學
WordPress佈景主題:
WordPress外掛:
- Yoast SEO|WordPress必裝SEO外掛設定教學
- Redirection|WordPress必裝301轉址外掛設定教學
- WP Rocket|WordPress必裝快取外掛設定教學與注意事項
- WPForms|WordPress必裝表單外掛付費版教學
- AMP for WP|WordPress上線AMP網頁推薦外掛設定與使用心得
- Jetpack|超多工WordPress推薦外掛設定教學