因為靈活的 Rewrite 模組,導致在使用 WordPress 建立網站很容易遇到連結失效的情況,這種連結對於網站的使用者體驗和 SEO 都是非常不利的。

假如你修改了一個分類的別名,那麼這個分類之前的連結會失效;甚至你修改了固定連結,這樣所有文章的連結都會失效。如果這些連結已經存在了一段時間,被搜尋引擎收錄或者被使用者新增進了收藏夾,當它們再次訪問的時候就會找不到這篇文章,出現 404 頁面,非常尷尬。

解決這個問題最好的辦法就是利用 301 跳轉 (永久重定向) 。當有人訪問這個連結的時候自動跳轉到新的連結,無論對於使用者還是搜尋引擎來說都不會產生太大的影響。

得力於強大的外掛資源,在 WordPress 中可以很輕鬆的做到這一點,不用懂得任何程式設計或伺服器知識。

Redirection

外掛 Redirection 就是用來進行 301 重定向的。在安裝並啟用它之後,可以透過點選後臺的 「工具」→「轉向 (Redirection)」 來進入它的控制面板:

控制面板首頁:

如何設定 301 重定向

在外掛的控制面板,找到下邊的 「新增新的轉向記錄」 版塊,可以設定將本網站的任意連結重定向到任意網站的任意連結:

這裡有一些比較複雜的選項,不過別擔心。如果你只想設定一個簡單的 301 跳轉,不需要選擇什麼,只需要設定 「原始 URL」 和 「目標 URL」,然後點選 「新增轉向記錄」 即可。

新增完之後別忘了去測試一下,確保設定的成功有效。

更改固定連結自動跳轉失效的文章連結

(本節可能要掌握一定的正規表示式知識) 。

如果你更改了固定連結,之前的文章連結會全部失效,一個一個的新增跳轉是非常不明智的。

因為修改固定連結導致的文章連結失效,通常原連結和新連結之間會有一些規律,利用 Redirection 外掛的正規表示式匹配連結功能,把這些規律透過正規表示式書寫出來,就能讓外掛自動將失效的文章連結跳轉到新的文章連結。

比如我之前就將本站的固定連結從 「/%postname%.html」 更換成了 「/%postname%/」,然後在外掛裡新增這樣的跳轉記錄:

現在訪問本站類似 「www.weixiaoduo.com/post-name-xxx.html」 的連結會全部跳轉到 「www.weixiaoduo.com/post-name-xxx/」 。

分組

如果你新增了很多跳轉記錄,那麼強烈建議利用外掛的分組功能來把跳轉記錄分組,方便日後的維護和管理。

在外掛控制面板的 「分組」 選項卡下,就可以建立和管理分組:

可以在 「新增分組」 版塊下面新增分組。先輸入分組的名稱,然後點選 「新增」 按鈕就行了。

接下來編輯跳轉記錄的時候就可以在 「組」 選項選擇之前建立的分組了:

404 錯誤日誌

「404s」 選項卡記錄了網站出現的所有 404 錯誤。滑鼠懸浮到任意一條 404 記錄上,日期的下方會出現一個叫做 「Add redirect」 的按鈕,點選就可以直接建立 301 跳轉。

點選 「Add redirect」 之後

如上圖,錯誤的連結自動出現在輸入框中,輸入一個跳轉目標,就可以給這個 404 頁面設定跳轉了,非常方便。

同時,這個日誌還可以幫助你發現一些網站攻擊者的 IP 地址,雖然很少有攻擊者用真實 IP,但是有時候封禁這些 IP 也能阻止一些攻擊和掃描。

隨機文章

分享一個外掛使用小技巧,Redirection 外掛支援把一個連結跳轉到一篇隨機文章。新增一條類似這樣的跳轉記錄:

訪問原始地址,是不是發現跳轉到了一篇文章呢?多試幾次就會發現,這個連結會把訪客帶到一篇隨機文章上,把這個連結新增到網站上,可以增加趣味性哦!

使用 Apache 和 Nginx 進行跳轉

「模組」 選項卡可以根據我們的跳轉記錄生成用於 Apache 和 Nginx 的伺服器重寫規則 (前提是要把記錄對應的分組的模組設定好) 。用 Apache 和 Nginx 進行跳轉,速度和資源消耗都會優秀不少,而且還支援在對 404 進行頁面快取的情況下跳轉。

配置起來不是很複雜,感興趣的同學可以嘗試一下,這裡我不再闡述。