‘movabletype’ タグのついている投稿

mtからwpへの移行

2008 年 11 月 21 日 金曜日

ここ最近、2つのブログをmtからwpへ移行しました。
いろいろと情報を集め、実際に試してみた結果を残しておきます。

まず最初に参考にしたページがここ。
http://apps.tpot.tk/web:wordpress

最初は「全ページを完璧に移行する。パーマリンクもmtとまったく同じにするぞ!」と意気込んでおり、このページを参考に完璧な移行を目指しました。

が、すぐに挫折。

まず、このページで扱っているmtとwpがちょっとバージョン古めみたいで、ソースコードがけっこう違っていました。
それでも頑張ればなんとかなるだろうと思っていろいろ試したんですが、やっぱりソースをガリガリいじるのは正直シンドイです。しかもmtとwp両方となるとなかなか。。

というわけで、100点満点でなく60~80点くらいを目指す方向へとシフトしました。

続いて参考にしたページがこちら。
http://netscrander.com/archives/mt_to_wp.php

mtのテンプレートでWXR(WordPress eXtended RSS)という、WordPressのブログ移行用のデータを作成するというやり方。
なるほど、この発想はなかったです。というかWXRの存在自体を知りませんでした。

さっそく上記のサイトからテンプレートを取得してmtでWXRを出版。テスト環境のwpにデータを取り込んでみましたが、なかなかいい感じ。コメントやトラックバックもしっかり移行できてます。
カテゴリの階層構造が移行できないといった問題もありましたが、数がそんなに多くなかったのでインポート後に手動で再設定しました。

そんな感じでトライアンドエラーを繰り返しつつ、最終的にこのやり方でデータの移行を完了しました。

最後に、これは自分のオリジナルなんですが、mtで出版したHTMLからwpの記事へリダイレクトする方法を紹介します。

まずはmtでWXRを作成する際、こんな感じでmtの記事IDをカスタムフィールドに入れます。


<wp:postmeta>
<wp:meta_key>mt_entry_id</wp:meta_key>
<wp:meta_value><$MTEntryID$></wp:meta_value>
</wp:postmeta>

そしてデータ移行が完了したら、wpのMySQLで以下のSQLを実行します。

SELECT meta_value , ' => ' , post_id , ',' FROM wp_postmeta WHERE meta_key LIKE 'mt_entry_id';

SQLで抽出したデータをこんな風にphpの変数にして、mt_wp_map.phpとか適当な名前を付けてサーバーに保存。


<?php
$mt_wp_map = array(
1234 => 4 ,
1235 => 5 ,
1236 => 6 ,
1237 => 7 ,
1238 => 8 ,
1239 => 9 ,
...
);
?>

そしてmtの記事ページテンプレートを以下のようにします。


<?php
require("/path/to/mt_wp_map.php");
$wp_post_id = $mt_wp_map[<$MTEntryID$>];
if($wp_post_id)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: /path/to/wp/?p=$wp_post_id");
exit;
}
?>

あとはページを再構築すれば全記事ページからwpへリダイレクトされるようになります。

できればカテゴリページや月別アーカイブページもリダイレクトさせたいんですが、面倒なので対応しませんでした。
カテゴリページなどは数が多くなければ手作業でやっちゃったほうが早いかもしれません。

以上でデータ移行完了。テーマのカスタマイズについては今回は割愛します。

他にもっといいやり方もあるような気がしますが、とりあえずこれで無事移行できたので満足しています。

mtからwpへの移行はいい勉強になりますので、それなりに程度時間をかけて取り組む価値があると思いました。
今回紹介した方法以外にもバージョンや運用形態によってそれぞれ適した移行方法があると思うので、いろいろ試してみてください。

最後に、移行後しばらくして気がついた、忘れがちなポイントを紹介しておきます。

・静的ファイル各種
robots.txtとかGoogleやYahooのウェブマスターツールの認証用HTMLとか忘れがちなので注意。

・HTMLのコメントがそのまま表示されてしまう
mtの記事内にHTMLのコメント(こういうの→「<!–コメント–>」)を入れていたんですが、wpではそのまま表示されてしまっていました。

・更新Pingリスト
記事情報以外の設定データは忘れがちなので要注意。

再構築はもう古い!

2008 年 11 月 5 日 水曜日

最初に結論から書くと、

