Wordpress

Redirection 是什麼?WordPress 免費轉址外掛功能一次看懂

搬家的時候,除了打包家具,還有一件容易被忽略的事,就是舊地址的信件要往哪裡送。郵局有一項轉信服務,只要在窗口登記新地址,原本要寄到舊地址的信,郵差還是找得到人,不會因為查無此人被原封退回寄件人手上。

網站也常常要搬家:文章網址改版、產品下架、欄目合併整理,都會讓一批舊網址從此查無此頁。讀者點進來只看到一片空白的錯誤畫面,多半直接關掉分頁離開,不會自己動手把網址改對;搜尋引擎過去替這個網址累積的排名,還有其他網站連過來的連結,也會跟著一起失效。

Redirection 是一款專門處理這件事的免費 WordPress 外掛,作用就跟郵局的轉信服務一樣,舊網址設定好要送去哪個新網址,訪客與搜尋引擎不管從哪個管道點進舊連結,都會被自動接到正確的頁面,排名與連結不會平白流失。它不只做轉址,還會把每一次沒接住的請求整理成一份記錄,讓你清楚知道網站上還有哪些地址沒處理好。

裝上這款外掛能做到的事,遠比「輸入舊網址、輸入新網址」複雜得多,從最基本的一對一轉址,一路做到批次比對、依訪客身分分流,還能整批匯入舊系統留下來的規則。

Redirection 把失效的舊網址接到新網址,同時記錄站上還沒接好的 404 錯誤,訪客與搜尋排名都不流失
Redirection 做兩件事:管理轉址規則把舊網址接到新家、記錄 404 找出還沒接好的網址。

Redirection 是什麼?只做轉址管理的免費外掛

很多人對「轉址」的印象,是某個全方位 SEO 外掛裡順便附贈的小功能。Redirection 走的是另一條路,它從頭到尾只做兩件事,管理轉址規則、記錄 404 錯誤,不賣關鍵字分析,不做網站地圖,也不擴充成其他用途。這個定位單純,功能不會因為要塞更多東西進外掛而變得複雜,操作介面看得懂在做什麼。

可信度可以從幾個地方看出來:Redirection 已經維護超過 10 年,是外掛市集裡少見的長壽型工具;目前版本是 5.10.0,需要 WordPress 6.7 以上(官方測試到 7.1)、PHP 7.4 以上才能安裝。根據 WordPress.org 的官方外掛頁面,使用中的網站已超過 200 萬個,評分落在 5 分裡的 4.4 分,703 則評論裡有 558 則給了滿分。裝上去不用擔心哪天功能被鎖住、或改成要付費才能繼續用,它完全免費,沒有付費升級版本。

安裝完成後,設定精靈決定監控與記錄的範圍

安裝路徑跟多數外掛一樣,後台外掛頁搜尋「Redirection」,安裝並啟用。差別在啟用後不會就這樣結束——畫面會直接跳出一個設定精靈,問兩件事,要不要監控文章與頁面的固定連結被改動、要不要保留轉址與 404 的記錄。

Redirection 啟用後跳出的設定精靈,可勾選監控固定連結變更、保留轉址與 404 記錄兩個開關
安裝啟用後跳出的設定精靈,先決定要不要監控網址變動、要不要保留記錄,之後仍可在選項頁調整。

打開監控,只要之後改了文章或頁面的網址,外掛會自動幫你補一筆轉址規則,不必自己手動新增;打開記錄,之後才看得到有誰踩到了哪些轉址與 404,沒開的話這些歷史就不會被留下來。

這兩個開關不是裝完就定死。設定精靈只是先幫你把常用的行為打開,之後隨時可以到後台的「選項」頁重新調整,開了可以關,關了也可以再打開,不影響已經產生的轉址規則。

新增轉址的核心欄位是來源網址與目標網址

把外掛的所有功能拆開來看,最基礎的操作只有兩個欄位:來源網址,也就是要攔截的舊網址;目標網址,也就是要把訪客送去的新網址。沒有勾選正則表達式的情況下,這是逐字精確比對,一筆規則只對應一個網址,跟填哪個欄位就生效哪個規則一樣直接。

