アクセス数を増やした301リダイレクトによるサイト移転のやり方

ドメインやサーバーを変えたいと思っても、サイトを移転するとアクセス数が減ってしまうと心配している方もいるでしょう。この記事では、私がアクセス数を落とすことなくサイト移転を成功させたやり方を紹介します。

目次

サイトの移転が必要になるケース

サイトを長く運営していると、サイトの移転が必要になるケースがあります。

具体例として、実際に私が経験したことがあるものを紹介します。

  • 現在使っているレンタルサーバーが遅いので、別のサーバーに変えたい
  • 現在使っている無料ブログサービスが使いにくいので、別の無料ブログに変えたい
  • 無料ブログを止めて、レンタルサーバーと独自ドメインでブログを運営したい
  • ドメインが気に入らないので、ドメインを変えたい
  • 常時SSLの対応をしたい(サイト全体をhttpからhttpsに変えること)
  • HTMLで作った静的なサイトをWordPressに変更したい

サイトの移転は面倒で、失敗すればアクセス数が減る危険性もあります。

その一方で、移転が成功すれば、サイトの更新が簡単になったり、サイトのデザインが良くなったり、検索エンジンからの評価が高まったりと、様々なメリットを得られる可能性があります。

サイト移転に失敗するとアクセス数は減る

間違ったやり方でサイトを移転すると、アクセス数は減少する危険性があります。

検索エンジンがサイトを評価する際は、「被リンク」が重要といわれています。被リンクとは、外部のサイトから自分のサイトに張られているリンク(aタグ)を意味します。

ブログの記事を書くときをイメージしてほしいのですが、参考になるサイトやサービスを引用したり、紹介したりするときに、外部のサイトへリンクを掲載すると思います。つまり、被リンクを多く集めているサイトはそれだけ有益と推測されるので、検索エンジンからの評価が上がるのです。

この被リンクはドメインに紐づきます。ドメインの変更を伴うサイトの移転をすれば、被リンクによるSEOの効果(ページランク)は失われてしまいます。そうすれば検索エンジンからの評価が下がって順位が下落し、アクセス数は減るかもしれません。

また、ブックマークやSNSの過去の投稿からの流入は、古いサイトへのリンクになったままなので、訪問者が移転したことに気がつかない可能性もあります。

301リダイレクトとは

アクセス数が減る危険性について説明しましたが、それはやり方を間違った場合であって心配することはありません。

サイト移転をするための方法はいくつかありますが、Googleが推奨している「301リダイレクト」という方法を使えば、ページランクの損失なく、移転が可能です。

301リダイレクトについて知らない方がいると思うので、簡単に説明します。

まず、「リダイレクト」とは、自動的に別のWebページへ転送させることです。例えば、「https://test.com/aaa」のページにアクセスすると、「https://test.com/bbb」のページが表示されるイメージです。

ログインが必要な会員制のサイトで一定時間が経過すると、認証が切れて強制的にログイン画面が表示されると思います。これにもリダイレクトの技術が使われています。

次に、「301」というのはHTTPのステータスコードを表しています。

私たちが普段ブラウザからサイトのリンクをクリックすると、「ページを表示してください」という要求(HTTPのリクエスト)がWebサーバーに送られます。すると、Webサーバーからはページの情報と共に、HTTPのステータスコードという3桁の数字を返します。

有名なものでは、問題なくページが表示されるときは「200」というステータスコードが返され、ページが見つからないときは「404」が返されます。そして、「301」というステータスコードは、要求したページが恒久的に(永久に)移転したことを意味しています。

つまり、301リダイレクトとは、ページが恒久的に移転したことを伝えながらリダイレクトする処理になります。

普通に私たちがパソコンやスマホからアクセスしたときに「301」のステータスコードが返ってきても気がつきませんが、Webページの情報を収集しているGoogleのクローラは別です。Googleのクローラがページにアクセスしたときに301リダイレクトを設定しておくと、ページが恒久的に移転したことを認識できるので、SEOの評価を新しいページに引き継いでくれます。

補足

301リダイレクトを設定するには、「.htaccess」というファイルをサーバーに作成して、その中に処理を記述する必要があります。そのため、無料のブログサービスのように、.htaccessファイルの作成や編集ができない場合には、301リダイレクトできません。

また、301リダイレクトはApacheというサーバーのmod_rewriteモジュールを使うので、これを利用できないレンタルサーバーでは301リダイレクトできません。ただし、私が調べた限りでは、ロリポップ、エックスサーバー、さくらレンタルサーバーは現時点で対応していました。

実際に私が行ったサイト移転のやり方

ここまでサイト移転の概要を説明してきましたが、ここからは私がサイト移転をするために行った手順を紹介します。

HTMLの静的なサイトをWordPressにリニューアルしました。ドメインやURLの構造が変わるサイト移転のため、比較的面倒な処理になります。

なお、Googleのヘルプページもあわせて参考にしてください。

1. 良質な被リンクの多いページを調査

