.htaccessを利用して、旧ドメインから新ドメインを指定し301リダイレクトする事でSEO的にもスムーズにドメインの以降が可能です。
その時に注意する点もあるので、ドメイン変更時は少し余裕を持って行うほうがいいかもしれません。
目次
301リダイレクトの記述方法
.htaccessに以下記述で301リダイレクトが指定できます。
なぜドメインの変更時に301リダイレクトが必要なのか理解してから正しく利用しましょう。
最近ではこのリダイレクトを悪用したスパムサイトを排除するためのペンギンアップデートもGoogleは行っていますね。
301リダイレクトとは?
「恒久的な移動」という意味です。元のインデックスの情報を限りなく維持したまま新しいインデックスに移行できます。
ちなみに302リダイレクトは「一時的な移動」という意味になってしまいますので、インデックス情報は渡せません。
301リダイレクト
.htaccessで301リダイレクト
RewriteEngine On
RewriteCond %{http_host} ^www.olddomain.com
RewriteRule ^(.*) http://www.newdomain.com/$1 [R=301,L]
.htaccessで特定ファイルの301リダイレクト
※特定ファイル指定記述例
Redirect 301 /hoge.html http://www.newdomain.com/hogehoge.php
サイト移転などでドメインを変更した際にファイルの場所や名前が変更いなるケースもありますので、こういった記述で管理するのもいいですね。
PHPで301リダイレクト
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.new.com/abc.html" );
ファイルごとに直接指定できるので複雑なリダイレクトにも対応できます。
また、htaccessの利用に制限のある環境でも役立ちます。
301リダイレクトはGoogle、Yahooともにガイドラインで正式に公表されている移転方法です。
稀に302リダイレクトになってしまう環境がある場合、スパムサイト扱いにされる事例もあります。
ヘッダー情報がきちんと301になっているか確認する場合には「View HTTP Request and Response Header」などを利用して確認しましょう。
301リダイレクトの注意点
Googleはサイト移転の301リダイレクトについて「処理に2ヶ月を越える場合がある」と公言をしております。
なので最低でも30日はリダイレクトを行った方がいいというような手引きでは思わぬ結果になってしまう可能性があります。
また、ドメイン変更によるサイト移転ではなく、サーバーの変更によるサイト移転でも注意が必要で、
Googlebotはサーバーの変更を検知してクローラーの頻度を調整します。
決しておかしな現象ではなく、通常の動きなので驚かないように監視しましょう。
複数のリダイレクトはSEOとしても問題ない
301リダイレクトがどうしても複数行われる場合もあると思います。
ドメインの変更が直近で2回あった場合など。
そういった場面でも問題なく301リダイレクトは機能しますが、必ず302ステータスを排除しておかないとドメインステータスは引き継げませんので注意しましょう。
Google Search Consoleにあるアドレスの変更を利用する
Google Search Console(旧ウェブマスターツール)にある「アドレスの変更」ツールを上記リダイレクトと同時に使う事でGoogleにサイト移転をスムーズに伝えることができます。
Google社員のJohn Mueller氏も薦める方法なので、是非取り入れておきたいところです。
まとめ
ドメイン変更は少し時間に余裕を持って行わないと、完全にインデックスの移行が終わりません。
ドメインの契約期間間近での移行や、サーバーから無料で提供されるサブドメインなどの利用で、サーバー解約時などのケースではかなり短い期間しかありませんので注意が必要です。
どうしても旧ドメインが保持できない場合にはサーチコンソールからドメインの変更を促すなどの対策が必須いなってきます。
今日も知識欲は止まらない。