ファンブログからWordPressにデータを完全移行するスクリプトを書きました。
サンプルとして、WordPress側のテンプレートは完全デフォルトのまま、移行したこのブログの記事を次のサイトで公開しています。(入っているのはこの記事のひとつ前の記事までです。)
http://idobata.cocorodesign.net/escape/
適切な設定だけすれば、自動で以下の事をやってくれます。ダウンロード中に接続が切られると、自動で再接続して再開します。
- ファンブログのサーバーから「下書き」を含む、すべての記事のダウンロード
- 投稿されたすべての「コメント」データのダウンロード
- 投稿されたすべての「トラックバック」データのダウンロード
- ファンブログのサーバーから記事で使っていないものを含む、すべての画像ファイルのダウンロード
追記:現在はコメントとトラックバックの取得数はゼロになり、取得されません。それは、ファンブログのサーバーが公開していない結果なので、正常な動作です。
また、WordPress側の新しいブログにアップロードする際、次の事も自動で行います。
- 記事で使っているすべての内部リンクのURLをWordPressにアップした新しいURLに書き変え
- 記事で使っているすべての画像ファイルのURLをWordPressにアップした新しい画像URLに書き変え
ただし、内部リンクへ対応する代わりにWordPressのパーマリンク設定を「数字ベース」または「デフォルト」にする必要があります。
書き変えるのは内部リンクだけです。http://fanblogs.jp/自分のURL/を含むリンクは、すべて自動で書き変えますが、下のように本文中に書いてあるURLは書き変えません。
このブログの、旧URLは、http://fanblogs.jp/ayzfqir5/です。
ファンブログの独自タグには対応していません。ご了承ください。(追記:対応しました)
ファンブログのエディタの注意点
ファンブログのサーバーから「下書き」を含む、すべての記事のダウンロードで取得するのは次の項目です。
- ページ番号(http://fanblogs.jp/hoge/archive/xxx/0 の xxx の数字)
- タイトル
- カテゴリー名
- 投稿年月日時間
- 記事本文
- 記事追記部分
- 記事の概要
- 公開/下書きの区分
投稿されたすべての「コメント」データのダウンロードで取得するのは次の項目です。
- コメントが投稿された記事のページ番号
- 投稿年月日時間
- 投稿者名
- 投稿者のURL
- 投稿者のメールアドレス
- コメントの発信元IPアドレス
- コメント本文
投稿されたすべての「トラックバック」データのダウンロードで取得するのは次の項目です。
- トラックバックが投稿された記事のページ番号
- 投稿年月日時間
- トラックバックされた、相手の記事のタイトル
- 投稿されたトラックバックのURL
- 投稿されたトラックバックのブログ名
- 投稿されたトラックバックの発信元IPアドレス
- トラックバック本文
詳細は「ファンブログからWordPressへすべてのデータを移動する手順」をご覧ください。
その他の移行方法
このスクリプトはWordPressに移行するためのものですが、他の方法がこちらで公開されています。
「ドメイン以下のURLを完全に保持しながら無料ブログから移転する方法・予告」
どちらの方法も一長一短ありますが、比較をするとこうなります。
このページのスクリプト
- スクリプトを動かす環境構築が難しい
- その代わり、スクリプトが動きさえすれば、割とスムーズに移行できる。
- リンクの張替え全自動
- WordPressに変換後、MT形式に再変換すれば
FC2やlivedoorブログなど、大部分のブログに移行可能
(独自ドメインがいらない)
MT形式がターゲットなら、下の追記の方法の方が手間は少ないです
ドメイン以下のURLを完全に保持しながら無料ブログから移転する方法
- 導入が比較的簡単
- リンクの張替えは、別作業で必要
- 同じルックスが維持できる(ヘッダ画像などの著作権には注意すること)
- 独自ドメインが必要
導入が比較的簡単と書きましたが、このページのスクリプトに比べてです。どちらを使うにしても、「とても簡単」というわけにはいきませんので、ご了承ください。
追記:MT(MovableType)形式への移行方法
- 「ファンブログから引越しする方法」(ファンブログハック)
- 「ファンブログをさくらのブログ・Seesaaに移転する方法」(技術のタマゴ)
という方法もあるようです。タイトルでは、さくらのブログ・Seesaaブログとだけ書いてありますが、どちらの記事もMT形式すべてに対応できそうです。