常時SSLの対応やドメインのみの変更であれば、一括して簡単にリダイレクトできます。しかし、今回のサイトではドメインやURLの構造が変わるため、移転元のページが移転先のどのページに移転したのか、一対一でリダイレクトさせる必要がありました。

本来であれば全てのページをリダイレクトさせるのが良いですが、サイトの規模が大きかったため、優先度の高いページのみリダイレクトさせる判断をしました。

優先度の高さを決める基準は、被リンクの多いページです。なぜなら、このページをリダイレクトさせないのは、SEO的に大きなマイナスになるからです。

Google Search Consoleにおける被リンクの多いページの調査

被リンクの多いページは「Google Search Console」を使うと簡単に分かります。上の図のように、「リンク」メニューを開くと、被リンクの数が多いページから順に表示され、「詳細」をクリックすれば被リンクのあるページが全て表示されます。

CSVでダウンロードすることもできるので、数が多い場合にはダウンロードしてエクセルなどに取り込むと良いでしょう。

厳密には、単に被リンクの数が多いだけでは不十分です。例えば、機械的に作られたようなスパムサイトから大量のリンクをもらっても意味はありません。ある程度、どのサイトからリンクをもらっているのか一つずつ確認して、良質な被リンクの数が多いページの優先度が高いです。

さらに、被リンクはどのサイトからもらっているかも重要です。自分のサイトと似たジャンルのサイトや、権威のあるサイトなど、価値の高いドメインからの被リンクが多ければ、それは重要なページです。

2. リダイレクトさせるページのリストを作成

被リンクがないからといって、残りは全て重要ではないとは限りません。その代表的なページとしては、トップページがあります。

仮に被リンクがなくても、ブックマークやSNS経由の流入があるかもしれませんし、アクセス数が多いページは検索結果が新しいサイトに入れ替わるまでは、リダイレクトさせた方が親切でしょう。

そのため、アクセス解析を見たり、サイト内を目視で確認して、リダイレクトさせた方が良い価値の高そうなページを洗い出します。

「1. 良質な被リンクの多いページを調査」で分かった被リンクの多いページと、被リンクがないけれど重要なページを洗い出したら、エクセルなどでリストを作成します。

リダイレクトさせるページのリスト

上の図は説明するためのサンプルですが、このリストにあるページは基本的に一対一で新しいサイトのページにリダイレクトさせます。カテゴリページやファイルなども忘れずにリストに加えましょう。

私の場合には、イベントの告知で使うPDFのチラシが被リンクを受けているケースが多くありました。

3. リダイレクトのマッピングを作成

リダイレクトさせるページのリストができたら、次はどのページにリダイレクトさせるのかマッピングを作成します。

移転元URLに対応する移転先URLを一つずつ入力していきます。なお、関連性の低いリダイレクトは推奨されていないため、移転先に似たページがないからといってトップページにリダイレクトさせることは止めましょう。

被リンクの数が多いページは移転先のサイトにも用意するのがおすすめですが、情報が古いなどを理由に削除することもあるでしょう。そういったときは、移転先URLを空欄にしておきます。

4. .htaccessファイルの作成

リダイレクトのマッピングをもとに、リダイレクトの処理を記述した.htaccessファイルを作成します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^移転元URLの相対パス 移転先URLの絶対パス [R=301,L]
</IfModule>

上記が301リダイレクトを行う設定の一例です。RewriteRuleのところにマッピングの1行を記述します。R=301の部分がHTTPのステータスコードです。

メモ帳などを開いてリダイレクトの処理を記述したら、ファイル名を「.htaccess」にして保存します。

.htaccessのリダイレクト

今回の例の場合は上のような.htaccessファイルになります。ファイルの最後は空行を入れておくとエラーが少なくなるようです。

RewriteRuleは上から順番に処理が行われます。どれにも該当しないときのために、全てのアクセスに該当する一番下のRewriteRuleを追加しています。これによって、リダイレクトさせるページのリストに含まれないアクセスでも、全て移転先にリダイレクトできます。

RewriteRuleの意味としては「$1」は「(.*)」の値で置換されます。例えば、トップページの場合は「http://sample.com/」から「https://new.com/」にリダイレクトされます。また、削除したり価値が低かったりして一対一でリダイレクトさせなかったURLは、「http://sample.com/bbb.html」から「https://new.com/bbb.html」のようにリダイレクトされ、最終的には移転先の404ページが表示されます。

補足

なお、「3. リダイレクトのマッピングを作成」の手順をエクセルでしておけば、以下のような関数を使ってRewriteRuleを機械的に生成できます。

例えば、C3セルに移転元URL、D3セルに移転先URLがある場合、上の関数でRewriteRuleを生成できます。この関数をドラッグして他のRewriteRuleも生成して、後はまとめて.htaccessファイルに貼り付ければ完了です。

5. 移転先のサイトを用意

リダイレクトするためには、移転先のサイトが構築されていることが前提です。私の場合は、リダイレクトの設定をする前は、移転先のサイトにBasic認証をかけておきました。

Basic認証は、ユーザ名とパスワードを入力して認証した人だけがサイトのページを閲覧できる仕組みです。これにより、誰かが移転先のサイトにアクセスしたり、Googleのクローラから移転元のサイトのコピーサイト(重複コンテンツ)と勘違いされることを防げます。

