Movable TypeからWordPressへの移行(パーマリンクを維持)

忘れないうちに再びメモ。

僕は2つのblogを3年以上運営していますが、これらはサーバー上にMovable TypeというblogツールをUPして利用してきました。そして先日ver.4にアップグレードしたのですが、どうもウマく動作しません。記事のプレビューが見れない、Firefoxと相性が悪い、再構築に時間がかかりすぎる、表示が重いと、問題多発...

この原因については、僕の不勉強によるものが多いはず。だけどそれを解明するためにはマニュアルを一冊買ってきて、勉強するしか方法がない、と思った時点で、このソフトの利用を止めようと決定(笑)(泣)。
いやむしろ選択すべきは、blogツールそのものをWordPressに切り替えてしまうことでした。3年ぶりの大工事です。

Movable Typeと同様のblogツールである"WordPress"の存在は以前から大変気になっていました。完全なオープンソース(GPL)のソフトウェアであるため、著作権表記を守れば入手が無料で、もちろん商用利用も可能です。もっとも魅力的なのは、誰もが開発に参加できる点でした。こうしたオープンソース系のソフト(たとえばウェブブラウザ閲覧ソフトのFirefox)など)は、将来的な拡張性の高さが見込まれるし、カスタマイズのしやすさや「遊び心」がふんだんに含まれています。むろんcaramel*vanillaさんの「WordPress vs Movable Type」といった両者の比較記事も参考にしました。

Ⅰ WordPressへの移行作業
この移行については、「すべての記事の個別URL(パーマリンク)を維持したまま移行する」というのが絶対条件でした。拙稿の「WinAntiVirus」「くるり」「浅間山」は他サイトでご紹介頂いていますし、googleやyahooの検索結果を今までどおり反映させる意味でもこれは重要でした。

なお、WordPressは日本語版もリリースされており、それは「WordPress Japan」から入手可能です。

参考にさせて頂いたのは、
blog@browncat.orgさんの「MovableTypeからWordPressへ同じパーマリンクでの移行方法
wiki@browncat.orgさんの「MovableTypeからWordPressへのURL込みの移行方法

そしてなないろブログさんの「Movalbe Type3.3からWordPress2.2への移行について
などでした。

ところが何度行ってもウマくゆきません。Movable Typeからローカルにエキスポートしたファイルを、Wordpressに読み込むと、トラックバックはインポートされるのにコメントがインポートされなかったり....そもそも既存のパーマリンクとは一致しません。パーマリンクに関しては(考えてみたらすぐわかることなのですが)、上の方々の説明はWordpressの設定を、

/%year%/%monthnum%/%postname%.html

としていますが、これはMovable Type時代のパーマリンクがデフォルトの年/月/記事名になっていることが前提でした。ところが僕のblogのパーマリンクは6ケタの数字+html(例、000671.html)なのです。おそらくMovable Typeの最初の設定時にそうしたのだと思いますが、それが当たり前だと思ってずっと使ってきたのが、どうもヘンだったようです。

そもそもこの6ケタの数字は記事IDの頭に0をいくつかつけて6ケタに生成されている数字なので、IDの移行ということも念頭に入れなきゃいけないようです。

そんなわけでOddyseygate.comさんの「IDを維持したままMovable Type 3.2からWordPress2.0.2へ移行する」などを参考にして、再度やり直すことにしました。
この間に「あーでもない、こーでもない」と試行錯誤をし過ぎたため(泣)、Movable Typeのバージョンは3.35に戻した状態になっています。WordPressは2.0.2を利用しました。なお、WordPressはすでにアップロードした状態です。データベースは2年ぶりにSQLiteへと戻していました。いかに試行錯誤をしたかがわかると思います。

  1. とりあえず安易な手段としてMTをまるごとバックアップ。とりわけdbフォルダ(SQliteの場合)と画像フォルダ(必須)はバックアップしといた方がいいです。MySQLの場合はサーバーのマニュアルに基づいてバックアップするのがいいでしょう。
  2. Movable Type(3.35)の/lib/MT/ImportExport.pmファイルを書き換えます。Tera Padで開き、541行目に以下を追加してアップロード。
  3. PERMALINK: < $MTEntryPermalink$>
    TAGS: < $MTTagName$>

    ID: < $MTEntryID$>

  4. Movable Typeのエクスポート機能を利用して、blog記事をローカルに保存。これをTera Padで開くと、きちんと記事IDが表記されているのが確認できました。
  5. Oddyseygate.comさんの情報に基づき、Mudita Journal氏のImporting from MT to WordPressWordpressより、mt.phpファイルをダウンロード。これはWordPress側で先ほどエクスポートしたテキストファイルをインポートするのに必要です。
  6. これを、サーバーのWardpressのwp-admin/import/にアップロードして上書きする。
  7. Wardpressをサーバー上でインストールする(詳しい方法は、WardPress Japanなどを参照)。
  8. WardPress管理画面の[各種設定]→[パーマリンク設定]の[独自表記を以下の入力欄に記述]欄に以下の記述をする。

    /archives/000%post_id%.html

