【解決策】Simple 301 Redirectsがリダイレクトされない

【解決策】Simple 301 Redirectsがリダイレクトされない

株式会社まほろばの鈴木(@mahoroba148)です。

「WordPress リダイレクト」といえばこのプラグイン

Simple 301 Redirects

当サイトがまだブログ主体だった頃、パーマリンクをごそっと入れ替えた関係もあり、立ち上げ当初からお世話になっています。

一時期、リダイレクトされないことがありました。

株式会社まほろば 代表取締役 鈴木こころ

設定後にリダイレクトは確認しているはずなんだけどなぁ

とはいえ過去には戻れないので、すぐに修正しましょう。

リダイレクトされないときに確認すること

※プラグインはインストール済と仮定します

まず結論。

Requestは「/(半角スラッシュ)」から始めること

必ず相対パスで書きましょう。

私はRequestを相対パスではなく絶対パスで書いていました。

絶対パス 例) https://mahoroba148.com/test01
相対パス 例)/test01

設定ができたらリダイレクトできているか確認しましょう。

うまく設定できていないとリダイレクトされません。

基本的な考え方

Simple 301 Redirectsでは、元のURL(Request)→送信先(Destination)と設定します。

たとえば「https://mahoroba148.com/test01」を「https://mahoroba148.com/test02」というアドレスにリダイレクトしたい場合、以下の通りです。

  • 元のURL(Request) : https://mahoroba148.com/test01
  • 送信先(Destination) : https://mahoroba148.com/test02

と、このままSimple 301 Redirectsに書き込んでしまうとリダイレクトされません。

なぜかというと元のURL(Request)は相対パスで書かないといけないからです。

  • 絶対パス: https://mahoroba148.com/test01
  • 相対パス :/test01

整理すると

  • 元のURL(Request) : /test01
  • 送信先(Destination) : https://mahoroba148.com/test02

入力できたらUPDATEボタンを押しましょう。

なぜ絶対パスでリダイレクトされた?

リダイレクトが機能していたのは偶然です。

そもそもRequestは相対パスで書くことが正しいので、私は間違った設定をしていました。

間違った設定で動いてしまったのはある種、プラグインのバグだったのかもしれません。

プラグインのアップデートが行われたタイミングでバグが解消され、正しい書き方でないと機能しなくなったと思われます。

301リダイレクトについて

301リダイレクトは恒久的にURLを変更する際に使用するリダイレクトです。

たとえば

  • ドメインが変わったとき
  • パーマリンクを変更したとき

など。

逆に一時的に変更したい場合は302リダイレクトを使用します。

Simple 301 Redirectsはあくまで301リダイレクトを簡単に設定するプラグインですので、302リダイレクトしたい場合はこのプラグインは適していません。

まとめ

Requestは「/(半角スラッシュ)」から始めること

そして、リダイレクト設定後は必ずリダイレクトできているか確認しましょう。

また、一時的にURLを変更する302リダイレクトを使用したい場合は、別のプラグインを使用しましょう。