【WordPressサイト引越し】.htaccessファイルを使って301リダイレクトして旧サイトから新サイトに飛ばす方法
今回の記事の難易度★★★★★【上級者向け】
■今回の記事はこんな人のために書いています
⇒WordPressサイトのドメインやURLを変更してリダイレクトをかけたい人
■今回の記事を読むと以下のことが分かります
⇒.htaccessファイルを使って、サイトごとまるまる一括でリダイレクトをかける方法
WordPressサイトのドメインを変更したい。でも、URLが変わるとまたWebサイトの評価が0からスタートになるしなぁ・・・。
そんな風に思っている方のために、今日は旧ドメインのサイトから、新ドメインのサイトに、全ページ評価を引き継がせつつリダイレクトする方法を解説します。
まずはじめに)301リダイレクトをしないといけない理由

例えば、こんな図のようにもともとWordPressサイトを運営しいたドメインがあるとします。そうすると、301リダイレクトというものを使ってあげると、
- Googleなどの検索エンジンからの評価を新しいドメインに引き継ぎ
- ユーザーが旧サイトに来ても新サイトに一瞬でジャンプさせてくれる
っていう感じになります。
特に、サイトの引っ越しの時に301リダイレクトをかけておかないと、全く同じコンテンツがWeb上に2つ存在することになってしまいますよね。
そうすると、Googleもどっちのページを評価したらいいかわかんないし、ユーザーもどっちのサイトに行けばいいか迷ってしまいます。
だから、リダイレクトを設定してあげないといけないんですよね。
■よく使うリダイレクトの種類
・301リダイレクト(恒久的):HPやブログのドメインの変更などで引越しした時に使う
・302リダイレクト(一時的):PCサイトとスマホサイトを分ける時に使う
.htaccessファイルをつかって301リダイレクトを設定してみよう
今回使う方法は、.htaccessというサーバーに命令をするためのファイルをいじる方法です。この.htaccessファイルは、かなり繊細なファイルのため、間違ったコードを書いたりすると、Webサイトが見れなくなったりするので、慎重に作業してください…!
手順1)エックスサーバーの.htaccessファイル編集機能を使おう
何度も釘を指しておきますけど、この.htaccessってファイルは慎重に扱わないとダメです。
※注意
編集する前には、かならず内容をテキストエディターなどにコピーしてバックアップを取っておいて下さい!
まずは以下の手順で、エックスサーバーの.htaccess編集画面までいきましょう。
↓ エックスサーバーの「サーバーパネル」に入り、「.htaccess編集」をクリック

↓次に、移行元(引越し元)のドメインを選んで下さい。

↓「.htaccess編集」をクリック

↓ 色々難しそうな事が書いてありますが、とりあえずENTERを押して一番上に空白の行を作ってみて下さい。

この一番上に作った空白の行に、以下の手順2で指定するコードを貼ることになります。
手順2).htaccessにあなたのサイトの引越し内容に合わせてコードをコピペしよう
ここからは、あなたの引越しの状態に合わせて考えていきます。
パターン1)ドメインを変更して引っ越す場合

この時は、トッページはもちろん、各記事ページも一気に301リダイレクトができるように設定します。以下のコードを使って下さい。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{http_host} ^old.com RewriteRule ^(.*) http://new.com/$1 [R=301,L] </IfModule>
(※注 old.comはあなたの移行前のドメイン、new.comは移行後のドメインに変更してください。)
パターン2)現在のドメイン直下から、サブディレクトリにサイトを移動する場合

この場合は、以下のコードを追記してください。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*) http://example/sub/$1 [R=301,L] </IfModule>
(※注 example.comはあなたのドメイン。subはあなたの移行したいサブディレクトリ名に変更してください。)
パターン3)現在のドメイン直下から、サブドメインに移動する場合

この場合は、以下のように記述してください。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*) http://sub.example/$1 [R=301,L] </IfModule>
(※注 example.comはあなたのドメイン。subはあなたの移行したいサブドメイン名に変更してください。)
パターン4)現在の旧ドメインから、新ドメインのサブディレクトリに移動する場合

このケースはあまりないかもですが…一応載せておきます!
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{http_host} ^old.com RewriteRule ^(.*) http://new.com/sub/$1 [R=301,L] </IfModule>
(※注 old.comは移行前の旧ドメイン。new.comは移行後の新ドメイン。subはあなたの移行したいサブディレクトリ名に変更してください。)
手順3).htaccessファイルを更新しよう!
以下のように、手順2であなたの目的にあったリダイレクト方法のコードを貼り付けます。
↓

↓ 貼り付けたら、「確認画面へ進む」をクリック

↓ 大丈夫そうであれば「実行する」ボタンをクリック。

これで作業的なことは完了!
手順4)しっかりとリダイレクトされているか? チェックしよう!
最後に、以下のことをチェックしてみましょう。
- 旧トップページにアクセスして新トップページにリダイレクトされるか?
- 旧記事にアクセスして、新記事にアクセスされるか?
- その他、Webサイトに異常はないか?
これらが問題なければ無事、301リダイレクト作業は完了です。
まとめ
ということで、ちょっと大変な作業だったかもしれませんが、.htaccessファイルを使って301リダイレクトができると、サイトの引越しなどがめちゃくちゃ楽になります。
頑張って1つ1つ確認しながら進めてみましょう!
■WordPressを旧ドメインから新ドメインに移行する手順
手順4)サイトの301リダイレクト手続き⇒★今ココ