ドメイン変更によるWebサイト移転
これまでドメインを取得していなかったけど、独自ドメインを取得してみたいといった人もいると思います。
本ページでは、ドメインを変更する時の手順を説明します。また、事例を交えて検索順位にどのように影響するのか、移転後の留意点なども説明しています。
2とおりのWebサイト移転方法
ドメインを変更するWebサイトの移転方法は、大きく分けて以下の2とおりあります。
- .htaccessで301リダイレクトを利用する方法
- rel="canonical"属性を使う方法
301リダイレクトは、ページが移転したことを示します。このため、すべてのページが移転したことをリダイレクトで示せば、サイト全体を移転することができます。
301リダイレクトを利用した場合、検索結果が古いドメインで表示されて古いサーバー側にアクセスがあっても、すぐに新ドメイン側に転送されます。

rel="canonical"属性は、似たページがある時に代表となるページを示す時に使います。代表となるページを指定すると、検索された時にそのページが表示される可能性が非常に大きくなります。このため、すべてのページで移転先のページをcanonical指定するとサイト全体の移転になります。
canonical自体は、あくまで代表ページを指定するだけです。例えば、同じ製品の色違いのページがある場合、代表的な1ページを検索結果の上位に表示したい時に使います。このため、ページの移転を示さないので、検索結果が古いドメインで表示されて古いサーバー側にアクセスがあっても、canonical設定だけでは新ドメイン側に転送されません。

本来の意味から、ドメインを変更する場合は301リダイレクトを利用してサイト移転する必要があります。ただし、.htaccessが使えないサーバーの場合は、rel="canonical"属性を使って移転する必要があります。
マルチドメイン
通常、ドメインを変更する場合はレンタルサーバーも移行すると思いますが、サーバーを変えない時は注意が必要です。
2つのドメインを使えるマルチドメインを、レンタルサーバーでサポートしている必要があります。
マルチドメインをサポートしていれば、旧ドメインはこのディレクトリ、新ドメインはこのディレクトリなど、ドメイン毎にアクセス先を変えることができます。

最近のレンタルサーバーではサポートしていると思いますが、念のため確認が必要です。
.htaccessの301リダイレクトを利用したサイト移転方法
.htaccessは、アクセスに来た人達をどのように扱うか記述するファイルです。
メモ帳などで以下のように記載し、.htaccessというファイル名で保存します。その後、旧ドメインで使っているサーバーのトップページと同じディレクトリにアップロードします。太字のexample.com部分は、自身のドメイン名に合わせて修正してください。
Redirect permanent / https://example.com/
太字が移転先のドメインを示します。これで、サイトのトップページとサブディレクトリ含めて、すべてのページがexample.comに移転したことを示します。また、検索結果が古いドメインで表示されて訪れた人も、新規ドメイン側に転送されます。
rel="canonical"属性を利用したサイト移転方法
canonicalは、内容がほとんど同じページでないと無視される可能性があります。同じ製品の色違いで説明したように、似たページが複数あると検索順位が分散されて上位表示されないことを防ぐ設定のためです。
canonicalは、HTMLファイルのhead要素に以下を追加します。
<link rel="canonical" href="https://example.com/page.html"/>
<meta http-equiv="refresh" content="10; url=https://example.com/page.html">
設定の2行目はcanonical指定ではありませんが、旧ドメインが表示された時に10秒すると新ドメインに転送する設定です。赤字の部分は、転送するまでの時間(秒)を示します。
太字は新ドメインのURLを記述しますが、トップページ以外は各ページごとにファイル名まで指定する必要があります。つまり、すべてのページで新ドメインの移転先のページをそれぞれ指定する必要があります。