Redirection 新增轉址表單,填入來源網址與目標網址兩個必填欄位就能建立一筆轉址
新增一筆轉址最基本只要填來源網址(舊網址)與目標網址(新網址),再選擇群組即可。

表單上除了這兩個必填欄位,還有兩個常被忽略的選項。群組欄位決定這筆轉址歸在哪一類,除了分類方便查找,也牽涉到這筆規則最後是由 WordPress、Apache 還是 Nginx 執行;位置欄位則決定多筆規則同時符合時,哪一筆先被套用。這幾個欄位就是新增單筆轉址時會用到的全部設定;要一次比對一整批網址,就得靠正則表達式。

五種轉址動作,不是每次都要真的把訪客帶走

多數人只知道「填來源、填目標、送出」,其實 Redirection 在「符合時」要做什麼動作上,總共提供五種選擇,不是每一種都是把訪客真的送去別的網址。第一種是導向網址,也是預設行為,訪客的瀏覽器網址列會變成新網址,狀態碼除了最常用的 301(永久轉址)、302(暫時找到),還能選 303、304、307、308,涵蓋更精細的情境;第二種是導向隨機文章,把訪客送到網站上隨機挑選的一篇文章。

第三種是 pass-through,畫面內容換成另一個頁面,但網址列上顯示的網址不變,訪客感覺不到自己被轉走了;這個做法只能用在 WordPress 站內的頁面,不等同於伺服器層級的 rewrite 規則。第四種是錯誤,直接回傳一個錯誤代碼給訪客,除了常見的 404,也能選 410。410 的語意比 404 更明確,代表這個頁面已經永久消失、以後也不會再有內容,而不只是暫時找不到;其餘還有 401、403、418、451、500 系列等狀態碼可選,涵蓋更多伺服器與用戶端的錯誤情境。第五種是什麼都不做,用途不是拿來轉址,而是用來排除某些網址,不讓它被其他正則表達式規則攔截轉址。

Redirection 符合轉址條件時可選的五種動作:導向網址、導向隨機文章、pass-through、錯誤與什麼都不做
「符合時」共有五種動作,不是每一種都把訪客真的帶去別的網址。

正則表達式讓一條規則同時攔下一整批網址

一般轉址是一對一,一個來源網址只能對應一個目標網址;正則表達式解決的正是這個限制,讓一條規則同時比對一整批網址,還能把來源網址裡的一段內容原封不動搬到目標網址,這是 Redirection 真正的核心賣點。要用這個功能,表單上要先勾選「正則表達式」選項,規則才會生效,光在欄位裡打正則語法但沒勾選,系統還是當成一般文字逐字比對。

官方文件用一個常見情境示範做法,來源網址填 /oldpage/(.*),括號代表「擷取」這段內容;目標網址填 /newpage/$1$1 就是被擷取到的那一段。這樣一來,/oldpage/bananas 會自動轉到 /newpage/bananas/oldpage/apples 也會自動轉到 /newpage/apples,不必每個網址都手動輸入一次規則。

Redirection 正則表達式用括號擷取內容、以 $1 帶進目標網址,一條規則就能批次轉移整批網址
來源 /oldpage/(.*) 對應目標 /newpage/$1,括號擷取的內容原封搬過去;記得勾選正則並用 ^ 錨定開頭。

正則表達式好用,但也容易踩兩個地雷。第一個是貪婪比對,沒有把規則錨定在網址開頭,規則可能不小心比對到不該比對的網址,例如 /blog/(.*) 除了比對到 /blog/ 底下的文章,也可能誤中網址中段剛好出現 /blog/ 字樣的其他頁面。第二個是無窮迴圈,規則 /index.php/(.*) 轉到 /portal/index.php/$1,如果目標網址本身又符合來源網址的比對範圍,就會一直被自己的規則轉來轉去。解法是同一招,在來源網址前面加上錨點符號 ^,把比對範圍固定在網址開頭,寫成 ^/oldpage/(.*),就不會再誤中其他網址,也不會自己轉自己。

