Home > MovableType | WordPress > MovableType 4.23 から WordPress 2.7 へ移行しました

MovableType 4.23 から WordPress 2.7 へ移行しました

  • Posted at 2009/01/05 14:44
  • Categories: MovableType, WordPress
  • Tags: ,
  • hatena button
  • hatena count

当ブログをMovableTypeからWordPressに変更しました。

まえまえからWordPressへ移行したいと思っていたのですが、なかなか踏ん切り?がつかずにいたのですが、以下のエントリーを見て決意しました。

ネタフルさんが書かれているように、影響力のあるブロガーさんがWordPressへ移行したというのはでかいですね(^^;)

私もWordPressに移行する理由として、

  • MT 4.xにバージョンアップしたけれども、CMS的な要素が大きくなり、アプリケーション自体が重い。
  • MTの再構築がとにかくめんどくさい!
  • WordPressには再構築がない!!
  • 世界No.1のシェアだけあって、プラグインなどのカスタマイズなどが豊富。
  • 等々

それでは、このブログでの作業ログを載せてみたいと思います。

基本的には、IDEA*IDEAさんの記事を参考にさせてもらったのですが、うちの環境とはちょっと違ったので、いろいろ試行錯誤しました。

いちをこの記事は、MovableType 4.23-jaとWordPress 2.7のバージョンを前提に書いております。

で、いきなり問題が発生しました。

MTの時のパーマリンクの形式は、以下のような感じ。

/archives/2007/12/20/1211.php

つまりは、「年/月/日/時分.php」という形になっていたのです。

ところが、WordPressのパーマリンクは、パーマリンクとして、

/archives/%year%/%monthnum%/%day%/%hour%%minute%.php

という形はダメみたいなのです。

これは移行に当たって致命的な問題・・・・

ということで、「パーマリンクを変更せずに」という理想的な形は捨て。。。パーマリンクは.htaccessでリダイレクトすることにしました。

ということで、MTでまずリダイレクト用のテンプレートを作成しました。WordPressのパーマリンクの設定としては、

/%year%/%monthnum%/%postname%

としました。で、いかがMTでのインデックステンプレート。

<mt :Entries lastn="99999">
Redirect permanent /ElectricBrain/archives/< $MTEntryDate format="%Y/%m/%d/%H%M"$>.php < $mt:BlogURL$>< $MTEntryDate format="%Y/%m"$>/< $MTEntryBasename$></mt>

これで出力されたファイルをWordPressのルートディレクトリの.htaccessに書き込みます。

次にデータの移行ですが、MovableType管理画面の[ツール]>[エクスポート]でエントリーをテキストファイルに書き出します。それをWordPressでインポートするのですが、ここで問題が。MTでエクスポートしたファイルにはエントリータグはあるが、インポートするとタグが反映されない。また、そのままインポートすると、WordPressの%postname%がそのままブログのタイトルになってしまう。

これを解決するために、WordPressのインポートスクリプトである、[(WP)/wp-admin/import/mt.php]に以下のように追加しました。

270行目あたり

//tags import
if( $post->tags)
wp_add_post_tags($post_id, $post->tags);

408行目あたり

} else if ( 0 === strpos($line, "TAGS:") ) {
$tags = trim( substr($line, strlen("TAGS:")) );
$tags= preg_replace("|\n*-----|s", '',$tags);
if ( '' != $tags )
$post->tags = $tags;

413行目あたり

} else if ( 0 === strpos($line, "BASENAME:") ) {
$post_name = trim( substr($line, strlen("BASENAME:")) );
if ( '' != $post_name )
$post->post_name = $post_name;

これで、エントリータグがインポートで反映され、さらに、MTでエクスポートしたBASENAMEがWordPressの%postname%に反映されます。

ただ、今回私の場合はパーマリンクを変更すると言うことなので意識はしていないですが、MTでentry-basenameを使用していた場合、BASENAMEでアンダーバー「_」を使用していた場合、実際のURLはアンダーバー「_」ではなくハイフン「-」になってしまっていますので、その辺はちょっと考慮が必要かもしれませんね。。。その辺省略してすみません(^^;)

これでエントリーデータの移行は済みましたので、画像ファイル等の移行です。

基本的にMT4移行は、画像ファイル等は、「(アーカイブパス)/assets_c」に入っています。なので、それらをWordPressの「wp-content/uploads」に移動します。このままではアクセスできなくなってしまいますので、ここも.htaccessに以下を記述します。

RewriteRule archives/(.*\.(jpg|jpeg|png|gif|php))$ wp-content/uploads/old_img/$1 [L]

つまりは、画像ファイル等で/archives/**/*.jpg等でアクセスしたものを、/wp-content/uploads/old_img/**/*.jpgにリライトするわけです。

これで何とか移行はできましたが。。。やはりフィードのURLは変わってしまいました。

が、当ブログではfeedburnerを使用していたので、feedburner側の取得フィードをアドレスを変えるだけで済みました(^^;)

う〜ん、他にもなんか特別なことをやったような気もしますが、忘れてしまいました。

この記事を参考にして、これ足りないよという情報がありましたらコメントください。

導入したプラグイン等はまた後日エントリーします(^^;)

こちらの記事もあわせてどうぞ!

関連書籍

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://www.multiburst.net/ElectricBrain/2009/01/movabletype-to-wordpress/trackback
Listed below are links to weblogs that reference
MovableType 4.23 から WordPress 2.7 へ移行しました from ElectricBrain Standard
pingback from WordPressに移行しました。 | ウダ2 Blog 09-08-02 (日) 4:47

[...] ググってみるとMovableType 4.23 から WordPress 2.7 へ移行しましたって記事に解決法が書いてあった。 [...]

Home > MovableType | WordPress > MovableType 4.23 から WordPress 2.7 へ移行しました

2010年カレンダー















Sponsored Link
今読んでいる本
RSS はてブ人気エントリー
楽天AD
楽ワード
Hatena Bookmark

この日記のはてなブックマーク数

feedburner

あわせて読みたい
Blogpolis
feedmeter

フィードメーター - ElectronicBrain is eating BreakFast

Trackword
Trackfeed

track feed ElectricBrain Standard

Return to page top