はてなブログ→WordPress移転でcanonical使って検索順位維持に成功

はてなブログからWordPressへの移転についての基本的な知識。

ここにたどり着いた方は、一通り調べ済みだと思います。

サーバーが必要とか、WordPress導入方法とか、基本的な移転方法とか。

301リダイレクトができないとか、canonicalがなぜ必要かとか。

なので、そのあたりの説明はすべて省きます。

移転後も検索順位を維持させる方法に絞って説明します。

なお、この方法は僕が上手くいっただけです。

あなたも上手くいくことを保証するものではありません。

そのあたりはご了解を。

この方法の最終目標

以下の通りです。

  1. はてなブログ無料版のブログ「old-blog.hatenablog.com」から
  2. 独自ドメインのWordPressブログ「new-blog.com」に移転後
  3. old-blog.hatenablog.com/entry/kiji-name が検索結果から消え
  4. new-blog.com/kiji-name が検索結果に表示され
  5. 検索順位がほぼ維持される

旧ブログの各記事ページが、検索結果に表示されなくなる。

代わりに新ブログが、完全とは言わないがほぼ同じ順位で表示される。

これが目標です。

で、僕は以下のやり方で成功しました。

基本的な考え方

素人です~

最初に言っておきますが、僕はWEBやSEOの専門家ではありません。

趣味でブログを書いてる、ただの年寄りです。ジジイです。

ですので正直に白状しますが、専門的なことは分かりません。

素人考えでやってます。その前提でよろしく。

グーグル様は優秀

基本的な考え方は「グーグル様は優秀」です。

下手な人間よりよほど賢い。

だから、移転したことを必死に伝えたら、必ず分かってくれるはず。

伝え方が下手っぴな分は、きっとグーグル様が補って理解してくれる。

だから、あらゆる方法で移転したことをグーグル様に伝えよう。

「グーグル様の優秀さを信じて、あらゆる方法で伝える」

ではどのように伝えたのか、以下に説明します。

グーグルに移転を伝える方法

記事のURLを同じにする

移転の前後で一つ一つの記事のURLが次のようになるようにします。

  • 旧ブログ:http://old-blog.hatenablog.com/entry/kiji-name
  • 新ブログ:http://new-blog.com/kiji-name

kiji-nameの部分は、例えば japan-us-diplomacy のようにします。

その理由ですが。

はてなブログの標準設定では、URLは以下のようになります。

  • http://old-blog.hatenablog.com/entry/2017/02/14/123456

ですが、これでは移転後のWordPressでのパーマリンクの修正が大変です。

(下記記事の「パーマリンクの修正」の項を参照)

こんにちはー。縄跳びパフォーマーの粕尾将一(@macchan8130)です。 自分はこれまでずっと「はてなブロ&

また、URLに記事の内容を含ませたほうがSEO的に有利という意見があります。

それで、はてなブログで記事を書くときは、カスタムURLにしておきました。

そして、WordPressに移転する際に、そのURLをそのまま使いました。

entry/ を省いたのは、無意味な階層を作るのはSEO的に不利と思ったからです。

根拠はありませんが、Google的な考え方だと不要だと思います。

Search Console に両方とも登録する

山田さんが自分のアカウントで、旧ブログをSearch Consoleに登録していた。

その山田さんが同じアカウントで新ブログを登録した。

2つのブログの内容はまったく同じだった。

その後、旧ブログは新しい記事の更新が止まった。

逆に新ブログでは新しい記事の更新が始まった。

しかも(後述する)canonicalで新ブログが正規だと伝えてきた。

あぁ、そうか。旧ブログから新ブログに移転したんだな。

グーグル様は賢いので、きっとこのように理解してくれると思います。

根拠はスズメの爪の先ほどもありません。

でもきっとそうだと思うので、両方とも登録します。

Google Analytics に両方とも登録する

同じ理由です。

なお、登録する際に、ちょっと一工夫しました。

Google Analytics で「ブログ名」というアカウントを作ります。

そして、「ブログ名」アカウント下の同じプロパティに、両方を登録しました。

  • ほげほげブログ
    • 旧・ほげほげブログ
    • 新・ほげほげブログ

こういう構造にして、グーグル様に一緒なんです!とアピールしました。

これが効果があるのかどうか、ぶっちゃけ分かりません。

でも、あらゆる方法で伝えるのが方針ですので。やるだけやります。

はてなブログの全記事に canonical タグを入れる

ここでは3つのことを同時にやります。

  • 閲覧者にブログが移転したことを告知する
  • canonicalタグを入れる
  • 新ブログに移動する

そのために、旧ブログの全記事に下記を入れます。

  1. <p>新しいブログに移転しました!</p>
  2. <p>5秒後に新ブロブに移動します。</p>
  3. <p><a href=”新ブログ記事のURL”>記事名</a></p>
  4. <script type=”text/javascript”>
  5. var doc = document;
  6. var head = doc.getElementsByTagName(“head”)[0];
  7. var meta = doc.createElement(“link”);
  8. meta.setAttribute(“rel”,”canonical”);
  9. meta.setAttribute(“href”,”新ブログ記事のURL”);
  10. head.appendChild(meta);
  11. </script>
  12. <script type=”text/javascript”>
  13. setTimeout(“redirect()”, 5000);
  14. function redirect(){
  15. location.href=’新ブログ記事のURL’;
  16. }
  17. </script>

はてなブログの各記事で、編集画面の「HTML編集」タブを開きます。

そして、一番上に上記を貼り付けます。注意点は、

  • 3,9,15行目の「新ブログ記事のURL」はフルパスで記入する
  • 2行目の秒数を変えるときは、13行目の5000を変える

下記の記事を参考にしました。

