AD:
MovableType 5.2で構築されたブログのデータをWordpress 4にインポートする作業を最近行いましたが、その際にいろいろと面倒だったので、メモを公開させていただきます。
はじめは、MovableTypeのエクスポート機能とWordpressのMTのインポートプラグインを使ってやったところ、文字化けやカテゴリがまったくうまくいきませんでした。
他にもいろいろと手はあると思ったのですが、最終的にMovableTypeのデータベース(Mysql)からCSV作成して、それをWordpressのCSV用のインポートのプラグインを使ってインポートで解決させました。
WordPressのプラグイン
WordPressにCSVのインポート用に下記のプラグインを使用しました。
WP Ultimate CSV Importer Plugin
WP Ultimate CSV Importer Pluginを使って、まず既存のWordpressの記事からCSVのサンプルをエクスポートしました。
それをさらにインポートして試してみました。すると最低限のフィールドがわかったので、下記のフィールドでCSVを作成しました。
MovableTypeのデータベースからWP Ultimate CSV Importer用のCSVを作成
上記のフィールドを元に、下記のSQLを作成して、CSVをエクスポートしました。
|
SELECT entry_id AS wp_ID, entry_created_on AS wp_post_date, CASE entry_category_id WHEN NULL THEN 'publish' ELSE 'publish' END AS wp_post_status, entry_title AS wp_post_title, REPLACE(entry_text, CHAR(10), '<br>') AS wp_post_content, entry_basename AS wp_post_name, CASE entry_category_id WHEN NULL THEN 'ayumi' ELSE 'ayumi' END AS wp_post_author, mc.category_description AS tx_category FROM mt_entry AS me LEFT JOIN mt_placement AS mp ON me.entry_id = mp.placement_entry_id LEFT JOIN mt_category AS mc ON mc.category_id = mp.placement_category_id WHERE entry_atom_id LIKE '%column%' ORDER BY entry_id DESC INTO OUTFILE '/tmp/mt.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; |
WP Ultimate CSV Importerは、CSVにヘッダーがないとうまくいかないので、下記のヘッダーを追加してやる
|
id,date,status,titile,contents,base,user,category |
インポート
下記の用に管理画面からインポートとどのフィールドにマッチさせるかを選択して、無事インポートができました。
Tips
- パーマリンク設定は、/%year%/%monthnum%/%postname%/に変更
- MTで内部に使用している画像は同じディレクトリ構成で、WPサイトに設置
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 2 | Pocket: 2 | Total: 4 | Feedly: 0