MovableTypeに代表される静的パブリッシング、いわゆる再構築型のCMSは既に時代遅れになっており、これからは動的パブリッシング型のCMS、つまりWordPressの時代が来る、というかもう来ている。

と、管理人は考えています。(言い切っちゃった。。)

以下、その理由をつらつらと述べます。

再構築” …MovableTypeを使った人なら誰でも知っているコトバです。

はじめてmtを使ったときは、

ウォー、スゲーッ!!HTMLが作成されてるよ!!

と、ちょっと感動したと思います。

それがしばらく使っていくうちに、

あ、テンプレート編集したから再構築しなくちゃ
重すぎて再構築が止まっちゃった(涙目)

という問題にぶち当たります。お約束です。

この再構築という考え方、一昔前(2001年頃)は非常に魅力的でした。

その当時はDBといえばOracle、プログラム言語といえばJava(オブジェクト指向)、サーバーOSといえばSolarisという時代。自分もちょっと勉強してOracleマスターゴールドを取得したりしてました。

オープンソースDBも今ほど普及しておらず、phpも出始めでした。
動的なサイトをOracle+Java+Solarisで作ろうものなら、CPUライセンスやらプログラマの人月やら運用コストやら、莫大な費用が発生してしまう、という時代だったんです。

そうした状況だったのでCMSで静的なHTMLを出力するという考え方はとても合理的でした。

ユーザーが直接DBにアクセスすることを極力減らし、なるべく静的なHTMLファイルにアクセスさせる仕組みでコストを抑える。やれることの幅は狭まりますが、コスト減は魅力がありました。
自分もこの当時Oracleをベースに静的パブリッシングをするCMSにかかわっていたんですが、営業に行くとほとんどのお客さんは興味を示してくれました。

そして時は流れて現在。。。

昔に比べるとウェブサイト構築のコストが劇的に減りました。
いまやLAMP(Linux,Apache,MySQL,PHP)全盛期。各種のIT技術もどんどん進歩しています。

高コストだった動的サイトが、ごく当たり前な存在になったのです。

さらに言うと、今ではもう静的パブリッシングを採用する意味はほとんどなくなったと思っています。

もちろんケースバイケースだと思いますが、ほとんどの場合で静的パブリッシングは足かせにしかならないと思います。

当然mt陣営もこの問題は意識していると思います。バージョン3からmtでも動的パブリッシングがサポートされるようになりました。が、プラグインが対応していなかったりといろいろ問題があるようです。また世間的なイメージも「mt=静的パブリッシング」となってる気がします。

だいぶ長くなりましたが、こうした理由から冒頭の結論に達するというわけです。

動的サイト開発・運用コストが下がった今の時代、最初から動的なCMSとして作られたwpが、今後(日本でも)主流になっていくのではないかと考えています。というか、信じています。まあそのくらいの気持ちがないと、こんなサイト作ろうとは思わないですよね。

そんなわけで、ひたむきにWordPressを学んでいきたいと思っています。精進あるのみ!

wpとmt、バージョンの推移

2008 年 11 月 3 日 月曜日

メジャーバージョンアップのみですが、比較してみました。
特に何か役に立つわけでもないですが、とりあえず調べてみたので投稿しておきます。

WordPress MovableType
v1 2003年5月 2001年10月
v2 2005年12月 2002年3月
v3 - 2004年5月
v4 - 2007年8月

見ての通りですが、歴史が古さがそのままバージョンの差になってます。

ちなみにmtのバージョン推移についてはこちらを参考にさせていただきました。
http://www.goodpic.com/mt/archives2/2007/08/movable_type_1.html

wpとmtの比較

2008 年 11 月 2 日 日曜日

今はWordPressにどっぷりハマっていますが、以前はもっぱらMovableTypeを使っていました。最近ではmtからwpへの移行もやったりしています。

mtも4系になってからはあまり使っていなかったのですが、ちょっと気になったので分かる範囲でwpと比較しつつ、調べてみました。

WordPress MovableType
現行バージョン 2.6.3 4.22
ファイル数 / サイズ 575 / 約5MB 2410 / 約15MB
テーブル数 10 39
プログラム言語 php perl
データベース mysqlのみ 主要RDBMSほぼすべて
テンプレートタグ php 独自タグ

上記は2008年11月2日現在の情報です。

予想はしていましたが、テーブル数やファイル数でかなりの差がありました。

このような非常に単純な比較でも、wpとmtそれぞれのコンセプトの違いが如実にあらわれていておもしろいですね。