最新!MovableType から WordPress への移行手順

Movabletype Ver.5 を使ってきたがサポートが切れてるので、そろそろWordpress にお引越しをと思いその作業。
Wordpress はちょうど Ver4.9 がリリース。ここで一度やっておくと今後も役立ちそうだったので作業を開始。
備忘録としてそれを残しておく。

  • 作業日:2017/11
  • Movable Type バージョン 5.2.3
  • WordPress 4.9
  • ドメインを変える
  • 移行前の記事数は1300程度で文章量が多い
  • 移行対象は「記事」のみ(固定ページはなし)
  • 移行前のブログは記事内に画像を使っていない(テキストのみ)

作業手順(概要)

  1. MovableTypeに、エクスポート用のオリジナルテンプレートを作成
  2. MovableTypeにて1.のテンプレートを手動にて実行
  3. FTPソフトなどで、2.で出来たファイルをダウンロード
  4. ダウンロードしたファイルをテキストエディタなどで一部情報(POSTNAME)の置換
  5. WordPressのパーマリンク設定の変更
  6. WordPressのMovableTypeのインポート用のPHPをカスタマイズ
  7. WordPressにて、4.をインポート
  8. 以上

1.MovableTypeに、エクスポート用のオリジナルテンプレートを作成

ブログにインデックステンプレートを作る。下記のようなエクスポートコードを含ませ、出力ファイル名は適当(export_2014.txt など)、公開手段は、手動。
保存&構築を行うと、ブログを設置しているサーバに、出力ファイル名でエクスポートファイルが出来上がる。

標準のエクスポート機能を使わなかった理由は、カテゴリーや作成年度で絞りつつやらないとすべての記事が正しくエクスポートされない(情報量が多いため)ので、エクスポートデータを小分けにして作りたかったから。標準のエクスポート機能に加えて改良してある部分は、

1.カテゴリー名で搾れるようにした
2.作成日で(一応)並び替えてエクスポートするようにした
3.作成年度で搾れるようにした
4.(一応)ID情報もエクスポートするようにした

ところ。カテゴリーで搾る必要ない人などはその記述を外してもいいでしょう。

実際の作業では、カテゴリーで搾らず年度だけで小分けに。年度ごとのテンプレートファイルを作って、小分けにしてエクスポートを実行した。

2.MovableTypeにて1.のテンプレートを手動にて実行

これは、MovableType上で、テンプレートの保存&構築をやってもらえれば良い

3.FTPソフトなどで、2.で出来たファイルをダウンロード

テンプレートファイルで指定した保存ファイル名で、ブログが設置してあるサーバのルートフォルダにエクスポートされていると思うので、それをFTPソフトなどで、手元にダウンロードする

ダウンロードしたファイルをテキストエディタなどで一部情報(POSTNAME)の置換

MovableTypeでは記事名が、post-1111.html などとなっているのだが、これがエクスポートした時にハイフンがアンダースコアになってエクスポートされる。これを手っ取り早くテキストエディタで置換する。
置換元:post_  置換後:post- などやればよいかな。

下記はエクスポート記事のサンプルだが、BASENAMEが、post- になっているのが確認できる。

4.Wordpressのパーマリンク設定の変更

ドメインは変わるものの、ドメイン以下が変えないようにパーマリンクを設定。

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

でOK

5.WordpressのMovableTypeのインポート用のPHPをカスタマイズ

上記のMovavleTypeのエクスポートで記事に付与しているタグ情報が出力されるものの、Wordpressに付属する記事インポートツール(実際はプラグインが動いている)では、それをWordpress の「タグ」としてインポートしてくれない。これは、Wordpressには、タグとキーワードという似たようで似ていないものが存在しているためらしい。そこで、インンポートツールを修正し「タグ」としてインポートできるようにする。

修正するファイル名:movabletype-importer.php
ファイルの場所:wp-content/plugins/movabletype-importer

修正後のPHPがこちら。TAGで検索すると元のファイルとの変更箇所がわかります。