サイトのドメインを変えたり、ページの階層を変えたときにほぼ必須の作業なのがリダイレクト設定。
でもGoogle検索にすでにインデックスされている場合は、前のURLについていたGoogleからの評価を新しいURLに引き継がせるために、301リダイレクトを設定する必要があります。
そこでやることとして、.htaccessやサーバーサイドスクリプトなど設定には方法がありますが、これが難しい、というか触るのが怖いということで、非エンジニアには高いハードルになるわけです。
WordPressを使っているとWordPress自体やテーマによって.htaccessに自動で書き込まれたりするので、非エンジニアには余計に難解に・・・。
そこで手軽なのがプラグイン「Redirection」です。やっぱり便利なプラグインです。
Redirectionのリダイレクト設定
記事ページの階層を変更した場合を例にしたRedirectionのリダイレクト設定です。
RedirectionはWordpress内で検索して出てくるので、インストールしておきましょう。※ここではインストール手順は割愛します。
WordPressの設定→ホームページ設定を「最新記事」にしていて、「ドメイン名/投稿記事ページ」になっていたものを、トップページと投稿ページに特定の固定ページに設定して、「ドメイン名/blog/投稿記事ページ」といった具合に、パーマリンクに/blog/
を追加したとします。
つまり、
旧URL:https://example.com/post-slug/
から
新URL:https://example.com/blog/post-slug/
変更した場合ですね。
設定方法を順を追って見ていこう
まず基本的な設定として、指定のURLにアクセスしたときに「ドメイン名/blog」にリダイレクトするための設定の流れを見ていきましょう。
- STEP1Redirectionをインストールして有効化すると「ツール」直下に「Redirection」という項目が追加されているのでクリックする
- STEP2Redirectionの設定画面が開いたら「新しいリダイレクトを追加」する
■ソースURL(リダイレクト元)
^/([^/]+)/$
■ターゲットURL(リダイレクト先)
/blog/$1/
- STEP3「正規表現を使用」にチェックを入れる
- STEP4HTTPコードを301(恒久的)に設定
- STEP5「追加」ボタンを押して登録する
特定のページをリダイレクトさせないように設定する方法
さて、ここで一つ問題があります。
先ほどの例(/blog/
に階層変更)だと階層の変更は投稿関連のページのみで、プロフィールページや問い合わせページといった固定ページ(例:aboutやcontact)は何も変わっていないのでリダイレクトする必要ないのに、ポーンとリダイレクトされてしまいます。
なので、固定ページのような階層の変更がないページの除外設定が必要です。
除外設定方法
除外設定としては、こちらも正規表現で除外することを明記します。
先ほどの設定ではドメイン配下のページすべてが対象でした。
^/([^/]+)/$
プロフィール(about)、問い合わせ(contact)、プライバシーポリシー(privacy-policy)の3つを除外する場合は、上記の記法からこんな感じに書き換えます。
^/(?!about|contact|privacy-policy)([^/]+)/$

リダイレクト先の設定は/blog/$1/
のままでOKです
これで指定の固定ページではリダイレクトが除外されるようになります。
一括リダイレクト設定の設定漏れでログインできなくなることも
特定のページをリダイレクトさせないように除外設定する際、固定ページだけに意識が行きがちですが、意外に忘れがちなのがWordPressがインストールされているディレクトリ配下へアクセスしたときの除外設定です。
ドメイン配下のページすべてをリダイレクト設定しているので、固定ページだけでなく、ログインページもリダイレクトの対象になるので、こちらも忘れずに除外設定しておきましょう。
さもないと、一度ログアウトしてしまうと次回以降ログインしようと思ってもリダイレクトされてログインできなくなってしまいます😱

私もやらかしてログインしたいのにリダイレクトされてログインできなくなってしまいました・・・💦
ログインできなくなったときにはどうすればいい?
もし除外設定を忘れてログインできなくなってしまった場合は、FileZillaのようなFTPソフトやXサーバーのサーバーパネルのような管理画面などからディレクトリ操作する必要があります。
- STEP1FTPソフトやファイル管理画面からWordpressがインストールされているディレクトリにアクセスする
- STEP2
/wp-content/plugins/
へディレクトリ移動する - STEP3
redirection
ディレクトリを探してディレクトリ名を適当な名前に変更するプラグインのディレクトリ名を変更すると、変更したプラグインがWordpressの管理画面から読み込めなくなるので、一時的にRedirectionが無効化されます。
- STEP4今まで通りにログイン画面からログインする
- STEP5STEP3で変更した
redirection
ディレクトリを元の名前に戻す - STEP6Redirectionの設定画面でログインページなどを除外設定する

「リダイレクト設定忘れてログインできない!どうしよう!💦」と焦らず、落ち着いて上記の方法を試してみてください。
RedirectionはWordpressを扱う方には簡単で便利なプラグインなので、.htaccessを使って301リダイレクト設定するのが怖い、難しいと感じる方はぜひ試してみてください!