[う][MT→ワードプレス移行] MTからのエクスポート

[MT→ワードプレス移行] MTからのエクスポート

Movable Typeからワードプレスに移行するためには、まずMTの記事をエクスポートしなければなりません。


ワードプレスへの移行については以下の記事が有名かな?と思います。

固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ

が、ウチの環境ではうまくできなかった(というか、私の知識が足りなかった)ので、別の方法を取ることに。

MTのエクスポート用ファイルを修正

通常、MTから記事をエクスポートした場合は、その中にタグやパーマリンク情報が含まれていません。これを含めてエクスポートするために、以下の記事を参考にしてMTのエクスポート用ファイルを修正しました。

MovableTypeからWordPressへの完全移行方法
まず、Movable Type側ではエクスポートプログラム
/lib/MT/ImportExport.pm
に、タグとパーマリンクを書き出す行を追加します。

これでタグやパーマリンクに関する情報を含めてエクスポートすることができるようになりました。なんでパーマリンクの情報が必要なのか、その理由は後述。

ワードプレスのインポート用ファイルを修正

次に、MTのエクスポートデータに含まれるbasename情報を、ワードプレスのpostnameに反映させるために、ワードプレスのインポート用ファイルを修正します。

Movable TypeからWordPressへの移行メモ
基本的にMovable TypeでエクスポートしたテキストをWordPressでインポートするだけなんだけどいろいろ問題があったので対応した。

こちらも先人の教えをそのまま実行。これでインポートすれば、MTでエクスポートしたbasenameがワードプレスのpostnameに反映されるようになりました。

MTエクスポートデータのbasenameを修正

そして、これからがウチならではの余計な作業^^;

これまで、MTでは「entry_999999.php」といった形で、記事IDをパーマリンクに使ってました。しかし、記事IDはデータベースに記事が書き込まれた順に振られるので、新たにDBを作成した場合、IDが変わってしまう=記事URLが変わってしまう。

それでは困るので、MTのエクスポートプログラムを修正して吐き出させたパーマリンク(記事IDが含まれるもの)から、「entry_999999」の部分をコピー→basenameにペーストという修正作業を700件以上の記事に対して行いました。(これが、エクスポートデータにパーマリンク情報を含めたワケ)

全て手作業で(;´Д`)

インポートした記事のIDをデータベース上で書き換え(上書き)して、今後も記事IDを使ってパーマリンクを形成する、ということをホントはやりたいんですが、記事IDを直すにはどこをどうすればいいのやら…。

しかも、今後はいちいちbasename(postname)を手入力していかなきゃいけないということで、ちょっと面倒だなぁと。この辺、うまい解決方法があるようでしたら、ぜひ教えてください(T_T)

この後、ワードプレスのパーマリンクの設定を、MTと同じになるよう

/%category%/%postname%.php

に修正。とりあえず力技でMTと同じファイル名を持つURLを作ることができました。

…でもやっぱ、今後も記事IDをベースにしたURLにしたいよなぁ。。。要するにテーブルデータを落として修正→上書きすればいいんですよね?ちょっと調べてみようかな。

これ、ダメなんだった…orz
ウチはMTで「0001234」といったように、記事IDを7桁で揃えていたんですが、IDをそのまま吐き出すワードプレスでは、この桁揃えが利用できない→移行記事のbasename(postname)が「entry_1234」になってしまいURLが変わっちゃう。

新たに作り始める記事IDを、1000000からにすれば一応桁を揃えることができるようなんですが、移行する記事IDの頭にゼロを付けるというのが無理っぽい。この辺、プラグインでなんとかなりませんか?(;´Д`)