WordPressのURLを変更する事にした。
ひと手間あったので備忘録も兼ねてメモをする。
WordPressのURLはデフォルトの場合、
パラメーターとして記事IDやページIDがURLに含まれる。
例えば記事IDが1770の記事であれば下記のようなURLになる。
あまり、URLのうしろにp=なんとかみたいな
パラメーターが付くのが好きでない人はパーマリンク設定で変更をする。
私も変更しており、数字ベース(516.jp/archives/123)を使用していた。
その際、WordPressの管理画面からパーマリンク設定を変更すれば、
過去の記事もすべて数字ベースにURL書き換えが行われるので
特に困る事はなかった。
例えば、
516.jp/?p=1770
にアクセスすると
516.jp/archives/1770
に自動的にURL書き換えというかリダイレクトされるのである。
今回はこれまで使っていたURLの/archives/という部分が不要というか
/archives/がないほうが短くて良いかなと思い変更しようと思った訳です。
で、パーマリンク設定のカスタム構造から/%post_ID%に変更する事で
ドメイン名/記事IDという短いURLで表示を変更する事ができた。
516.jp/%post_ID%
516.jp/1770
そこまでは良かったのであるが、
/archives/ありのURLにアクセスした場合に
/archives/無しへのリダイレクトが行われずに
NotFoundになってしまう事に気が付いた。
まぁ仕組み的に考えてみれば仕方がないか。
とはいえ、このままだと、
過去のGoogle等の検索エンジンにインデックスされているURLは
/archives/付きなので、検索エンジン経由でアクセスしてくるユーザーには
すべてNotFoundが表示されてしまう事になる。
検索エンジンのインデックスがアップデートされるのを気長に待つ
という訳にもいかないので、対策が必要である。
もっとも単純な方法としてはこれまでの/archives/つきURLひとつひとつに
新しい/archives/無しURLへのリダイレクト処理をすれば良い話だが
それはちょっと面倒というか日が暮れてしまう。
という訳で調べてみるとSimple 301 Redirectsという
この問題を解決するプラグインを発見した。
Simple 301 Redirectsを有効化して、
ワイルドカード(*)を使用して一括リダイレクトをする。
今回のケースであれば
/archives/*
を
/*
をリダイレクトするという処理である。
これで無事リダイレクトができました。