WordPressのカテゴリーを変更したときの対応をまとめました

WordPressのカテゴリー分けに頭を悩ませています。
サイトを作った当初はカテゴリー分け不要で、タグ付けだけしていれば記事を探せるかなと考えていました(カラーミーショップの記事ばっかりでしたし)。

これまでのカテゴリーは

  • カスタマイズ(コーディング記事)
  • コラム(コーディング以外)


今後の方針はサイト制作記事を幅広く増やし、量が増えてきたら大カテゴリーに昇格させていこうと考えています。

現時点でのカテゴリー分けは

  • カラーミーショップ(探しやすいように子カテゴリーを作る)
  • サイト制作知識(カラーミーショップ以外)

カテゴリー設定

一般的にカテゴリーは階層(親子関係)を作る場合に使います。タグに階層はありません。

WordPressのカテゴリーは階層に縛られないタグのような使い方もできて、柔軟にカテゴリーを設定できますが、(一応)階層が不要な分類はタグで行います。

カテゴリーはメニューに表示することが多いので、メニュー項目としてふさわしいかで決めてもよいと思います。

WordPressのカテゴリーは、ダッシュボード(管理画面)の「投稿>カテゴリー」で変更できます。

スラッグがカテゴリーのディレクトリ名に使われます。
親カテゴリーを設定をすると、階層が作れます。

パーマリンク設定

皆さんはWordPressnoパーマリンク(固定リンク)はどのように設定していますか。
当サイトでは以前まで、「naeco.jp/column/kiji-title」という風にカテゴリー名をパーマリンクに含めていました。
カテゴリーを変更したことで、パーマリンクも変更になりました。

WordPressのパーマリンクは、ダッシュボード(管理画面)の「設定>パーマリンク設定」で変更できます。

オーソドックスに「投稿名」で設定することにしました。
パーマリンクにカテゴリーを含めると、気軽に変更できないんですよね。
「変更を保存」ボタンを押すとすぐに変更されます。

リダイレクトする設定

パーマリンクが変更になると、記事の検索エンジンからのページ評価がなくなってしまいます。新パーマリンクへ評価を引き継ぐように、301リダイレクトを行います。
検索エンジン経由で訪問するお客様もページのリンク切れでがっかりすることがなくなります。


サーバーの.htaccessファイル内にリダイレクト設定を書きます。ファイルは通常WordPressをインストールしたディレクトリにあります。
検索するとリダイレクトの例文がいろいろと見つかりますので、探してみてください。

正規表現を使ってリダイレクト元、リダイレクト先を指定することが多いので、例文で不明な箇所は正規表現の解説サイトを読むとよいです。

ここでは、パーマリンクからカテゴリーを取り除いた新しいパーマリンクに飛ばす設定をします。

^が先頭、$は末尾を意味しています。
(.*)は正規表現でマッチングし、記事のスラッグを取り出しています。
上で取り出したスラッグを参照しています(後方参照といいます)。

# リダイレクト設定 2020.08.18
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^customize(.*)$ $1 [L,R=301]
RewriteRule ^column(.*)$ $1 [L,R=301]
</IfModule>

内部リンクのリンク先修正

記事内に自分の記事を埋め込んでいることも多いと思います。
パーマリンクを変更した場合は、内部リンクの修正も必要です。

WPの内部リンク埋め込み

おわりに

パーマリンクにカテゴリーを含めているといろいろと作業が発生しますので、いざカテゴリー変更となるとめんどくさいことになります。

私がWordPressをインストールした直後には全然考えていませんでしたが、パーマリンク(固定リンク)はあとから変更しないで済むようにしておくほうがいいです。
記事数が増えるとパーマリンクのダブりを気にする必要が出てくるかもしれませんが、ふつうは大丈夫でしょうかね。

パーマリンクさえちゃんとしていれば、自分の書いた記事の傾向をみてカテゴリー分けすればいいですよね。

執筆者

えいじ@naeco.jp この記事を書いた人

メーカー系情報システム部門出身の個人事業主。
自作するのが好きですぐに試したくなる、凝り性なWebエンジニア。
カラーミーショップ、モールなどのECについて記事にしています。

ご相談・お問い合わせはこちら