実現したいこと
- 投稿ページのURL(パーマリンク設定)を変更する
- 旧URLから新URLにリダイレクトする
- 固定ページのURLは変更しない
- カテゴリ、タグ、カスタムタクソノミーのURLは変更しない
手順まとめ
- パーマリンク設定を変更する。
- カテゴリとタグはカテゴリーベースに「category」、タグベースに「tag」を入力して、URLを変更しないようにする。
- 「Permalink Redirect Manager」を使って投稿ページだけリダイレクトを設定する
- Permalink Redirect Managerはデフォルトでは302リダイレクトになっているので、phpファイルの302を301に変更して、301リダイレクトにする。
- 「Custom Post Type Permalinks」を使ってカスタムタクソノミーのURLは変更しないようにする。
パーマリンク設定を変更する
パーマリンク設定を変更します。
変更前のパーマリンク設定
https://www.example.com/%postname%/
変更後のパーマリンク設定
https://www.example.com/blog/%postname%/
カテゴリとタグのURLは変更したくないので、カテゴリーベースに「category」、タグベースに「tag」を入力します。
「Permalink Redirect Manager」を使って投稿ページだけをリダイレクトする
旧パーマリンク設定のURLから新パーマリンク設定のURLにリダイレクトをします。
旧パーマリンク設定のURLのサンプル
https://www.example.com/postname/
新パーマリンク設定のURLのサンプル
https://www.example.com/blog/postname/
普通に.htaccessでリダイレクトすると、固定ページもリダイレクトされてしまうので、「Permalink Redirect Manager」というプラグインを使いました。
投稿ページだけをリダイレクトすることができます。
WordPress公式サイトで配布されているプラグインではないので、直接ダウンロードして使います。
プラグインをダウンロードしたら、デフォルトでは「302」リダイレクトになっているので、phpファイルの中身を「301」に修正します。
カスタムタクソノミーのURLを変更しない
カテゴリとタグは、パーマリンク設定のカテゴリーベースに「category」、タグベースに「tag」を入力することで、URLを変更しないことが可能です。
ですが、カスタムタクソノミーはURLがパーマリンク設定を変更すると一緒に変更されてしまいます。
パーマリンク設定を変更しても、カスタムタクソノミーのURLを変更しないためには、「Custom Post Type Permalinks」というプラグインを使います。カスタム投稿タイプのパーマリンク設定もコントロールできます。
「カスタマイズされたカスタムタクソノミーのパーマリンクを使用する。」にチェックを入れます。