ブログ移行最終章
本日、本当の意味でのブログ移行が完了しました。 以前、ブログを移行しましたというエントリに「完全移行しました」と書いていたのですが、1つだけやり残していたことがありました。
それは旧ブログから新ブログへのリダイレクトです。
本エントリでは、FC2からはてなブログへ自動転送する方法を紹介します。 記事および画像の移行方法についてはこちらをご覧ください。 記事をはてなブログへ、画像をはてなフォトライフへ移行する方法をまとめております。
参考サイト
以下のサイトを参考にしました。ありがとうございます。
- FC2からWordPressに引越でcanonicalとmeta refreshで転送設定
- サイト(ブログ)のお引っ越し(移転)は301リダイレクトを。出来ない場合は、メタリフレッシュ(meta refresh)とrel=”canonical”を!
転送方法
本来は.htaccess
というファイルを使い、301リダイレクトで転送するのが正攻法らしいですが、FC2ブログの無料会員では使用できません。
301リダイレクトが使えない場合は、meta refresh
とrel="canonical"
を利用して転送すると良いそうです。
meta refresh とは
meta refreshとは、HTML文書のheadタグ内に記述できるリダイレクト設定です。ネットサーフィンをしていて「n秒後、自動的にジャンプします」という表記に出会ったことがあれば、たぶんそれです。
rel="canonical" とは
canonicalってなんやねんって話ですよね。 Weblio先生に聞いたところ、「正典の」という意味でした。 要するに、正規のサイトはこちらですよ、ということを表現してくれるそうです。
まとめると、meta refresh
で自動転送、rel="canonical"
でGoogle先生などのクローラへ移転宣言、ということになります。
FC2ブログへ設定
管理ページのテンプレートの設定から上記のタグを埋め込みます。
head
タグの最下層に下記のように埋め込みました。
<head> —— 省略 —— <!-- 移転 --> <!--permanent_area--> <!--topentry--> <link rel="canonical" href="http://necojackarc.hatenablog.com/entry/<%topentry_year>/<%topentry_month>/<%topentry_day>/<%topentry_hour><%topentry_minute><%topentry_second>" /> <meta <!--index_area--><!--/index_area--> http-equiv="refresh" content="5;URL=http://necojackarc.hatenablog.com/entry/<%topentry_year>/<%topentry_month>/<%topentry_day>/<%topentry_hour><%topentry_minute><%topentry_second>" /> <!--/topentry--> <!--/permanent_area--> <!--not_permanent_area--> <link rel="canonical" href="http://necojackarc.hatenablog.com/"/> <meta <!--index_area--><!--/index_area--> http-equiv="refresh" content="5;URL=http://necojackarc.hatenablog.com/" /> <!--/not_permanent_area--> </head>
<!--permanent_area-->
タグで囲まれているところが、各エントリ個別の設定で、<!--not_permanent_area-->
で囲まれているところがそれ以外のトップページなどの設定となります。FC2の独自記法な気がします。
<!--index_area-->
タグはFC2でmeta refresh
を行うためのおまじないみたいなもんです。詳細は調べてません。
転送までの時間については、5秒で設定しておきました。 0秒に設定するとスパム扱いされる危険性があるそうです。
URLについては、はてなブログでの各エントリのURLを/entry/yyyy/MM/dd/HHmmss
となるように設定していたので、
<%topentry_year>
などの変数を使って上記のように記述しております。
<%hoge>
はFC2ブログのテンプレート用変数です。
詳細は公式ヘルプを参照してください。
移転連絡を埋め込み
ここまででリダイレクトの設定は終わりましたが、このままだと突然5秒後にリダイレクトしてしまい、非常に不親切です。
そのため、<div class="entry_body">
内の<%topentry_body>
の直前に、以下の通り記述しました。
<div class="entry_body"> <i><h3>当ブログは『<a href="http://necojackarc.hatenablog.com/entry/<%topentry_year>/<%topentry_month>/<%topentry_day>/<%topentry_hour><%topentry_minute><%topentry_second>"><u>はてなブログ</u><a/>』へ移転しました。</h3> <h3><font color="Red">5秒後、自動的に転送いたします。</font></h3> 自動的に転送されない場合、<a href="http://necojackarc.hatenablog.com/entry/<%topentry_year>/<%topentry_month>/<%topentry_day>/<%topentry_hour><%topentry_minute><%topentry_second>"><u>こちら</u><a/>をクリックしてください。</i> <hr><br> <%topentry_body>
これで全てのエントリのタイトルと本文の間に、「自動的に転送いたします」というメッセージを挿入することができました。 タイポグラフィについてはセンスが問われますね……!汗
これにて転送設定完了!移行完了!
追記: 2015/1/20
即時(0秒)でのmeta refresh
による転送は、301リダイレクトと同等に扱われるという情報がこちらにあったので、採用してみることにしました。
本当に301リダイレクト相当として扱われるのか、はたまたスパム認定されるのかは、神(Google?)のみぞ知る……。