はてなブログは、サイト全体のmetaタグ設定はできますが、記事毎にmetaタグ等ヘッダ操作をする事はできません。 しかし、SEO目的で特定の記事をnoindex化したりcanonical指定でページを移動の移動をgoogleクローラーに通知した場合があります。

ただ、僕の方法ではheadのcanonicalを書き換えることはできませんでした。

はてなブログは記事を書くと自動的にcanonicalタグが生成されます。

上記の記事はこのhead内のcanonicalタグを書き換える方法です。

でも僕のやり方では書き換えられませんでした。

恐らく、「// <![CDATA[」ってのがHTML内に発生するのが原因です。

それを解決する方法が、僕は見つけられませんでした。

ただ結果から言うと、グーグル様には伝わったように思います。

サイトマップを送る

次に、新ブログのサイトマップをSearch Consoleに送ります。

僕は下記のプラグインを使いました。

This plugin will improve SEO by helping search enginess better index your site using sitemaps.

記事更新をすぐに伝えるために、下記も使っています。

あなたのブログが更新されたときに世界に伝える良い方法。

はてなブログの記事を残す

旧ブログは削除したほうが良いと思いますよね?

ただ上述の通り、僕はグーグル様に伝えて理解してもらうことが基本です。

「新ブログと旧ブログが同じです!」

こう伝えたのに、旧ブログの記事が見当たらない。

これでは同じとグーグル様が判断できないんじゃないかと?

(もちろんキャッシュは残ってるのですが。)

なので僕は旧ブログを残しました。

これが良いのか悪いのか、ご自身でご判断ください。

その結果、どうなったか?

以上、6つのことをやりました。

で、どうなったか?です。

新サイト記事の登録が進む

サイトマップをアップした翌日から、記事で登録が進みました。

Search Consoleのサイトマップでインデックスされるという意味です。

毎日、少しずつ登録されていきました。

新サイトへの置き換わりが進む

上記と同ペースで置き換わりが進みました。

ここでの「置き換わり」という言葉の意味は、

  1. 記事名でグーグル検索したときに、
  2. old-blog.hatenablog.com/entry/kiji-name ではなく、
  3. new-blog.com/kiji-name が検索結果に表示される

ことです。

それまでは旧ブログが検索結果に表示されていた。

それが、インデックスされるにつれて、新ブログが表示されるようになる。

グーグル内で置き換えが行われた。

canonicalの正規化と同じことが起こった、と理解しています。

旧ブログへの流入が急減

サイトマップをアップして4日目からです。

はてなブログへの流入(閲覧数)が急減しました。

極端にガクッと落ちました。

新ブログへの流入が急増

合わせて新ブログへの流入が急増しました。

旧ブログへの流入は検索からがほぼすべてでした。

なので、検索結果の置き換えが進んだことが理由だと思います。

検索結果が旧から新へ置き換えられる。

その結果、旧への流入が減り、新への流入が増えたのでしょう。

置き換え完了

検索結果の旧から新への置き換えは、1週間でほぼ完了しました。

1週間で旧のほぼすべての記事が検索結果に表示されなくなった。

その代わりに、新が表示されるようになったということです。

検索順位

すべての記事については調べていません。

ですが、旧から新への置き換えで、順位はほぼ変わっていません。

閲覧数の変化

ブログトータルの閲覧数は、新ブログになって増えました。

移転から1週間の時点で、すでに旧よりも増えています。

ただ、新ブログにしてから記事を増やしたためかもしれません。

リンクジュース

僕ははてなでブログを開設してから、1ヶ月半でWordPressに移転しました。

旧ブログにはリンクジュースと言えるほどのリンクは付いていないはずです。

ですので、リンクジュースが引き継がれたかは分かりません。

全体として

移転の前後を比較して、こうなりました。

  • すべての記事で新ブログへの置き換えが行われた
  • 検索結果はすべて新ブログで表示されている
  • 検索順位も大きく変わっていない
  • トータルで閲覧数が増えている

以上より、全体として成功だと判断しています。

問題点

ただし、問題点もあります。

トップページの置き換えに時間がかかった

canonicalタグの処理がトップページはできません。

はてなブログを使ってる方は分かると思いますが。

記事ページの編集はできるけど、トップページの編集はできないからです。

はてなブログでheadにcanonicalを入れることもできます。

ですがそれでは、すべての記事ページに同じcanonicalが入ってしまう。

なので、トップページにcanonicalを入れることはできないのです。

このため、トップページの置き換えには1週間ちょっとかかりました。

ただし、新のトップ登録と同時に、検索順位は新の方が上になりました。

トップからトップへの移動ができない

上記と同じ理由なのですが。

旧トップから新トップへのredirectを埋め込むことができません。

なので、旧ブログのトップを開いても、新ブログのトップへは移動しません。

トップページ最下部に表示されている記事へ移動になります。

置き換えがされれば、別に問題はないのですが。

どれが有効で無効なのか不明

6つの方法でグーグル様に移転を伝えました。

どれが伝わったのか、ぶっちゃけ分かりません。笑

トータルとして伝わったからOKなんですけどね。

まぁ、大目に見てください。素人のジジイですから。

最後に

繰り返しになりますが、この方法が正しいのか分かりません。

僕は上手く行きましたが、結果オーライだけかもしれません。

もっと良い方法が見つかった方は、ぜひご自身のブログで紹介してください。

みんな試行錯誤し、技術や知恵を引き継ぎ、より良い方法を探し広める。

これがネット空間の素晴らしいところだからです。

なお、最初に書いた通り僕は専門家でもないまったくの素人です。

このページに書いたこと以外は分かりません。

ですので、ご質問等には一切お答えできませんので、ご了承ください。

コメントに書かれてもスルーしますのでよろしく。

みなさんのブログ移転が上手くいきますように!

シェアする