2018年2月15日

Blogger への引っ越しは一筋縄ではいかなかった

ブログの移転作業なんて基本はエクスポートしてインポートすればいいだけでしょ、なーんて思っていた自分が甘かったです。

喉元過ぎて熱さを忘れないように、どこでどうハマったかを記録する記事を残します。

まず、Seesaaの全過去記事をMovable Type形式でエクスポート。これは簡単でした。
Bloggerへのインポートにはxml形式のファイルが必要なので、MTからxmlへの変換ツールを使わせてもらいました。

しかしxmlファイルをBloggerでインポートしようとすると、なぜかうまくいきません。「ブログの投稿を書き込み中」と表示したまま、何時間も処理が終わりません。おかしいと思ってキャンセルすると、一つもインポートされていませんでした。

ファイルサイズ(3MB弱)が大きすぎたのかと思い、元のMTファイルを年ごとに分割。2017年以降の記事をインポートすると成功。ただ、記事の日付が全部インポートした日付になっているのは問題あり。ググると、Blogger独自形式の日付に変換しておかないと過去の日付にはならない事が判明。そのための変換ツールを使わせてもらいました。
GAE/J とか、JavaScript とか、Blogger の仕様のこととか。プログラム関連の備忘録です。
programming.kuribo.info

ツールを適用する順番は、
MTファイル→(日付変換ツール)→(MTからxmlへの変換ツール)→ xmlファイル
になります。

変換後のxmlファイルを見てみると、ところどころ文字化けしています。どうやらxmlへの変換時に全角の左括弧「(」が??に化けてしまうみたいです。テキストエディターで一括置換を使って修正。

新しいほうから順番にインポートしていくと、なぜか2015年の記事がインポートできません。最初と同じく、「ブログの投稿を書き込み中」で処理が止まります。先に2014年の記事をインポートしてみるとできたので、2015年のxmlファイルに何らかの問題があるようです。現在その問題が何かを調べています。

過去記事を完全に移転するには少し時間がかかりそうです。

1 件のコメント:

  1. 初めまして。私も移行頑張っています。
    もしかしたらご存知かもしれませんが、MTからxmlへの変換ツールはコメントに全角文字が入っていると影響を受けるようです。

    変換ツールのソースを解析すると、コメントを「49バイト」で切り取る処理があります。
    49バイト目が全角文字だと、文字が半分に両断されて文字化け状態になります。
    これが起きるとインポートがエラーで止まるという挙動をしているようです。

    2015年が動かない原因はそれだったりしないでしょうか?

    別の原因であるかもしれませんが、もし参考になれば幸いです。

    返信削除