SEO対策 検索順位を下げずにホームページを移転する

googleの評価を出来るだけ下げずに旧サイトから新サイトへホームページを移転する手順を検証して纏めてみました。

【移転前の状況】
新旧サーバーで変更されるのはドメイン部分のみで、ドメイン配下のURLは変わらない。
例: 旧: https://example.net ⇒ 新:https://example.com

無料サーバーでホームページを運用している場合も、トラッキングコードやhtaccessの設置が出来る場合は同様の対処法で移転が可能です。(FC2など)

1.新旧両サイトで下準備

まずは移転前の下準備をします。
新旧両サイトの<head>~</head>タグ内に以下の2つを追記しておきます。

①google アナリティクスのトラッキングコードを記述する
新旧同じトラッキングコードを記述するようにします。旧サイトで利用していたコードをそのまま利用するのがお勧めです。
ついつい別々のコードを設定してしまいがちですが、引き継ぐという考え方で同じコードにする事が推奨されているようです。

②rel="canonical" リンクタグを記述する
googleでは類似もしくは重複しているURLが存在する場合に、検索エンジンでの評価が下がる傾向があります。
自動収集型スパムサイトであったり、パクリ記事を検索結果から排除する事で利便性向上を狙っているようです。
サイトを移転した場合下手したら全く同じコンテンツがWeb上に存在することになってしまいます。
その場合に、rel="canonical" リンクタグを使って正規のURLは新サイトの方ですという事を教えてあげて、googleの評価を下げないようにする狙いがあります。これはgoogleでも推奨されています。

<link rel="canonical" href="https://example.com/">

2.新サイトを公開する

新サイトのソースをサーバーへアップロードします。
次に、新サイトのドメインを公開します。(DNS設定)
この時点では検索しても出てきませんので、URL手打ちですべてのページが正しく見えることを確認しておきます。

3.旧サイトで301リダイレクト設定

301リダイレクト設定はスムーズな移転には必要不可欠です。
利用者を自動的に旧サイトから新サイトへ転送してくれます。
また、301ステータスはgoogle側に旧サイトが新サイトへ恒久的に移転した事を伝える役目も持っています。

下記内容の.htaccessファイルを作成してルートディレクトリに配置します。
【例】旧サイト:example.net 新サイト:example.com として

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(example.net)(:80)? [NC]
RewriteRule ^(.*) https://example.com/$1 [R=301,L]

このサンプルはApacheのmod_Rewriteを利用してドメインの書き換えを行っているだけの為、ルートディレクトリ(ドメイン名)配下のURLが新旧サイトで同じである必要があります。

※Windows利用者の場合、ドットから始まるファイルは下記エラーが出て作成できません。

その場合、一旦ドット無しのファイル htaccess として保存しておき、FTPソフトでアップロード後に名前を .htaccess に変更しましょう。

4.Google Search Console でサイトの移転登録をする

Search Consoleにログインしてサイトのアドレス変更(移転登録)をします。
注意点としては、新旧両方のサイトの所有者アカウントでログインすることです。権限がフルというだけではアドレス変更はできません。

設定は旧サイトのダッシュボードに入ってから行います。
まず、右上の歯車アイコンから「アドレス変更」を選びます。

次に1~3の工程を順番に設定&確認ボタンを押して、最後に4のリクエスト送信で完了です。

「アドレス変更」で {"isError":true} エラーが出て先に進めない場合の対処法

3番の確認方法がまだ残っていることを確認するエラーを解決 で未確認となり、analyticsやhtmlファイルのアップロードで確認を実行すると {"isError":true} という表示だけのエラー画面に飛ばされてどうにもならなくなるケースがあります。

その場合、analytics のトラッキングコードが新旧両方のサイトで全く同じものが利用されているか確認してください。
同じものが利用されているのにエラーが出る場合はanalyticsに再度ログインしてトラッキングコードを再取得してトラッキングコードの再設定をしてください。
その際、トラッキングコードの設置場所などはgoogle側の指示に正確に従うようにしましょう。

5.Google Search Console でインデックスのリクエストを送信

googleに検索されるように新サイトのインデックスをリクエストしておきます。

Search Consoleにログインして[クロール]⇒[Fetch as Google]で設定します。

すべてのURLをやる必要はありません。リクエストの時に「この URL と直接リンクをクロールする」を選択しておけば、googleはサイト内のリンク先もインデックスしてくれます。

6.サイトマップを送信

Search Consoleにログインして[クロール]⇒[サイトマップ]で設定します。

サイトマップを登録する場合、新サイトの内容だけにしてしまいがちですが、googleでは移転先に新旧両方のサイトマップを送信することを推奨しています。

ここまでやったら後は暫く様子を見て、旧サイトのアクセスが減っていくことを確認します。
旧サイトが独自ドメインだった場合は、直ぐに解約せずに1年位は寝かせておく事をお勧めします。
可能であれば保持し続けて悪用されないようにした方が良いです。