十一種條件式比對把轉址縮小到特定情境才生效

純網址比對之外,Redirection 還能疊加額外的條件,讓同一個網址依訪客的身分、裝置或連線狀態被送去不同地方,總共有十一種條件可以搭配使用。機制很單純,來源網址與這個額外條件要同時成立,規則才生效;而且多數條件都能分別設定「符合時」與「不符合時」兩個不同的目標網址,不是只有一種結果。這十一種條件大致可以分成三組來理解:跟使用者身分有關的、跟連線環境有關的,還有跟比對邏輯本身有關的。

Redirection 十一種條件式比對分成使用者身分、連線環境與比對邏輯三組,依情境把同一網址分流
十一種條件依使用者身分、連線環境、比對邏輯分成三組,網址與條件同時成立才生效。

依登入狀態與角色權限鎖定轉址對象

第一種身分相關的條件是登入狀態,判斷邏輯只看訪客有沒有登入,不看是哪個角色。設定時可以分別填「登入時」與「未登入時」兩個目標網址,例如會員登入後導向會員專區,沒登入的訪客導向登入頁,同一筆規則就能處理兩種結果。

第二種是角色或權限,比登入狀態更進一步,看的是登入者的角色或權限識別碼,不是角色顯示出來的中文名稱,而是系統內部使用的英文代號。可以只針對特定角色的使用者轉址,例如把管理員直接導向後台,其他角色導向別的頁面;要留意的是沒有登入的訪客不會符合這個條件,這條規則只對已登入的使用者生效。

依 IP 位置、瀏覽器、伺服器網域與語言縮小範圍

IP 位置條件可以列一份 IP 清單,用途通常是放行特定使用者,例如讓管理員的 IP 不受某條轉址規則影響,或反過來攔截行為不正常的訪客;瀏覽器代理條件則依裝置或瀏覽器類型分流,最常見的用法是把手機訪客導向另一個為行動裝置準備的頁面,桌機訪客留在原本頁面。

伺服器條件用在同一台主機掛了多個網域的情況,例如主網域跟一個子網域共用同一台伺服器,只想讓某條轉址規則單獨對其中一個網域生效,不影響另一個;語言條件則依訪客瀏覽器回報的語言分流,適合多語系網站依語言把訪客導向對應版本的頁面。

依 referrer、cookie 與 HTTP 標頭判斷比對邏輯

referrer 是訪客從哪個頁面點連結進來的資訊,可以依照訪客是從站內哪個頁面、還是從外部網站點過來,送去不同地方;要注意的是瀏覽器不保證每次都會傳送 referrer 資訊,這個條件不是百分之百可靠。cookie 條件可以檢查訪客的瀏覽器裡有沒有特定的追蹤代碼、登入狀態,或其他自訂用途的 cookie,符合才轉址。

HTTP 標頭條件跟 cookie 類似,差別是檢查的對象換成請求裡的標頭資訊,要留意伺服器本身要有把對應的標頭傳給 PHP,這個條件才抓得到值。自訂 filter 是留給熟悉 WordPress 開發的人接自己的判斷邏輯,外掛會把網址傳進去,由這段自訂程式回傳符合或不符合,彈性最高但也最需要寫程式的能力。最後一種是 WordPress 頁面類型,目前只支援 404 頁面這一種,可以把它想成「把所有 404 錯誤統一導去某個頁面」的快速做法,例如商品下架後想讓所有 404 請求都導到分類頁,不用一筆一筆針對每個網址設定。

群組決定轉址由 WordPress、Apache 或 Nginx 執行

