今回はパーマリンク変更をしたあとのリダイレクト設定について備忘録としてまとめておきたいと思います。
【もくじ】
パーマリンク設定からカテゴリーを抜きたい
経緯
このブログは雑記ブログとして様々なことを記事にまとめています。
そのため、カテゴリが定まらず記事によって変更になってきます。
最初は「レビュー」というカテゴリで記事を書いてきても「食べ物」「買ったもの」「映画鑑賞」などで細かい分類ができていることに気づきます。
そんな時に雑記ブロガーとしてはカテゴリ変更をしたいと思うことが。。というのが経緯。
簡単にカテゴリ変更できない問題
しかし、パーマリンク設定でURLにカテゴリが含まれる形式にしてしまっています。
これでカテゴリ変更をしてしまうと何が問題か。
これまで投稿してきた記事のURLは「https://okiraku-life.com/カテゴリー/投稿名/」の形式でGoogleに登録されています。
そのため、カテゴリー変更をしてしまうと先程のレビューの場合。
「https://okiraku-life.com/レビュー/投稿名/」(Googole:検索順位1位だ!)
↓
「https://okiraku-life.com/レビュー/食べ物/投稿名/」(Googole:これは全く別の記事だ!)
とURLが変更になっていまいます。
そうなると、Google側からしたら新たな記事としての扱いになります。
404エラー(ページが見つかりません)
カテゴリー変更前の記事がGoogle検索順位1位だったのにも関わらず、URLが変更になったため1位のものはリンクが途切れて404エラーとなります。
そして新たなURLの記事で検索順位がガクっと下がる。1位になるのを待たなければなりません。
これはブログで収益を上げている人にとってはもったいない話です。
301リダイレクト設定
そんな時に設定するのが301リダイレクト設定です。
パーマリンク設定やサーバ移転などでURL変更となっても、変更前URLアクセス→変更後URLに変更。をやってくれる設定です。
WordPressは301リダイレクトを自動でやってくれます。でも、する場合としない場合があります。
サブカテゴリは自動301リダイレクトされない
自分のケースの場合、
「https://okiraku-life.com/カテゴリ/投稿名/」
↓
「https://okiraku-life.com/投稿名/」
と設定しました。
「https://okiraku-life.com/カテゴリ/投稿名/」の記事は自動301リダイレクトされる。
「https://okiraku-life.com/カテゴリ/カテゴリ/投稿名/」の記事は404エラー。
という結果でした。サブカテゴリに含まれている記事は404エラーとなってしまいました。
有名な301リダイレクトプラグインでは転送できない
「Simple 301 Redirects」や「Redirection」のプラグインで設定しようとするのですがどうもうまくいかず404エラー。
救世主「Permalink Redirect」プラグイン
そんなときに出会った救世主が「Permalink Redirect」プラグイン。
これで解決しました。
ということで導入方法について説明したいと思います。
step
1プラグインをダウンロード
※Permalink RedirectはWordPressからは検索できません。
Permalink Redirectの公式ページへアクセス。
「Download」にあるリンクの「ZIP」と書かれたほうを選んでダウンロード。
step
2プラグインのインストール
「外観」→「プラグイン」→「新規追加」と進む。
①「ファイルを選択」で先ほどダウンロードしたzipファイルを選択。
②今すぐインストール
インストールが完了したら「有効化」をしてください。
step
3301リダイレクト設定するためにプラグイン編集(一番の難関ですが簡単。諦めないで)
「プラグイン」→「プラグイン編集」で右上にある「編集するプラグインを選択」から「Permalink Redirect」を選択して「選択」。
406行目に以下の記述があります。
function wp_redirect($location, $status=302) {
これを↓のように「302」→「301」と変更する。
function wp_redirect($location, $status=301) {
最後に「ファイルを更新」を押す。
(※もちろん、FTPを扱える方はFTP経由で編集しても構いません)
step
4
「設定」→「Permalink Redirect」と進む。
「Old Permalink Structures」の中にパーマリンク設定変更前のURLを記載します。ドメイン以降の部分を入力します。
自分の場合は、「https://okiraku-life.com/%category%/%postname%/」なので、ドメイン以降の「/%category%/%postname%/」の部分を入力します。
パーマリンク設定を確認しながらやりましょう。
入力したら「Update Options」を押して更新。
step
5パーマリンク設定を変更
「設定」→「パーマリンク設定」に進む。
カスタム構造「https://okiraku-life.com/%category%/%postname%/」にチェックが入っている状態を変更する。
投稿名「https://okiraku-life.com/sample-post/」にチェックを入れる。(※sample-postと/%postname%/は同義。)
「変更を保存」を押したら完了。
step
6301リダイレクト確認
以前のURLをアドレスバーに打ち込んでエンター。
404エラーになることなく、パーマリンク設定変更後のアドレスに転送された!これで問題なく完了です。
設定してみた感想
「Permalink Redirect」を導入することにより過去の記事は自動的に転送されます。
また、パーマリンク設定からカテゴリを抜いたおかげでURLに影響を及ぼさずにカテゴリ変更が可能になりました。
301リダイレクト設定が何より一番重要です。
「Simple 301 Redirects」や「Redirection」で正規表現をやろうと思っても知識がない人には難しすぎます。
なので、そういう方はPermalink Redirectのプラグインを使ったほうが圧倒的に簡単だと思います。