少しでもSEOに詳しい方だとご存知だとは思いますが、WebサイトのドメインやURLを移転・変更させる際には、旧URLから新URLへ恒久的な301リダイレクトを設定し続けることがベスト・プラクティスとなります。
一般的な有料サーバーに構築されているサイトのドメイン変更でしたら.htaccessの編集やphp・cgiなどを編集して301リダイレクトを設定することができます。
しかし、レンタルブログや無料のホームページスペースからの移転では、301リダイレクトが行えないことは少なくありません。といいますか、301リダイレクトが使えないことのほうが多いと思っても差し支えありません。
今回は301リダレイクとが使えない環境でアクセスを極力減らさず(むしろアクセスを増やしながら)移転を成功させた事例を紹介いたします。
なお、結論から先に申し上げますが、移転と最適化を同時に行ったことにより、アクセスを減らすどころか、現在では倍以上のアクセス数を稼ぎ出すようになりました。
10年以上にも渡って更新し続けたサイトの移転を成功させる
現在、Webサイトを公開する際に独自ドメイン+安価で高性能な有料サーバーの組み合わせで利用することは定番となっています。
しかし、ほんの15年くらい前までは、独自ドメインを使っている人はまだまだ少数でした。
それなりの規模の企業でしたら独自ドメインが当たり前でしたが、小さなお店や、民宿といった規模のサイトでは、GeoCitiesのような無料のWebスペースや、各プロバイダやCATV会社が提供しているレンタルホームページスペースを利用することは珍しくありませんでした。
今回私が移転のお手伝いをしたお客様は、DION(現au one net)の提供するWebスペースに、FrontPage Expressで作ったコンテンツを公開されていました。(最近ではホームページ・ビルダーを使われていたそうです)
しかし、プロバイダのサービスとして提供されていたホームページスペースのサービスが終了されることになりました。
au one netホームページ公開代理サービス提供終了について
今回のお客様は10年にも渡ってコンテンツを追加されていらっしゃいました。その記事およそ800記事です。
Webサイトからのお問い合わせがなくなってしまうと、商売を続けて行くことが困難になるとのことで、今回のサイト移転のご依頼がありました。
今回のミッション
- 全Webページをdionのサーバーから独自ドメインのレンタルサーバに移行
- 常時SSL化
- WordPress化
- 内部SEO構造(リンク構造)の変更
- 301リダイレクト相当の代替案でサイトが移転したことをGoogleに気付いてもらう
今回はdionのサーバーから、新たに取得した独自ドメインへと移転させることになりました。
どうせ新しいドメインで1から始めるのですから、常時SSL化(https)にすることになりました。
サーバーは、常時SSLが無料で利用できるX Serverです。(常時SSL化についての作業内容は今回の記事では触れません。今後、常時SSL化の記事を公開した際にこちらからもリンクを張ります。)
今回のお客様は、他にもいくつかWebサイトを運営されていて、このサイト以外はWordPressを用いて構築されていました。
せっかくの移転なので、どうせなら移転先は静的htmlからWordPressに変更することとなりました。
ドメインが変わらない際のhtml→WordPressの移転方法につきましては、htmlで作られたサイトを順位を落とさずにWordPressに変更するの記事をご覧ください。
全Webページをdionのサーバーから独自ドメインのレンタルサーバに移行
旧Webページのタイトル要素、URL、コンテンツ内容をそのまま、新サイトのWordPressの記事として投稿していきます。
URL例
旧:http://◯◯.dion.ne.jp/oldsite/service/
↓
新:https://newsite.com/service/
今回はドメインが変わりますので、必ずしもURLの規則を同じにする必要はないのですが、シンプルで理解しやすくミスがでにくくなります。
また、後述しますが、最終的にサイト移転の転送処理を行う際のファイルを自動で吐き出させるために同じファイル名にしています。
内部SEO構造(リンク構造)の変更
内部リンク構造やマークアップなどの最適化を行いました。
正直、かなり致命的なミスもありましたので、ドメイン移転によるアクセス低下(順位低下)よりも、内部構造の最適化で増えるアクセスのほうが多いのではないか?という期待ももっていました。
トップページに一律でリダイレクトを掛けてはいけない
サイト移転のベスト・プラクティスは301リダイレクトです。
今回、au one netはリダイレクト機能が用意されていました。
しかし、この移転方法は罠です。
移転時には301リダイレクトを用いることがベストプラクティスですが、旧ページから対応する新ページに移動する必要があります。
良い例
旧1:http://◯◯.dion.ne.jp/oldsite/service/
旧2::http://◯◯.dion.ne.jp/oldsite/access/
旧3::http://◯◯.dion.ne.jp/oldsite/price/
↓
新1:https://example.com/service/
新2:https://example.com/access/
新3:https://example.com/price/
今回au one netが用意した最悪な移転方法
旧1:http://◯◯.dion.ne.jp/oldsite/service/
旧2::http://◯◯.dion.ne.jp/oldsite/access/
旧3::http://◯◯.dion.ne.jp/oldsite/price/
↓
新1・2・3:https://example.com(全てトップページに飛ばす)
極力コストを減らすために、上記のような最悪な仕様にしたのだと思います。
一律トップページに飛ばすのではなく、URLごとに対応するページへ飛ばす仕組みも、実装するのはさほど難しいとは思いませんし、構築コストはさほど変わらないと思います。
しかし、一般ユーザーが行う作業が少しややこしくなった分、問い合わせなどの電話対応のコストが増すことになりますから、極力シンプルな移転方法を用意したのでしょう。
ただし、全てトップページにリダイレクトさせる方法がダメな方法ということは、少しでもSEOに詳しい人でしたら誰でも知っていることだと思いますし、このようなサービスを提供する側の人だと当然知っているはずです。
知っていてなお、この方法しか用意してくれていないのは、少し残念に感じました。
同じグループ企業内では積極的にWeb系のセミナーなどにも登壇されているCPIやJimdoといったサービスがあるのですから、ここは手を抜いてほしくなかったなと個人的には感じます。
301リダイレクト以外の移転方法は何がある?
今回の環境では.htaccessもcgiもphpも使えないので、301,302リダイレクトは使えません。
他の方法を検討する必要があります。
- <head>セクションの編集が可能
- <link rel=”canonical”>
- meta refresh
- <head>セクションの編集は不可能だがJavaScriptは使える
- <head>セクションの編集も不可能で、JavaScriptも使えない
headセクションの編集が可能
今回は通常のレンタルホームページスペースでしたので、自由にhtmlファイルを修正することが可能です。
htmlファイルが修正できるということは、各ページの<head>セクションも編集可能ですので、<link rel=”canonical”>の正規化と、meta refreshの転送を利用することが可能です。
参考:<link rel=”canonical”>(カノニカルタグ)の使い方
昔は301リダイレクトが使えない場合の代替案としてmeta refreshを用いる移転が使われていましたが、正しく運用すれば、canonicalが最も301リダイレクトに近い使い勝手だと思います。
canonicalの正規化とmeta refreshの自動遷移を組み合わせれば、使い勝手も、ページ移転を知らせるシグナルとしても301リダレイクトに最も近いものになると思います。
headセクションの編集が不可能だがJavaScriptが使える
無料のレンタルブログなどで、<head>セクションの編集は不可能だが、JavaScriptが使える場合、meta refreshの代替案としてJavaScriptを使うことになります。
canonicalの正規化が併用できないため、移転を知らせるシグナルとしては弱くなりますが、なにもやらないよりはマシというところでしょうか。
headセクションの編集も不可能で、JavaScriptも使えない
<head>セクションの編集も、JavaScriptの使用も許可されていない場合、やれることは文字列で移転を伝えることです。
これは人間に伝わるだけでしょ?と思われる方もいらっしゃるかもしれませんが、Googleは文字列とリンクだけの移転でもしっかり認識することが多いです。(誤認識をして関係ないページが自分のページに移転されたことになったり、もう廃止されましたがToolBarPageRank偽装ができたりしていました)
文字列で移転を伝える方法
当ページは<a href=”https://example.com/access/”>こちら</a>に移転しました。
何を移転のシグナルとしているか、想像の域を出ませんが、
- 少ないテキスト量
- 移転という文字列
- 対応すると思われるページへのリンク
これらが組み合わさった時に移転のシグナルとして利用しているように感じます。
今回は複数の移転方法を組み合わせてやってみた
長々と説明しましたが、今回私が行った移転方法は、meta refresh と canonicalタグと、文字列での移転を組み合わせたものです。
ソースのご紹介
<html>
<head>
<meta http-equiv=”refresh” content=”5;URL=https://example.com/access/”>
<link rel=”canonical” href=”https://example.com/access/”>
<title>当ページは移転しました</title>
</head>
<body>当ページは<a href=”https://example.com/access/”>こちら</a>に移転しました。</br>5秒後に強制的に移動します。 </br>大変お手数ですが、ブックマーク、リンク先の変更をお願い致します。</br></body>
</html>
こんな感じの記述にしました。
- meta refreshによる移転シグナル
- canonicalタグによる正規化
- 文字列とリンクによる移転シグナル
今回、meta refreshの飛ぶまでの時間は5秒に設定しています。別に10秒でも問題ないでしょう。
その昔、meta refreshを0秒は301相当。それ以外は302として扱われるという噂がありましたが、canonicalの正規化を優先させたいため、0ではなくあえて1秒以上(今回は5秒)にしています。
作業内容
上記のお手本のソースを書いたhtmlファイルを旧サイトのhtmlに上書きして完了です。
2〜30ページの小規模のサイトでしたら、手動でも作成可能だと思います。
今回は約800ページもありましたので、800ページもcanonicalやmeta refresh、リンク先の記述の設定をするのは大変ですし、ミスもでますので、移転先のWordPressのデータを使って、対応するURLに対して適切なcanonicalとmeta refreshの飛び先、リンク先の記述を吐き出すphpを作成して一気に生成させました。
このスクリプトは一緒に組んでいる仲間に手伝ってもらって開発したものですので、コードの公開はいたしませんが、プログラムができれば案外簡単に解決するとだけご説明しておきます。半泣きになりながら、800ページ修正する必要はないということです。
移転その後
インデックスステータス
新サイトへのインデックスの追加は比較的早い段階で行われました。
特に問題なく、安定しています。
新URLのインデックスはすぐに反映されましたが、旧サイトのインデックスが削除されるにはかなりの時間が掛かりました。
完全にインデックスがゼロになっていないのは、移転の際にリンク集ページのような不要なページを削除したため、残っているのだと思います。
サイトへのリンク
Googleサーチコンソールのサイトへのリンクでも、旧URLからの中間リンクでしっかりと反映されています。
リンクの張り替え依頼
通常の移転ですと、恒久的にリダイレクト(今回の場合meta refresh や canonicalの正規化)の効果が得られるのですが、今回はau one netがレンタルウェブスペースの提供を終了するという前提のもとでおこなった移転です。
現在行っている設定も、au one netがサービスを止めてしまったら効果を失ってしまいます。
確実にサイトの移転は伝わっているでしょうから、ゼロからのスタートというわけではありませんが、10年以上にも渡って獲得してきたリンクを失ってしまうことになります。
Googleサーチコンソールでリンクを確認し、質のいいリンクに関してはリンク先を変更してもらえるようにお願いしていくことになります。
現在のサイトの状況
移転を成功させ、内部の最適化だけでもアクセス数は旧サイトの時よりも増加いたしました。
その結果に信頼頂き、追加でSEOのコンサルタントサービスもご契約いただき、現在も最適化を行っております。
まだ道半ばですが、移転前と比べ、3倍ほどのアクセス数になっております。
契約期間はまだ残っておりますので、もっともっとアクセス数を増やすお手伝いができれば嬉しく思います。
今回は実際の事例として記事に使っても良いとおっしゃっていただき、非常に感謝しております。
私のサイトは301リダイレクトを全てトップページに飛ばされていました。
最悪な移転方法だったのですね…
そんな最悪な移転方法で1週間が経ち、
サブドメインが検索結果から消え始めています。
一方、独自ドメインは登録されていますが検索上位にはありません。
この場合だと、Googleはサイトの評価をリセットしてから再び見ることになるのでしょうか…
とても参考になりました。
ただ私の場合は元のサーバーが、会社消滅のためなくなりました。
その場合、301リダイレクトに変わるような方法はないものでしょうか?