群組表面上看起來只是替轉址規則分類,方便在規則一多的時候搜尋跟管理;但它還有一層更關鍵的用途,決定這批規則最後是由誰來執行。新增群組時要選一種執行方式:WordPress,也是預設值,由外掛自己處理轉址,才看得到記錄與統計數據;Apache,規則會被直接寫進伺服器的 .htaccess 檔案;Nginx,用來把規則匯出成 Nginx 能讀的 rewrite 規則格式。

Redirection 群組設定頁,新增群組時可選擇由 WordPress、Apache 或 Nginx 執行這批轉址規則
群組除了分類,還決定規則由誰執行:選 WordPress、Apache 或 Nginx,預設是 WordPress。

這裡常有人問一個問題,都要改網址了,為什麼不直接手動編輯 .htaccess,還要多裝一個外掛?官方給的理由是好上手,改文章網址時外掛能自動幫你補一筆轉址,不必自己去手動編輯設定檔,語法一寫錯整個網站可能都連不上;用外掛還多了追蹤 404 錯誤這個 .htaccess 本身做不到的能力。要留意的是,如果群組選了 Apache 模式,規則其實還是會即時寫進 .htaccess 檔案,等於外掛把兩種做法接在一起,不是非黑即白的二選一。官方也提到,這個外掛的運作方式跟 WordPress 處理固定連結的機制類似,不會對網站速度造成明顯影響。

404 記錄檔,逐筆留下請求者的位置與命中次數

每一筆 404 錯誤,Redirection 都會留下幾項資訊:請求的網址、referrer、訪客的 IP、瀏覽器代理,還有發生的時間。同一個網址如果被重複踩到,系統會自動合併計數,不會變成一份上千筆、內容其實都一樣的落落長清單,方便你判斷哪個 404 最該優先處理。

Redirection 的 404 記錄逐筆列出被請求的失效網址與發生時間,方便找出還沒處理的錯誤網址
每一筆 404 都留下請求的網址、時間與瀏覽器等資訊(訪客資訊已遮蔽),方便判斷哪個最該優先處理。

這份記錄不只是拿來看,還能直接動手處理,在記錄清單裡點擊某一筆 404,就能就地新增一筆轉址規則,不必跳去別的頁面重新輸入網址。IP 收集的詳細程度也可以自己調整,完整記錄、只保留匿名化的片段(例如把 IP 的最後一段遮掉),或乾脆不收集 IP,兼顧在地隱私法規的需求。

轉址記錄檔同時看得到造訪細節與保留期限設定

跟 404 記錄檔是分開的兩份資料,這裡講的是「真的被轉址成功」的那份記錄。每一筆都能看到來源網址、目標網址、發生時間、命中次數,還有最後一次被存取的時間,用來判斷某條轉址規則現在還有沒有人在用。

Redirection 轉址記錄列出成功轉址的來源網址、目標網址與時間,用來判斷規則是否還有人在用
轉址記錄檔記下每次成功轉址的來源、目標與時間(訪客資訊已遮蔽),可看出哪條規則還有人在用。

記錄不會無限期占用資料庫空間,後台「選項」頁可以設定保留期限:永久保留、兩個月、一個月、一週、一天,或乾脆選擇不記錄。清理作業是靠 WordPress 內建的排程機制(cron)自動執行,如果網站的排程功能本身有問題,記錄清理也會跟著失靈,值得定期確認排程有沒有正常運作。

匯入匯出,大量轉址能一次搬進來或搬出去

批次搬遷轉址是這款外掛的另一個核心賣點。匯入方式有三種:直接把文字貼上、拖拉檔案上傳(支援 CSV、JSON、Apache .htaccess 檔),或是直接從其他知名轉址、SEO 外掛既有的資料匯入,包括 Rank Math、SEOPress、Pretty Links、Simple 301 Redirects 等多款常見外掛,不必手動把舊資料重打一次。匯入前有預覽功能,先看清楚會發生什麼變化,再決定要不要真的匯入。

Redirection 匯入頁支援上傳或貼上 CSV、JSON、.htaccess,也能從其他外掛整批匯入轉址規則
匯入可上傳檔案或直接貼上,支援 CSV、JSON、.htaccess;匯出則提供 JSON、CSV、.htaccess 與 Nginx 格式。

