Movable Type から WordPress へ移行しました

Movable Type 2.6661 から WordPress 3.0.4 へ移行しました。役に立つかわかりませんが、移行メモ。

段取り

  1. ドメインWordPress をインストールする。
  2. Movable Type からエントリデータをテキスト形式でエクスポートする。
  3. WordPress にデータをインポートする。
  4. mod_rewrite の設定をする。
  5. ドメインWordPress の方に切り替える。

Export 前の下準備 (Movable Type)

エントリの ID 込みで移行したかったので、Movable Type のファイルに細工をします。
$MT/App/CMS.pm の 2980 行目あたり、export 関数に下記を追記します。

ID: <$MTEntryID$>

これでエントリ ID が出力されるようになります。

Import 前の下準備 (WordPress)

WordPress の管理画面から Movable Type のファイルをインポートしようとすると、Movable Type and TypePad Importer プラグインをインストールするように促されますので、そのままインストールします。

エントリの ID 込みで移行するため、WordPress の上記プラグインにも細工をします。
$WORDPRESS/wp-content/plugins/movabletype-importer/movabletype-importer.php の 394 行目に下記を追記します。

} else if ( 0 === strpos($line, 'ID:') ) {
  $import_id = trim( strtolower( substr($line, strlen('ID:')) ) );
  $post->import_id = $import_id;

mod_rewrite の設定

移行後は各エントリの URL が変わってしまうので、mod_rewrite で新 URL に転送します。合わせて RSS の URL も転送します。

RewriteEngine on
RewriteRule ^index.rdf$ http://blog.kaihatsubu.com/?feed=rss2 [R=301,L]
RewriteRule ^archives/0+([^0]\d*)\.html$ /?p=$1 [R=301,L]