WordPressであればBasic認証を簡単に設定できます。

WP BASIC Auth

例えば、かなり古いプラグインで少し心配ですが、「WP BASIC Auth」というプラグインは有効化するだけでBasic認証がかかります。WordPressにログインするユーザ名とパスワードを入力すれば、サイトを閲覧できるようになります。

6. .htaccessファイルのアップロード

.htaccessファイルと移転先のサイトの両方が完成したら、いよいよ.htaccessファイルを移転元のサイトにアップロードします。事前に移転先のBasic認証は解除しておきます。

アップロードが完了した段階で、移転元のサイトに対するアクセスは全て移転先のサイトへリダイレクトされます。まだテスト前で不安定な状態なので、私の場合は移転先のトップページにお知らせとして、サイトが移転したこと、テストリリース中で不具合が発生する可能性があることを通知していました。

7. リダイレクトのテスト

リダイレクトが正しく行われているかテストを行い、失敗があれば原因を探して修正をします。「3. リダイレクトのマッピングを作成」の手順で作成したマッピングをベースに、事前にテストケースを作成しておくと良いでしょう。

301リダイレクトのテスト

私はブラウザのアドレスバーに一つずつURLを入力してテストを行いました。その他に、「wwwありでも移転先のwwwなしにリダイレクトされる」「URLの直打ちではなく、リンクをクリックしたときもリダイレクトされる」といった特殊な事例もテストしました。

また、ブラウザの開発者ツールを使って、301や404のステータスコードが返っていることも確認しました。

8. 管理下にあるリンクの修正

リダイレクトされるとはいっても、管理下にあって修正できるリンクに対しては、移転先のアドレスに変更しておくと良いです。ツイッターやファイスブックなどSNSのアカウントに登録してあるサイトリンクも忘れずに変えておきましょう。

また、私の場合は印刷物などにもアドレスが記載されていたので、それらも更新するようにお願いしていました。

9. ツールの更新

ドメインが変わったので、各種ツールの更新を行います。例えば、Google Search Consoleの再登録やGoogleアナリティクスのウェブサイトのURLを変更しましょう。

10. Googleに移転の通知

Googleにサイトが移転したことを伝えて、なるべく早く検索結果を更新してもらうための処理を行います。Googleがサイトの移転を認識できなければ、検索結果には古いアドレスが残ったままだからです。

Google Search Consoleの「アドレス変更ツール」を使用します。

アドレス変更ツール

移転元のサイトのGoogle Search Consoleにおいて「設定」⇒「アドレス変更」と進み、アドレス変更ツールを表示します。「新しいサイトを選択」で移転先のサイトを選択すれば完了です。

なお、アドレス変更ツールを使用するためには、301リダイレクトが設定されていること、移転元のサイトと移転先のサイトの両方がGoogle Search Consoleに登録されていることが条件になります。

また、忘れずにサイトマップを作成して、Google Search Consoleに登録します。私の場合は、移転元のサイトのトップページくらいは「URL検査ツール」を使ってクロールの依頼を出しました。

11. 問題がないか監視

移転がとりあえず終わった後も、問題が発生していないか継続して監視します。新しいサイトが検索結果に登録されているか(インデックスされているか)、アクセス数が大幅に下落していないか、リダイレクトが想定通り機能しているかなど、確認しましょう。

私の場合は、毎日アクセス解析を眺めて、404エラーが何度も発生しているページに関しては、移転先に似たようなページや役立つページがないか探して、場合によってはそのページを.htaccessファイルに追加してリダイレクトさせていました。

アクセス数に関しては、私の場合は全く下落しませんでした。それどころか、移転した直後の月から移転前のアクセス数を超えており、それ以降も右肩上がりで大幅に増えています。これは、サイト移転したこと自体が良かったのではなく、サイトのリニューアルによって価値が上がったことが理由にあると思います。

補足

別のサイトで常時SSLの対応をしたときは、アクセス数が減ったケースもありました。ただし、数ヶ月で元の水準に戻りました。

リダイレクトさせる期間については、ずっとリダイレクトさせるのが推奨されているため、私の場合は検索結果が新しいサイトに入れ替わった後もずっとリダイレクトさせています。

まとめ

この記事では、ドメインの変更を伴うサイト移転の方法を紹介しました。上手くやれば、アクセス数を落とさずに移転することが可能です。

ただし、サイトの移転はとても面倒で、失敗するリスクもあります。なるべくやらなくて済むようにするのが良いでしょう。

例えば、無料ブログを選ぶと、将来的にレンタルサーバーやWordPressを使いたくなるかもしれません。そういった方は、最初から無料ブログを選ばない方がサイト移転をしなくて済みます。

しかし、常時SSLなど時代の変化と共にサイトの移転を強いられるケースもあります。どうしてもサイト移転をしなくてはいけなくなったら、この記事の内容を参考にしてみてください。

コメント(現在、質問は受け付けていません)

コメントする

CAPTCHA


目次
閉じる