WordPress

【WordPress】カテゴリースラッグを変更した時のリダイレクト設定【.htaccess】

こんにちぱやぱやです。

WordPressのカテゴリースラッグを変更した時の、リダイレクト設定を紹介します。
プラグインでやる方法もあるようですが、.htaccessファイルを変更する方がシンプルに出来そうだったのでこっちにしました。
(あんまりプラグインでガチガチにするのは好きじゃないのもある)

私のブログではカテゴリーに「excel」があり、今後VBAの記事もExcelと併せて書きたいと思ったので、「excel-vba」という風に変更しました。

カテゴリーの名前だけの変更のやり方って、意外に載ってなかったので自分のメモとしても書いていきたいと思います。
※今回私がやった作業のみ書きます。パーマリンクの構造を変えただとか他の方法については触れません

変更する前に準備することと作業手順

今回変更するファイルは1つだけですが、変更する前にバックアップをとりましょう。
バックアップの方法はおまかせします。
ただ、.htaccessを編集するのにファイル転送ツールでダウンロードが必要になるので、一緒にブログ全体もダウンロードしちゃえば楽ですね。

あと、先に手順を説明したいと思います。
数秒とはいえ一部のリンクが繋がらない時間ができるので、手順を先に確認してもらった方がスムーズに作業出来るからです。
プラスでアクセスの少ない時間帯にやるといいと思います。

作業手順

1.「.htaccess」のダウンロード&書き換え
2.WordPress管理画面にて、カテゴリのスラッグを変更
3.「.htaccess」のアップロード&確認

以上です。
1.が完了したら、2.と3.を一気に進めるようにすると繋がらない時間を減らすことが出来ます。

1.「.htaccess」のダウンロード&書き換え

まずはファイル転送ツールでダウンロードしてきて下さい。
この名前のファイルは色々なディレクトに存在していて、どの範囲に対して設定を適用するのかによって編集するファイルが変わります。
通常は一番上のディレクトリにある「.htaccess」だと思いますので、これをダウンロードします。

もし「.htaccess」が見えてこない場合、ファイル転送ツールで隠しファイルを表示するよう設定を変更して下さい
WinSCPであれば、この位置にあります。

[表示] → [環境設定]

左ツリーから[パネル] → 一般の[隠しファイルを表示する]にチェック

ダウンロード出来たら中を書き換えます。
書き込む位置は、「# END WordPress」の下です。

そこに以下の文を追加します。

RewriteEngine on
RedirectMatch 301 ^/it/excel/(.*) https://paya02.com/it/excel-vba/$1
RedirectMatch 301 ^/category/it/excel$ https://paya02.com/category/it/excel-vba

※上記は、カテゴリーのスラッグを[excel]→[excel-vba]に変更した例です

実際のファイルの中身です↓

簡単ですが各行を解説します。

1行目:RewriteEngine on

URL書き換えを有効にしますよーという宣言です。

2行目:RedirectMatch 301 ^/it/excel/(.*) https://paya02.com/it/excel-vba/$1

RedirectMatch 301は、
正規表現を使って301リダイレクトしますよーという意味です。

^/it/excel/(.*) は、
URLが「https://paya02.com/it/excel/」から始まるページのことで、
それを「https://paya02.com/it/excel-vba/$1」にリダイレクトしますよーという意味です。

この「$1」は、
例えば「https://paya02.com/it/excel/page1」というアクセスであれば「page1」が入ってくると思って下さい。
(.*)で受けたページのURLを、そのまま次のブロックに渡している感じですね。

こうすることで、「https://paya02.com/it/excel/」から始まるページが複数あったとしても、これ1行だけで済むんですねー

3行目:RedirectMatch 301 ^/category/it/excel$ https://paya02.com/category/it/excel-vba

これはカテゴリーページをリダイレクトしているだけです。
2行目と同じように[excel]→[excel-vba]のリダイレクト設定をしているだけですので省略します。

2.WordPress管理画面にて、カテゴリのスラッグを変更

※ここからの2.と3.は一気に進めるようにして下さい。

WordPress管理画面から、
[投稿] → [カテゴリー] → (編集したいカテゴリにマウスを持ってきて)[編集]
から変更できます。

3.「.htaccess」のアップロード&確認

変更した「.htaccess」をファイル転送ツールで本番環境にアップロードしてください。

アップロードが完了したら、リダイレクトがちゃんと出来ているか確認します。
確認の方法は色々ありますが、WEBにあるチェックツールで確認する場合は
リダイレクト検証ツールリダイレクトチェックで、変更前のURLを入力してチェックして下さい。

それ以外でも、自分でブラウザのアドレスバーに古いURLを打ってページが開くかで確認することも出来ます。
また、自分でリンクをクリックしてみて正しくページが遷移されるか、エラーが出ないか、別な記事に飛ばないか、などを確認してみてください。

以上で完了です。

おわりに

リダイレクト周りのもっと細かいことろまで書くと、とても1記事に収まらないくらいボリュームになります。
私自身もまだ理解していない部分も出てくるので、今回は自分がやった部分に限定して書きました。
最初から変更のないようカテゴリーやパーマリンクを決めるのが一番なんですけど、なかなかそうもいきませんよね笑




-WordPress