wordpressでパーマリンクを変更するのでリダイレクトするプラグインを作る

パーマリンクの設定をミスってしまった。ってことあるじゃないですか。
パーマリンクの設定を変えてしまってもいいのだけど、SEO的に過去のURLに繋がらなくなるのは困る。

そこでリダイレクトできるプラグインをいくつか探したけど、
良さげなのがなかったので作ってしまうことにした。

リダイレクトプラグインを作る

僕は日付有りから無しに変更しリダイレクトするようにしたけども、
カテゴリー有りから無しにとかURLの編集次第で、何でもできるはず。

wordpress codexに沿って作っていきます。

1.プラグインの名前

安直ですが、「redirects」とします。

2.プラグインファイル

これもそのままで「redirects.php」とします。

3.ファイル・ヘッダー

これはcodexコピーで。内容は任意で書き換えてください。

4.ライセンス

自分用なので作りません。
公開を考えてる人は作ってください。

5.プラグイン実装

こってこてに書いていきます。

redirects.php

説明

  • 11行目~13行目:リクエストURIを取得。最後にスラッシュがあった場合にはスラッシュを除去。
  • 23行目~25行目:管理画面、カテゴリー一覧画面、ページャーはリダイレクトしない。
  • 27行目    :リクエストURIをスラッシュで分解
  • 30行目~31行目:「/yyyy/mm/dd/ポスト名」となっているので、最後のポスト名で組み立て
  • 33行目~34行目:リダイレクトループ対応。リダイレクト後にもこのプラグインは呼ばれるので、リダイレクト後はリダイレクトしないように
  • 35行目~36行目:リダイレクト実行。301は恒久的でリダイレクト先のURLがインデックスされるようになります。

注意

  • header前に改行やスペースを出力するとエラーになります。真っ白。
  • 36行目のlocation:はlocationとコロンの間にスペースを開けないでください。

配置します

/wp-content/plugins/test-redirects
に「redirects.php」でアップロードしました。

「redirects」は公式にアップされているプラグインと被るのでフォルダ名は注意してください。

僕は使わなかったけど、参考までに

Permalink Redirect

Redirection