Nucleus から WordPress へのデータの移行

Nucleus で構築したサイトのWordPress への移行を実験中。一番の難問は、やはりデータのコンパート。

WordPress Japan のフォーラムにもnucleusからwordpressへの移行というトピックがあり、その中で紹介されていた、wp-convert を試してみました。

このスクリプト、ドキュメントらしいドキュメントが同梱のHTML 文書だけなので少し苦労。
とりあえず、WordPress で使用するデータベースを作成し、一度インストール作業を終えてからコンバートを実施してみました。

使用したバージョンは、Nucleus が 3.24、WordPress がME 2.1.3 です。一応現在の最新版になるのかな。

in_start_screen.html に書かれているように、import-nucleus.php をエディタで編集して、データベースへの接続情報を書いてやるようですね。

$DB_source_host		//Nucleus データベースサーバのホスト名
$DB_source_database	//Nucleus で使用しているデータベース名
$DB_source_user		//$DB_source_database へ接続する際のユーザ名
$DB_source_password	//$DB_source_user のパスワード
$DB_dest_host		//WordPress データベースサーバのホスト名
$DB_dest_database	//WordPress で使用しているデータベース名
$DB_dest_user		//$DB_dest_database へ接続する際のユーザ名
$DB_dest_password	//$DB_dest_user のパスワード

以上を適切に編集し、保存した後にimport-nucleus.php へアクセスすると、ウィザードに従ってコンバート作業が行えるようになります。
私の場合はどちらのシステムも文字コードがUTF-8 だったので、文字コードの変換作業などは必要ありませんでしたが、場合によってはその部分も適切に変更する必要があるかも。
最終的になんかSQLエラーが結構出ましたが、記事自体はしっかりとWordPress 側でも取り込まれました。

カテゴリも一応全部コピーされているのですが、WordPress の管理画面のカテゴリ部分では、そのカテゴリに属する記事の件数が0のままで、すわ全部編集し直すの面倒(´・ω・`) と思ったりもしましたが、単に1つの記事を保存し直せば、その部分の数字は適切に戻るようです。

あとは、画像保存のパスなどが一応気を利かせて変換してくれるのですが、相対パスだったり、ルートがwp-content/ 直下で美しくなかったりするので、in_step_2.php の117行目あたりの記述を適当に変更してやる必要がありそうです。