[WP]日本語スラッグのリダイレクトは.htaccessでなくRedirection一択な理由

WordPress
スポンサーリンク

「日本語URLの記事を移動したから、.htaccessで301リダイレクトをかけよう」。

そう思ってファイルをアップロードした瞬間、画面が真っ白になり「Internal Server Error (500)」が表示される……。Web制作の現場にいると、一度は背筋が凍るこの瞬間に遭遇したことがあるのではないでしょうか?

結論から言えば、日本語スラッグ(マルチバイト文字)が含まれるURLのリダイレクト処理を、サーバー設定ファイル(.htaccess)に直接記述するのは、2025年の現在でもおすすめできません。

エンコード処理の複雑さやサーバーの文字コード設定に依存する不安定さが残るからです。今回は、この問題をスマートに解決し、かつ管理画面で完結できるプラグイン「Redirection」の活用法と、プロでも見落としがちな「REST API」や「ログ肥大化」の罠について解説しましょう。

日本語URLのリダイレクトがサーバー設定ファイルで失敗するメカニズム

なぜ、日本語URLを記述するとエラーになるのか。それは「文字コードの壁」が存在するからです。

例えば、「/会社概要」というURLをリダイレクトしたい場合、サーバー側はこれを「%E4%BC%9A%E7%A4%BE…」といったピュニコード(エンコードされた文字列)として解釈しようとします。しかし、テキストエディタの保存形式(UTF-8 BOMあり/なし)や、サーバー側のApache/Nginxの解釈のズレによって、この翻訳がうまくいかないケースが多々あるのです。

まるで、通訳を通さずに異なる言語で叫び合っているような状態と言えるでしょう。

結果として500エラーが返されたり、あるいはエラーは出ないもののリダイレクトが効かずに404ページが表示されたりします。これを修正するために何度もFTPを繋ぎ直すコストを考えると、あまりに非効率的だと思いませんか。

解決策:Redirectionプラグインならエンコード不要で直感的に管理可能

そこで導入すべきなのが、長年WordPressユーザーに愛用されている「Redirection」プラグインです。

このプラグインの最大の強みは、日本語スラッグをそのまま入力しても、内部で適切に処理してくれる点にあります。

複雑な正規表現やエンコード文字列をコピペする必要はありません。「転送元の日本語URL」と「転送先のURL」を入力するだけ。これだけで、データベースレベルでリクエストをフックし、正しいページへとユーザーを誘導してくれます。

わずか3ステップで完了!Redirectionの導入と設定フロー

具体的な使い方は非常にシンプル。小難しい設定は初期セットアップウィザードが自動でやってくれます。

①インストールからセットアップまで

プラグインの新規追加画面で「Redirection」を検索し、インストール・有効化します。

「セットアップを開始」ボタンを押すとウィザードが始まりますが、基本的にはデフォルトのまま「次へ」を進んでいけば問題ありません。

②リダイレクトルールの作成

設定画面の上部に「転送ルール」を追加する項目があります。

  • ソースURL: 古いURL(例:/old-post-日本語/)
  • ターゲットURL: 新しいURL(例:/new-post/)

③動作確認

「転送ルールを追加」ボタンを押せば完了。実際にブラウザで古い日本語URLにアクセスし、新しいページへ遷移するか確認しましょう。

サクッと終わりますよね。まるで魔法のようですが、裏側ではしっかりリダイレクト処理が走っています。

【重要】見落しがちな「REST API制限」と「ログ肥大化」の2つの落とし穴

ここからが本記事のハイライト。

というのも、Redirection導入時に必ずチェックすべき注意点が2つあるからです。。

①セキュリティプラグインによるREST API制限の解除

Redirectionの設定画面は、WordPressの「REST API」を利用して描画されています。

しかし、「All In One WP Security」や「SiteGuard」などのセキュリティプラグインを使用している場合、設定を厳しくしすぎてREST APIへのアクセスをブロックしていることがあります。

もしRedirectionの設定画面が開かなかったり、エラーが表示されたりする場合は、セキュリティプラグイン側の設定で「REST APIの無効化」にチェックが入っていないか確認してください。ここ、意外とハマりポイントです。

②サーバー容量を圧迫する「ログ」の停止

Redirectionはデフォルトで、「誰がいつどのURLから転送されたか」「404エラーが出たURLはどれか」といったログをデータベースに保存します。

小規模サイトなら便利ですが、アクセス数が多いサイトだと、このログデータ(wp_redirection_logs テーブルなど)が数GB単位に肥大化し、サイトの表示速度を低下させる原因になりかねません。

単に「URL変更の301リダイレクト」だけが目的であれば、ログ機能は不要です。

【まとめ】日本語URLのリダイレクトはツールに頼るのが正解!

日本語スラッグを含むURLのリダイレクトにおいて、.htaccessにこだわるメリットは今の時代ほとんどありません。

「Redirection」を使えば、エンコードの呪縛から解放され、安全かつ迅速に移行処理を行えます。

  1. 日本語URLのまま設定可能
  2. 500エラーのリスク回避
  3. REST APIとログ設定だけは要注意

コメント

タイトルとURLをコピーしました