WEBサイトを他のドメインなどに移管した場合、SEOのパワーを保つためにこれまでのWEBサイトから新しいサイトにリダイレクトをかけることが大切です。
ここでは、WordPressで構築したWEBサイト移管時の転送/リダイレクトの設定方法を実例でまとめています。
301と302リダイレクト
リダイレクト設定を行う前に、リダイレクトには主に「301」と「302」の2種類があることを知っておくことが重要です。
301リダイレクト(永久)
301リダイレクトはWEBサイトを永久的に転送することを伝えるためのリダイレクト設定です。
検索エンジンの評価を新しいページに引き継ぐことができるため、SEO対策上も推奨されます。
古いサイトはもう使わないという場合に使用します。
302リダイレクト(一時的)
302リダイレクトはWEBサイトやページを一時的に移動することを指示するリダイレクトです。
301転送と異なり、転送を切った時点で元のページが表示することができます。
例えば、ショップなどのオープン前は「準備中」といったページにしておき、オープン日に予約ページに飛ばすといった場合に使用します。
転送の設定方法
301転送(永久的)
301転送を使って永久的に古いドメインの全てのページを、新しいドメインの同じ階層のページにリダイレクトするには以下のように記述します。
RewriteEngine On
RewriteRule ^(.*)$ https://新しいドメイン.com/$1 [R=301,L]
- RewriteEngine On
.htaccessのリライト機能を有効にします。 - RewriteRule ^(.*)$ https://新しいドメイン.com/$1
任意のURL[ (.*)の部分 ]を、新しいドメインの同じURL($1)にリダイレクトします。 - [R=301,L]
301リダイレクトを行い、このルールで処理を終了します。
302転送(一時的)
古いドメインの全てのページを、新しいドメインの同じ階層のページに一時的にリダイレクト(302)するには、末尾の R=301をR=302にするだけです。
RewriteEngine On
RewriteRule ^(.*)$ https://新しいドメイン.com/$1 [R=302,L]
以上で設定は完了です。とっても簡単です。
管理画面以外を転送する方法
古いWEBサイトのWordPress管理画面はそのまま表示させ、閲覧用のページのみにリダイレクト設定をするには以下のようにします。
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteRule ^(.*)$ https://新しいドメイン.com/$1 [R=301,L]
.htaccessファイルの設置場所
.htaccessファイルは、リダイレクトを行いたいディレクトリに設置します。サイト全体をリダイレクトする場合は、ドキュメントルート(Webサイトのトップディレクトリ)に設置します。
注意点
- 新しいドメインがhttps://でアクセスする場合は、上記の設定例のようにhttps://を指定します。
- サブディレクトリごとに変えたい場合は、RewriteRuleの部分を調整する必要があります。
- リダイレクト先がまたリダイレクト設定になっていると、無限ループになる可能性があります。
- 本番環境に反映する前に、テスト環境で動作確認を行うことをおすすめします。
サブディレクトリごとに転送先を変えたい場合や、個別にリダイレクトしたい場合は下記をご参考ください。
そもそも.htaccessやRewreiteRuleとは何か?については下記をご参考ください。
まとめ
.htaccessによるリダイレクト設定は、Webサイト移転の際に非常に重要な作業です。上記を参考に、ご自身の環境に合わせて設定を行ってください。