Home > MovableType | wordpress > MovableType4.1からWordpress2.6 パーマリンクの引継ぎ

MovableType4.1からWordpress2.6 パーマリンクの引継ぎ

今回Movabletype4.1からWordpress2.6の移行でどうしても譲れないポイント

★1 パーマリンク(各記事へのURL)の死守。変更ダメ、絶対!

★2 付与していたタグの引継ぎ。これはある程度ついてればいいかな

★3 なるべく手早く、お手軽に。現代人は忙しい。具体的にはマジックアカデミーとかに。

*以下はWordpressを触って数日の素人の生兵法なので正しいかどうかはわかりません。自己責任で!

まずパーマリンク。

Movabletypeでのパーマリンク生成は、デフォルトでは記事タイトルから日本語を抜いたもの(例:『GJ!の記事だYO』という記事の場合、gjyo.htmlという意味不明なものになる)、英語部分がなければ適当なもの(post-100.htmlとか)があてがわれる。

Wordpressのデフォルトだとこのようにはならないので、Wordpressの設定→パーマリンク設定をカスタム構造にして、

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

とします。

で、普通にMovabletype4.1から記事をエクスポートして、Wordpressにインポートします。

すると、Movabletypeの元記事のタイトル名.htmlになてしまいます。はい、失敗!

しかも、日本語だった記事タイトルそのままURLにされてるし!

( 『GJ!の記事だYO』がまんまGJ!の記事だYO.htmlに!SEO的にはアリなんだろーけどもー)

あーなんだこりゃー、インポートの時にうまいこといってないんだろーなー、と予想して、wordpressのルートディレクトリを漁る。すると、wordpress/wp-adminの下にimportというディレクトリがある。

その中にmt.phpってのがある。あ、これじゃね?

テキストエディタで開く。ソースを見る。全然わかんないので10秒で閉じる。

しかたないので、次にMYSQLの中を見る。SSHでログインして、MYSQLにログイン。

すると、記事が格納されているテーブルの中にpost_nameというカラムがある。なんとなくそれっぽい感触。post_nameの名前片隅に覚えつつ、もう一度mt.phpへと。

気を入れてソースを斜め読みしてると、どうもこのpost_nameに値を入れている形跡が見当たらない。あー、やっぱ、これ?

じゃあ、Movabletypeのエクスポートデータの中の「BASENAME」(=Movabletypeの記事HTMLを格納してあるところ)をDBのpost_nameに入れてやればいいんじゃね?ってことで、適当にいれてみる。

function process_postsの中、330行目あたりで

else if ( 0 === strpos($line, “TITLE:”) ) {

とかやっている箇所があったので、ここにelse ifでもぐりこませる。

else if ( 0 === strpos($line, “BASENAME:”) ) {
$basename = trim( substr($line, strlen(”BASENAME:”)) );
if ( ” == $context )
{
$basename = str_replace(’_',’-',$basename);
$post->post_name = $basename;
}
}

インポート元(Movabletype)のエクスポートデータを読んでいって、BASENAMEって行を見つけたら、$post->post_name につっこめってことを指示してるんだ。

ついでに、Movabletypeはパーマリンク中に-(ハイフン)があると、なぜか_(アンダースコア)にご丁寧に変換してくれていやがるので、

$basename = str_replace(’_',’-',$basename);

のところでアンダースコアからハイフンにreplaceしてます。

見ての通りの強引適当やっつけ仕事なんですが、今のところうまくいってるっぽいです。GJ!の拍手も(おそらくは奇跡的に)引き継げてます。

そのままだとタグが引き継げなかったりするのですが、(ソースを見てみると、Movabletypeの「キーワード」を「タグ」に放り込んでるくせに、元々の「タグ」を放り込むところが見当たらない。謎だ)、そっちはまた後日。

関連する投稿

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://hmlab.info/minor/2008/09/20080917_020110.html/trackback
Listed below are links to weblogs that reference
MovableType4.1からWordpress2.6 パーマリンクの引継ぎ from Minor Problem

Home > MovableType | wordpress > MovableType4.1からWordpress2.6 パーマリンクの引継ぎ

最近の写真
AMAZON
人気の記事ランキング

Return to page top