【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection)

問題

WordPressのパーマリンクがカテゴリ名と記事名になっている。

カテゴリを変更したいが、そうすると記事のURLが変わってしまい、ユーザーやGoogleのクローラーを混乱させてしまう。

そこで、パーマリンクからカテゴリ名を外して、新しいURLにリダイレクトさせる。

注意

Redirectionの場合、Permalink Redirectと異なり、パーマリンクの記事名に日本語が含まれていても対応できる。

ただしカテゴリが多いと設定する作業は増えるので、どちらが良いかは環境により変わる。

手順

Ridirectionインストール

WordPressにRedirectionをインストールする。

【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection) - 【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection)
Redirectionを新規追加する

初期設定

Redirectionには初期設定画面があるので、以下をチェックし、後は手順通り進める。

  • monitor permalink changes in WordPress Post and pages.:投稿と固定ページのパーマリンクに変更があった場合、リダイレクトを自動生成する。
  • keep a log of all redirects and 404 errors.:リダイレクトと404のログを保存する。

パーマリンク設定変更

WordPressのパーマリンク設定とRedirectionの設定は、なるべく間髪入れずに変更する。

WordPressパーマリンク設定

【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection) - 【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection)
WordPressのパーマリンク設定画面

パーマリンクを投稿名に設定して、変更を保存する。

もしもの時のため、古いパーマリンク設定は残しておくこと。

Redirection設定

【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection) - 【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection)
転送ルールを追加する
^/{カテゴリ名}/(.*)

(.*)はいずれかの文字が何文字でも許容する、という意味。

最初に ^ を付けないと、タグやカテゴリのページも転送してしまうので注意。

https://{サイトドメイン}/$1

(.*)と一致した文字列は、次の$1に置き換えられる。

カテゴリ名の数だけ、上記の設定を追加する。

ソースURLと一致したとき、ユーザーはカテゴリ名を除いたターゲットURLに転送される。

正規表現によりURLをマッチさせているので、URL options / Regexにある正規表現の選択を忘れないこと。

確認

カテゴリ名込みのURLにアクセスし、記事のページへリダイレクトすることを確認する。

戻し方

うまく行かない場合は、まずWordPressのパーマリンク設定を元に戻す。

それからRedirectionを無効化するか、設定を初期状態に戻す。

“【WordPress】パーマリンクからカテゴリ名を外して記事に301リダイレクトさせる(Redirection)” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。