遇到重複資料時,可以選擇三種處理方式:都當成新資料寫入、重複的直接略過,或是用新資料覆蓋掉重複的舊資料。CSV 格式的欄位順序是來源網址、目標網址,後面還能選擇性加上是否啟用正則、HTTP 代碼、動作類型,寫法像這樣:

/old-url,/new-url
/old-url/.*,/new-url,1,301Code language: plaintext (plaintext)

匯出的部分提供四種格式:JSON 支援所有資料類型,連設定跟記錄都能一起匯出,是最完整的格式;CSV 可以匯出轉址、記錄跟群組,但一次只能選一種資料類型;.htaccess 跟 Nginx 的 rewrite 規則各自只匯出轉址本身。畫面會先估算檔案大小,如果資料量太大不適合直接在瀏覽器下載,官方建議改用 WP-CLI 命令列工具處理。近期版本也持續補強這一塊,例如新增了從 Yoast SEO 匯入轉址規則的功能,也支援匯入匯出 _redirects 這種格式的檔案。

免費版本沒有功能鎖,這在同類外掛裡並不常見

WordPress 外掛市場常見的商業模式,是免費版功能陽春,正則表達式、進階條件比對、匯入匯出這類比較進階的功能,都要升級付費版才解得開,這是市場上普遍常見的做法,不是在點名哪一款外掛。Redirection 走的是不同的路,官方明講這是一款完全免費的外掛,沒有付費版本,也不需要花錢才能拿到完整功能。

前面拆過的正則表達式、十一種條件式比對、完整的匯入匯出、還有給進階使用者用的 WP-CLI 命令列,這些在其他外掛常被歸類成「進階功能」的東西,Redirection 全部免費就有。官方也明確定位這款外掛,從只有幾筆轉址規則的小型網站,到累積上千筆規則的大型網站都適用,不會因為規則變多就開始受限或要求升級。

回到搬家那個比喻,郵局的轉信服務不會要求你把所有信件的新地址都背下來,需要的時候去登記一次就好;Redirection 也是同樣的道理,不必一次把十一種條件跟五種動作全部搞懂才敢用,先從最基本的來源網址對目標網址開始,等網站規模變大、要處理的情境變複雜,再回頭挑用得上的功能就好。真正決定一個網站經不經得起改版的,往往不是內容做得好不好,而是舊網址消失的時候,有沒有人把後面的路接好。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

Redirection 外掛要付費才能用進階功能嗎?

不用,Redirection 完全免費、沒有付費版本,正則表達式、十一種條件式比對、完整匯入匯出,這些其他外掛常鎖進付費版的功能,Redirection 全部都內建在免費版裡。

Redirection 新增一筆轉址最少要填哪些欄位?

最基本只要填來源網址與目標網址兩個欄位,也就是要攔截的舊網址與要送去的新網址,沒有勾選正則表達式時是逐字精確比對,一筆規則只對應一個網址。

Redirection 的正則表達式規則要注意什麼?

容易踩兩個地雷:規則沒錨定開頭可能誤中不該比對的網址,或目標網址又符合來源比對範圍造成無窮迴圈;解法都是在來源網址前面加上 ^ 符號,把比對範圍固定在開頭。

Redirection 的轉址規則可以依身分分流嗎?

可以,外掛提供十一種條件式比對,能依登入狀態、角色權限、IP、瀏覽器、語言等疊加在網址比對之上,網址與條件同時成立規則才生效,多數條件還能分別設定符合與不符合時的目標網址。

Redirection 舊系統的轉址規則能整批搬過來嗎?

可以,匯入支援直接貼上文字、拖拉上傳 CSV、JSON 或 .htaccess 檔案,也能直接從 Rank Math、SEOPress、Pretty Links 等外掛既有資料匯入,匯入前還有預覽功能可以先確認變化。

資料來源
  1. Redirection — WordPress.org
  2. Redirection Support Documentation — Redirection