移転する前に全ページをコピーして、canonical設定があるファイルとないファイルを作成します。それぞれは、以下のようにアップロードします。
- cannonical設定があるファイル
- 旧ドメインで使っているサーバー、またはディレクトリ
- cannonical設定がないファイル
- 新ドメインで使うサーバー、またはディレクトリ
サイト移転手順
ドメイン変更によるサイトの移転手順は、以下のとおりです。
- ドメインを取得する
- 最初に、新ドメインの取得が必要です。取得する会社が決まっていない場合は、「格安ドメインサービス比較」を参考にしてください。
- サーバーをレンタルする
- サーバーも移行する場合は、移行先のサーバーのレンタルが必要です。決まっていない場合は、「格安レンタルサーバー比較」を参考にしてください。
- サイトでアナウンスする
- リダイレクトして驚かれないためと、ブックマークやリンクの変更をしてもらえるように、新旧ドメインのトップページにサイトの移転をお知らせする内容をHTMLファイルに追加します。
- サーバーでドメインを設定する
- 通常、レンタルサーバー側では管理するドメインの設定が必要です。このため、新しくレンタルしたサーバーで新ドメインを設定します。サーバーを変えずにマルチドメインを利用する場合は、新ドメインで使うディレクトリを設定すると、新ドメインでアクセスが来た時に、設定したディレクトリのファイルを参照するように応答します。
- ドメインを管理する側で関連付けを変更する
- ドメインを管理する会社の管理画面で、レンタルサーバーのDNSサーバーを設定します。この設定により、ドメインはサーバーのIPアドレスと関連付けられることになり、URLを入力してWebサイトに接続されます。詳細は、レンタルサーバーの移行方法をご参照ください。
- 新サーバーにファイルをアップロードする
- 新規にレンタルしたサーバーに、canonical設定していないHTMLファイルをアップロードします。サーバーを移行しない場合は、新規のディレクトリにアップロードします。
- 旧サーバーにファイルをアップロードする
- サーバーを移行する場合は、旧サーバーにcanonical設定しているHTMLファイルをアップロードします。サーバーを移行しない場合は、既存のディレクトリにアップロードします。また、.htaccessを利用する場合は旧サーバー、または既存のディレクトリに.htaccessファイルをアップロードします。
- Google Search Consoleに新ドメインを登録する
- Google Search Consoleに新ドメインを登録します。これでクローラーが新ドメインを認識するようになります。詳細は、Google・Yahoo検索エンジンへの登録方法をご参照ください。
上記手順により、Googleなどのクローラーは旧ドメインを参照して、.htaccessによる301リダイレクトやcanonical設定があることを認識し、新ドメイン側を優先表示するようになります。
.htaccessもcanonical指定も、旧ドメイン側だけで行う点に留意してください。
なお、HTMLファイルの中で旧ドメイン名を利用してリンクしている場合、新サーバーにアップロードするファイルはこのリンクも新ドメインに書き換える必要があります。
サイト移転事例
私が、プロバイダーの無料サービスであるジオシティーズから、新規に独自ドメインを取得してサーバーも移行した時の事例を参考に記載します。
ジオシティーズでは.htaccessが利用できなかったため、canonical設定により移行しました。その際、転送時間は0秒にしました。content="0 url=〜〜"です。
移転を終わった後の推移は、以下のとおりです。なお、サイトのページ数は全体で130ページくらいでした。
- 4日目
- トップページが、新ドメインで表示されるようになりました。Googleで1位だったキーワードは2位、3位だったキーワードは4位など、若干順位を落としました。また、旧ドメイン/index.htmlがすぐ下に表示されており、/と/index.htmlを異なるURLと認識して表示されているようでした。2割程度アクセス数が減りました。
- 5日目
- Googleで1位だったキーワードは1位、3位だったキーワードは3位など、トップページの順位はかなり戻りました。また、多くのページが新ドメインで表示されるようになりました。ちなみに、Bingでは検索してもすべて旧ドメインで表示されていました。
- 6日目
- Googleでは、かなりのページが新ドメインで表示されるようになりました。なお、サイト移転後、ページ追加は控えていました。ページを追加すると既存のページにも変更が発生(新ページへのリンクなど)しますが、canonical設定はほとんど同じページでないと無視される可能性があり、念のためです。
- 13日目
- Googleでは、30ページが旧ドメインで表示されていました。ちなみに、Googleの検索でsite:旧ドメインURLと入力することで、旧ドメインがどの位表示されるか確認できます。canonical設定が認識されるにつれて、表示されなくなります。なお、Bingではトップページが新ドメインでも旧ドメインでも検索されない状態になっていました。
- 17日目
- Googleでは、19ページが旧ドメインで表示されていました。この頃にドメイン変更後、最初のページ追加を行いました。
- 21日目
- 2割程度アクセス数が減っていましたが、かなり元に戻りました。まだ、14ページが旧ドメインで表示されていました。
- 26日目
- アクセス数は完全に元に戻りました。まだ、9ページが旧ドメインで表示されていました。Bingで消えていたトップページが、再び旧ドメインで表示されるようになりました。
- 30日目
- まだ、3ページが旧ドメインで表示されていました。Bingではまだ旧ドメインですが、トップページのキャッシュ情報を見ると6ヶ月前になっていました。
- 35日目
- すべてのページが、新ドメインで検索されるようになりました。Bingは、まだ旧ドメインでした。
- 45日目
- Bingで、トップページなど数ページが新ドメインで検索されるようになりました。その後、徐々に他のページも新ドメインで検索されるようになりました。
ページ数やクロールの頻度によって違うと思いますが、上記ではGoogleで新ドメインが反映されるまでは約1ヶ月くらいかかりました。また、Bingは反映が遅く、数か月かかっています。
検索順位やアクセス数については、上手く行けばそれ程気にしなくて大丈夫そうです。
留意点
サイトを移転した後、旧ドメイン名やサーバーのファイルはそのまま残しておく必要があります。
これは、検索エンジンがサイトの移転を認識するまで、数か月などかかる場合があるためです。旧ドメイン側のサーバーがなくなると、検索エンジンがサイト移転を認識できず、これまでの順位を失ってしまいます。
また、外部サイトからリンクされていた場合、旧ドメイン側に接続されます。このため、旧ドメインを停止していると、アクセスされません。
無料の場合は特に問題ないと思いますが、ドメインやサーバーが有料の場合、永遠に残しておくことは難しいとは言え、できるだけ長く使える状態にしておいた方が良いと言えます。