FC2からMTへの移転に際しての覚書 このエントリーをはてなブックマークに追加 FC2からMTへの移転に際しての覚書

FC2でやっていた、ヒナギク様をみてるっ!?タカヒナの乱雑日記からの移転の時にあれこれやったことを簡単にメモ。
合ってるかどうかは知らないけど、私はこういう風にした。

まず、FC2でデータのバックアップとして記事のエクスポートと画像をローカルに落とします。
画像はレンタルサーバーにインストールしたMTで構築したブログの、自分が決めた場所にアップロードするだけです。
でも、過去ログのインポートはそういうわけにはいきません。

FC2ブログでは、改行は「そのまま反映させる」で記事を書いてました。
おそらくHTMLタグ打ちして改行させていたら違ったのでしょうけど。

今回インポートしたFC2ブログのログは、
・文字コードがeuc
・改行はLF
・FC2ブログで書いていた頃は、改行は自動改行(そのまま反映させる)という設定だった
上記の条件で話を進めます。

MTにインポートするには、このままでは文字化けしてしまう。
なので、文字コードを変更する必要がある。

・文字コードをeucからUTF-8へ
・改行はLF

文字コードと改行は、上記のように設定。

次にFC2のときとは当然画像の場所が変わるので、新しい画像のURLに正規表現で変更。手作業でやると面倒だし、
FC2はファイルのアップロードの場所が勝手に変わることがあるので、特定のURLで置換作業をするわけにはいかない。
例えば
・http://blog-imgs-41.fc2.com/a/b/c/xxx/xxxx.jpg
・http://blog-imgs-25.fc2.com/a/b/c/xxx/xxxx.jpg
といったことがあります。同じブログでファイルをアップしてるのに、アップされるサーバーが異なるんです。
私は秀丸で正規表現を使ったので、

・http://blog-imgs-[1-9]+.fc2.com/a/b/c/xxx/

と記述して新しいURL(例:http://hoge/image/)に置換。
こうすることで、
・http://blog-imgs-41.fc2.com/a/b/c/xxx/xxxx.jpg →http://hoge/image/xxx.jpg
・http://blog-imgs-25.fc2.com/a/b/c/xxx/xxxx.jpg →http://hoge/image/xxx.jpg
と変更できます。

また、ランキング絡みのidの変換もあります。最初はランキングバナーとかも取り除こうと考えたのですが、あまりにもヒドイ状況だったの全部を取り除くのはほぼ不可能に......。なので、idも旧idから新規idに置換処理。

これでログをMTにインポートすると、改行が反映されない。
かなり記事が崩れてしまいます。
おそらくMTにインポートしたときに、改行がそのまま反映される設定にはなっていないからです。
MTの記事編集画面で、「改行を変換」に設定して、保存し直せば改行は反映されるので、記事のレイアウトは戻ります。
しかし、1000件、2000件に対してやるにはあまりにも手間。
どうにか簡単にできるはずだと、MT側で改行を変換させる設定にして適当な記事を作成して、そのログをエクスポート。
FC2とMTではログの形式は変わらないので比較。
その結果。

FC2:CONVERT BREAKS: default
MT(改行を変換する設定):CONVERT BREAKS: 1

上記のように異なることがわかりました。
なので、FC2側のログを

CONVERT BREAKS: default → CONVERT BREAKS: 1

に置換。ヒナみての方はすべてのログを一つのファイルとしてエクスポートしたので置換は簡単でしたが、
乱雑日記はカテゴリー毎にエクスポートしたので、ファイルは複数。一つ一つやるのは面倒。
秀丸の「grepして置換」の機能を使って、フォルダ内のログファイルを一括変換。

これによって、FC2からのログが
・文字コード:UTF-8
・改行:LF
・画像URL、ランキングidを新しいものへ。
・CONVERT BREAKS: default → CONVERT BREAKS: 1
と変更されました。
これでインポートすることで、無事にFC2のときと同じ記事レイアウトでMTでも表示されるようになりました。

ホントは記事内で参照してる自分のブログの記事へのURLも張り替えたかったんですが、それは手間だし、旧ブログも残してあるのでそのままです。

また、FC2で管理人だけが閲覧可にされていたコメントは、今の私のMTの設定だと公開されます。ご注意ください。

余談
FC2のログをエクスポートして、他のFC2ブログへインポートしようとしたことがあります。
どうも、ある程度大きいログサイズになるとインポート作業中にタイムアウトしてしまうみたいでした。
たぶん記事数が800以上の場合?
なので、記事数が多い方はログのエクスポートの際に、年ごと、月ごと、カテゴリー毎など、エクスポートされる記事数が少なくなる方法を取った方がいいかも?と思いました