ただし、/archives/の部分は人によってまちまちです。不要な人もいるでしょう。これは元々僕のアーカイヴファイルがarchivesフォルダ内にあったため、移行前の最後の記事のURLが、

/archives/000669.html

で終わっていたからです。それとゼロが3つなのは、移行前の最後の記事IDが669だったからです。自分パーマリンクのURLにあわせてarchivesの部分はリネームするか省略していいだろうし、また「000」の部分もトータルでゼロ6ケタになるようにすればいいわけで、人によってはゼロ2ケタ(IDが最大4ケタ)だったり、4ケタ(IDが最大2ケタ)だったりすると思います。
パーマリンクの独自表記については、どうしようもなくてヤケクソで打ち込んだものがビンゴでした。記事IDが「01」や「099」などといった2ケタ以下の場合、本来000001.htmlだったものが、00001.htmlというパーマリンクになってしまうわけですが、
000001.htmlの場合
00001.htmlの場合
いずれにしても、たどり着く先は一緒なので、問題はないようです。だからと言ってゼロが不要というわけでもありません。
0001.htmlの場合
001.htmlの場合(404エラーが出ます)

Movable Typeのバージョンアップから始まって、問題点を解決するための試行錯誤、そしてあきらめの境地からのWardPressへの移行、更なる試行錯誤と、もー大変でした。流石にきちんとパーマリンクが完成し、他サイトさんからの僕の記事へのリンクも、自己のサイト内のリンクも正常であることが確認できたときには、涙ものでした。まあ素人のやることですから、こんなものでしょう。今回ばかりは、流石にやったことをメモしておかなきゃなと思い、このように書いてみました。でもこれだけではありません。

ⅡWordPressの携帯閲覧プラグインの導入
MT時代は、MT4iという携帯閲覧用のcgiの変換プログラムを利用していたのですが、WordPressではプラグインの形で携帯閲覧用プログラムがありました。
Otsukareさんの作られたMobile Eyeでもよかったのですが、僕の携帯だとどうやってもblog画像が表示されてしまったため、改良版であるMobile Eye+を利用しました。今のところ僕の機種では問題なく(多分)動いています。

Ⅲ その他プラグインの導入
ほぼ後回しにしちゃいました。Standing TallさんのWordPressプラグイン一覧が参考になると思います。

Ⅳ mixi対策
うっかり忘れそうなのがコレ。僕は運営している2つのblogのうち、ひとつはmixiに「最新の日記」として表示できるようにしてきました。mixiの設定画面で、「日記・ブログの選択」を「その他」にし、RSSのURLの欄をWordPressの「wp-rdf.php」に至るURLへと変更しました。

Ⅴ デザイン
正直言って一番苦手な部分です。
WordPressのテーマサイトであるTheme Viewerも参考にしましたが、最終的wp.Vicunaを使用してみることにしました。もっとも、正確にはこれに、をカスタマイズしやすくするための管理機能がついたma38su.sourceforge.jpさんのwp.Vicuna Extを使用しました。これにはすでにwp.Vicunaさんが配布しているVegaスキンが同梱されていますが、他にもあるさまざまなスキンを取り込んでみました。細かいデザインの変更は折々暇を見てはやってゆこうと思いますが、簡単にスキンの変更ができるようになったので、時折全体の見栄えだけは変化すると思います。

なお、WordPressはMovable Typeと違って同時に2つのblogを運営することができないため、僕の場合2つのWordPressをそれぞれ異なったサイトパスにアップロードして運用することになります。上記の手間を2度行ったわけです。

まあ、難関の連続で、本当に死にました。
結果として何とかなったのですが、「こうやったら、たまたまこうなった」的なものですので。だからこの記事はマニュアルというか参考程度にしか意味はなさないと思います。逆に「こういう方法があったのに」というのを教えて欲しいぐらいです。

とにかく、これでWordPressの切り替えは無事終了しました。無限の世界への道筋ができた、と考えています。blogの新しい可能性に挑戦できるぞ、と内心喜んでいます。