覚書:Redirection (WPプラグイン)

プラグイン名: Redirection
ダウンロード先: http://urbangiraffe.com/plugins/redirection/
作者名: John Godley

各記事のパーマリンクやその他のURLが変更した際に、新URLに自動リディレクトできるプラグインです。インストール自体は至って簡単だったのですが、URL文字列のパターン化を可能にするために使う、正規表現(せいきひょうげん:regular expression, RegEx)の入力方法がちんぷんかんぷん。ということで、このプラグインの自分用覚書として、主にこの正規表現の入力例をメモって行きます。よって、インストール手順は、ここでは省略してます。また、単純な個別URLリディレクトの解説は、作者のサイトに動画としてありますので参考にどうぞ。

まず最初に、正規表現(せいきひょうげん:regular expression, RegEx)という言葉。私も今回初めて知った言葉です。きっとプログラマーさんでしたら耳慣れた言葉なのでしょうね。いわゆるこれ、文字列の集合を一つの文字列で表現する方法の一つらしい。うーん??それだけじゃ分かりませんよね。実は私もそれ以上によく分かりません。事例がないと、私みたいな文系頭は理解出来ないだろうなと思いました。なので、ここで下手に言葉を羅列するよりは、ウィキIT用語辞典に載っていますので、そちらの方を参考にして見てください。

では早速、このプラグインの管理画面にある正規表現(RegEx)を利用する目的と事例をメモします。

  1. 正規表現利用のメリットとは?
    • 先にも触れましたが、URLのパターン化により、大量の記事のURLを一括でリディレクトする事ができる。
  2. どこで入力するのか?
    • インストール・有効化完了後、管理画面内の「管理」(Manage)下に「Redirection」のサブメニューが表示されます。それが「Redirection」の管理画面です。画面中「Add New Direction」内に、「Regex」とチェックボックスがあります。リディレクト情報(Source URL, Target URL, Type)を入力する際に、ここのボックスをチェックしてください。redirection-cpanel.jpg
  3. 入力例
    1. http://youraddress.com/archives/date/2005/09/ のようなアーカイブURLパターンを http://youraddress.com/newdirectory/archives/date/2005/09/ のようなアーカイブURLパターンにリディレクトしたい場合。
      Source URL: /archives/date/([0-9]{4})/([0-9]{2})/([0-9]{2})/
      Target URL: /newdirectory/archives/date/$1/$2/$3/
      Type: ただリディレクトしたいだけなら、「Simple Redirection」 を選ぶ。
    2. http://youraddress.com/category/diy/ のようなアーカイブURLパターンを http://youraddress.com/newdirectory/category/diy/ のようなアーカイブURLパターンにリディレクトしたい場合。
      Source URL: /archives/category/(.*)/
      Target URL: /newdirectory/archives/category/$1/
      Type: ただリディレクトしたいだけなら、「Simple Redirection」 を選ぶ。
    3. http://youraddress.com/archives/501のようなアーカイブURLパターンを http://youraddress.com/newdirectory/archives/501 のようなアーカイブURLパターンにリディレクトしたい場合。URL文字列最後は各記事のIDを示し、正規表現は記事のIDが1から999の間にあるアーカイブ記事をリディレクトする事を示してます。
      Source URL: /archives/([0-9]{1,3})
      Target URL: /old/archives/$1
      Type: ただリディレクトしたいだけなら、「Simple Redirection」 を選ぶ。

ここで注意をひとつ。正規表現でのリディレクト指示が存在する場合、同じパターンをもつ個別URLでリディレク ト指示を作成するとエラーが発生します。例えば、c. のパターンがリディレク トリストに存在するのに、別で http://youraddress.com/archives/501 用のリディレクト(http://youraddress.com/archives/501 → http://youraddress.com/newdirectory/archives/501)を作った場合、リディレクト指示が被ってしまうのでエラーが生じるのです。実際ブラウザでリディレクトされてるか否か確認しない限り、プラグイン管理画面上では発生しないので分かり難いかと思います。

実は、このプラグインの作者サイトには、一応の解説が載っているのですが、正規表現を利用する上でのルールがさらっとしか書かれてないんです。おかげ様で悩みに悩んだ私は、いろいろ調べて正規表現のチュートリアルサイト(”Regular-Expressions.info“)を見つけ、やっとここまで書く事が出来ました。いやー、ホント難解極まりないですよ、私みたいな文系頭には(笑)。

随分長い記事になりましたが、このプラグインの機能はとっても奥深いので、また新発見がありましたら記事にしていこうかと思います。