【WordPress】投稿ページのみパーマリンク設定を変更してリダイレクトする方法

【WordPress】投稿ページのみパーマリンク設定を変更してリダイレクトする方法

実現したいこと

  • 投稿ページのURL(パーマリンク設定)を変更する
  • 旧URLから新URLにリダイレクトする
  • 固定ページのURLは変更しない
  • カテゴリ、タグ、カスタムタクソノミーのURLは変更しない

手順まとめ

  1. パーマリンク設定を変更する。
  2. カテゴリとタグはカテゴリーベースに「category」、タグベースに「tag」を入力して、URLを変更しないようにする。
  3. 「Permalink Redirect Manager」を使って投稿ページだけリダイレクトを設定する
  4. Permalink Redirect Managerはデフォルトでは302リダイレクトになっているので、phpファイルの302を301に変更して、301リダイレクトにする。
  5. 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」に修正します。

Permalink Redirect Manager

カスタムタクソノミーのURLを変更しない

カテゴリとタグは、パーマリンク設定のカテゴリーベースに「category」、タグベースに「tag」を入力することで、URLを変更しないことが可能です。

ですが、カスタムタクソノミーはURLがパーマリンク設定を変更すると一緒に変更されてしまいます。

パーマリンク設定を変更しても、カスタムタクソノミーのURLを変更しないためには、「Custom Post Type Permalinks」というプラグインを使います。カスタム投稿タイプのパーマリンク設定もコントロールできます。

「カスタマイズされたカスタムタクソノミーのパーマリンクを使用する。」にチェックを入れます。

カスタムタクソノミーのパーマリンク設定