はてなブログから引越し後のはてなブログのリダイレクト設定方法

はてなブログからWordPressへの引越しを完了したこのサイトですが、最後にはてなブログからWordPressへ転送させる設定を終えて全ての引越しが完了します。

JavaScriptを使って転送させる

はてなブログでは.htaccessファイルが編集できないので、301リダイレクトという機能が利用できません。

そこでJavaScriptを使って新しいサイトに転送させます。

 

はてなブログの「デザイン設定」ー「スパナマーク」ー「記事」に進みます。

転送させるコード

記事上に次のコードを追記します。

こんな感じです。

記事上
<p><b>移転しました。</b></p>
<p><b>約3秒後に自動的にリダイレクトします。</b></p>
<script type="text/javascript" language="javascript">
<!--
 // 新urlの作成
  var domain = "https://www.haneda-airport-server.com"; // 新ドメイン
  var path = location.pathname;
  var url = domain + path; 

 // リンクhtmlの書き出し
  document.write("<a href=\"" + url + "\">" + url + "</a></p>");

 // リダイレクト
  setTimeout("redirect()", 3000); // 3 sec
  function redirect(){
    location.href = url; 
  }
 
  // canonical の書き換え
  var link = document.getElementsByTagName("link")[0];
  link.href = url;
-->
</script>

変更するのは新しい転送先のURLのみで大丈夫です。

転送までの時間を変更したい場合は3000の値を変更していください。

canonical を新しいURLに書き換えさせて完了です。

設定後の表示

先程のソースコードを入力して設定して記事を見てみると、タイトルの下に

記事は移転しました。

約3秒後に自動的にリダイレクトします。

と追記されます。

その後約3秒後に指定した新しいURLのページに転送されます。

リダイレクトの動き

ちなみにこのサイトでは移転前に2種類のURLを使用していました。

パターン1:http://独自ドメイン/entry/2017/11/03/123456

パターン2:http://独自ドメイン/entry/指定したURL

そしてWordPressに移行した際に

パターン1:https://独自ドメイン/entry/20171103123456

パターン2:https://独自ドメイン/entry/指定したURL

に変更しています。その為

http://はてなドメイン/entry/2017/11/03/123456

というリクエストは今回のリダイレクト設定で

https://独自ドメイン/entry/2017/11/03/123456

へ転送し、さらにWordPressのサーバーのリダイレクト設定で

https://独自ドメイン/entry/20171103123456

に転送されて表示されます。

なぜURLからスラッシュ無くしたかなどは以下の記事をご覧ください。

はてなブログからWordPressに移行後にブログカードが表示されない問題への対応

これではてなブログからWordPressい移行した際にはてなブログ側で行う作業は終了です。

Search Console側でリダイレクトの設定が読み取れていれば問題ありません。

あとはアクセスがほぼなくなった時期を見てすべての記事を下書きに戻すなどすれば完了です。

はてなブログのアクセス解析

このサイトの場合、独自ドメインをそのまま移行して見る側には極力エラーが出ないように移行したつもりです。

そのためはてなブログ側のアクセスは気持ちよく減少しましたw

これがはてなドメインで運営している場合は、リダイレクトの設定をうまくやらないと難しいかもしれません。