jump to navigation

WordPressへ移転完了【詳細編】 2006/08/17

Posted by むき in : WordPress , trackback

自分用の備忘録も兼ねて、MT2.64からWP2.0.4への移行作業を記録しておきます。

・WPのインスコ

非常に簡単。5分で終わるという噂は伊達じゃない。
ウチではロリポップでMySQLを使用し、文字コードはEUCにしています。
また、エントリのパーマネントURLの付け方は、「記事ナンバーに基づく表示」とし、数字IDにしています(理由は後述)。
 
・MTからWordPressへのデータ移行

MTの管理画面からExportしたデータを、WP管理画面の「インポート」メニューで指定してやるとスルスルとデータが移行されます。
このインポートスクリプト、非常によくできていて、巨大なデータを送りつけて途中でタイムアウトしても、再度同じファイルをULするとレジューム機能により止まった所からインポートを再開してくれます。
MTのインポート機能(大容量ファイルだとすぐ止まり、レジュームもないので人力でのファイル分割が必要)に比べると涙が出るほどラクチンでした。

ここで一工夫。
これまで外部からリンクを張ってもらっていたURLはMTがIDを付けたパーマネントリンクであり、WPに移転後はリンク切れになってしまいます。
これはなんとなくイヤなので、エントリIDを維持したままWPに移転し、htaccessでリダイレクトすることにしました。
参考にさせていただいたのはこちらのサイト

具体的な内容はリンク先(とそのリンク先)が非常によくまとまっているので割愛するとして(笑)、
(1) MTからのデータ書き出し部分(CMS.pm内)をハックし、Exportされたデータ内にエントリIDも併せて出力させる
(2) WPエントリのパーマネントURLルールを指定(管理画面/オプションで「記事ナンバーに基づく表示」と設定)
(3) WPソースのMTデータ取り込み部分をハックし、取り込んだMTのエントリIDと同じIDを付加するようにする
(4) .htaccessを編集し、旧URLと新URLの対応付けを行う
こんな流れで、旧URLへのアクセスが、無事新環境へリダイレクトされるようになりました。

また、インポートしたMTのエントリが全てTB不可になっていたので、ロリポのユーザ画面から使えるMySQLのメンテツール「PHPMyAdmin」で当該フィールドを直接編集して修正。

・サイドバーハック

画面デザインを規定する「テーマ」は、WP用テーマ紹介サイト「Theme Viewer」から”ISM”というのをもらってきました。
ただ、サイドバーに表示させる要素に関してのみ、イチから作り直してます。
MTでは当たり前のように提供されている機能がプラグインを入れないと実現できなかったりするし。。。

具体的にやったことは
(1) コメント/トラバツリーはプラグイン「Commented entry list」を使用
 ※引数の数字は、「直近にコメントがあったエントリの表示数」ではなく、コメント数そのものなのに注意
(2) 月別アーカイブはWPテンプレートタグwp_get_archivesを利用
(3) カテゴリ別エントリ数リストはWPテンプレートタグwp_list_catsを使用
(4) flickrによるMoblog表示
(5) del.icio.usによるニュースクリップ表示(ここでのRSS表示にはMagpieRSSを使用。使い方はこちらが詳しいです)

・その他

(1) 長文エントリを折り畳んで表示させている場合、「続きを読む」をクリックすると別ページがロードされウザイので、同一ページ内に展開されるようにプラグイン「Content with show/hide javascript for “more”」を採用
(2) カテゴリ別、月別等のアーカイブにおいて、それぞれのページで異なる数のエントリを表示させたいので、プラグイン「Custom posts per page」を採用
(3) デフォルトで付いてくるスパムブロックプラグイン「Akismet」を使用(設定ウインドウのリンク経由でAPIKeyの取得が必要)

・MTとは勝手が違うところ

(1) ログインしたままでブログを見ると、各エントリに「edit」リンクが現れ、その場からすぐ編集が可能
(2) ログインしたままコメントした場合、新規コメント通知のメールがadminに届かない(この仕様がしばらくわからず、かなりパニクった)
(3) コメントとトラックバックが両方「コメント」として表示される(ちょっと違和感があるので修正するかも)。
(4) 個別エントリのトラックバックURLが<a href>タグで記載されているので、慣れない人はクリックして混乱しそう
(5) 「Commented entry list」、コメント日付が降順になってしまうのが直せない。。。
(6) エントリ編集中に、同一画面内で投稿後のプレビューが見れるのがすげぇ便利

・なんかうまく動かないところ

(1) 日付の表現で、”M”がうまく指定されない。(本来Sep.になるはずが「9月」になってしまう)>mで逃げている
(2) Blogroll機能(管理画面上からサイドバー上のブックマークを設定でき、新着順に表示してくれたりするみたい)がうまく動かない。RSSを登録しても新着を拾ってくれない。

とりあえずこんな感じ。
まだまだ手を入れて行きたいと思います。

コメント»

1. atmo - 2006/08/17

ようこそWPへ!(笑)
プラグインの数も膨大、テーマも数知れず、実に面白いCMSですよ、これ。
僕も以前のブログでMT使ってましたけど、再構築の速さ(というか、再構築自体ないんですけど)だけでも、精神的にどれだけ救われたか(笑)
blogrollは僕んとこでも、更新を拾いません。
ま、リンクページを作るのも一興かと。
発展途上のCMSだけに今後に期待ですね。

2. むき - 2006/08/17

>atmoさん

マネしちゃいました(笑)!!
なんだかatmoさんトコ見てると、いろいろ凝ったギミックが多くて、こりゃおもしろいことができるかもと、ウチでも発作的に導入です。

>>再構築の速さ

そうなんですよねー。テンプレート直したりする度にリビルドするのがウザったくてね。
ただやっぱ、動的生成だと表示にちょっと待ちますね。。。こればっかりは鯖の性能だからどうしようもないのか。。。

>>更新を拾いません

あ、やっぱそうですか。
設定には「更新順ソート」みたいなのがあるんですけどね。最近のバージョンでは実装されてないとの噂もありますね。。
確かにリンクページ作っちゃえばいいんですよね。静的ページもサクッと作れますしね。

>>発展途上のCMS

シックスアパート製品がEnterprise化(最近じゃOracle、LDAP対応なんてのも)していく一方で、WPは個人ユースに徹したオープンソースコミュニティ産、ってのがおもしろそうです。

WPはまだまだわからんことだらけなので、今後ともいろいろ教えてくださいませm(_ _)m