【WordPress】Redirectionで日本語パーマリンクを書き換えるときの注意点

この記事は約2分で読めます。

WordPressでパーマリンクを書き換えるとリダイレクト処理が必要になります。

Redirectionというプラグインを使うとパーマリンクの変更を自動的に感知して、変更前のURLを変更後のURLにリダイレクトするよう設定してくれます。

とても便利なプラグインなのですが、日本語のパーマリンクを書き換える際は、以下の設定にチェックを入れて大文字と小文字を区別しないようにさせましょう。

Case insensitive matches (i.e. /Exciting-Post will match /exciting-post)

なぜ大文字と小文字を区別しないようにするのか

Redirectionが検出する日本語URLは以下のようにエンコードされた文字列になります。

/%e6%97%a5%e6%9c%ac%e8%aa%9e/

しかし、ブラウザからの日本語URLへのアクセスは以下のように大文字になる事があります。

/%E6%97%A5%E6%9C%AC%E8%AA%9E/

両者はRedirectionに異なったものとして認識されますデフォルトの設定では大文字のURLにアクセスされるとリダイレクトされません。このことに気付かないとユーザーに意図しない404 NOT FOUNDを表示することになります。

厳密に検証したわけではありませんが、私の環境では次のように動作しました。

  • 日本語URLのページをリロードすると小文字のエンコード
  • 日本語URLのページをGoogleで検索して遷移すると大文字のエンコード

リダイレクトの必要性、二重に確認しよう

リダイレクト処理せずにパーマリンクを書き換えるとどうなるのでしょうか。

  • 変更前のURLへのアクセスが404 NOT FOUNDになる
  • 変更後のURLがGoogleからの評価を引き継がない

これは困ります。こうなることを避けるため、リダイレクトがきちんと設定されているか二重に確認しましょう。

  • Redirectionの管理画面に表示されるリンクをクリックする
  • Googleで検索してリンクをクリックする

おわりに

私はこのことに気付かず、大文字でエンコードされたURLへのアクセスを半日ほどリダイレクトされない状態にしてしまっていました。今のところSearch Consoleにエラーなど表示されていないので大丈夫だと思いますが、検索からアクセスできなかった人がいるかもしれません。

偶然気付けたので短い時間で修正出来ましたが、エンコードされた文字列が大文字と小文字の場合があるとはなかなか思い至らないと思います。日本語のパーマリンクを書き換えた方、書き換えをご検討中の方はお気を付けください。

コメント