Under the Bridge

a Picture of the Late Him

MT3サイトをMT4サイトへコンバート

2007年11月 1日 22:26 | Writer: yoshi | 記事本文 | コメント(0) | トラックバック(0)

私もこれに躊躇していたんだが、思い切ってやってみた。

なおこれは上書きインストールのようなものではなく、MT3の旧サイトの構造をそっくりそのままMT4の新サイトへ新しく構築する方法(クリーンインストール?)のひとつを記したものである。

なお、MT3とMT4とで相違点が大きすぎるであろう、テンプレートやCSSのコンバートについては書いていない。

1.Movable Type3より、ブログ記事のエクスポート

Movable Type3の機能、「エクスポート」でエクスポートできるブログ記事バックアップデータには、タグや出力ファイル名の情報がありません。

よって、単に「エクスポート」でバックアップデータを作るのではなく、以下の方法を用いて、タグや出力ファイル名を含ませることが出来ます。これにより、Movable Type4でのサイト構築に於いて、手間を激減させることが可能です。

JunnamaOnline (Mirror)MT3→MT4へタグやbasenameを引き継いで(インポート&エクスポートで)簡単に移行する方法。

2.エクスポートしたバックアップデータをチェックする

この方法で得たバックアップデータは、最初はMovable Type4の新規作成ブログへ正常にインポートが出来ませんでした。

あっという間にインポートが完了した旨のメッセージが出るのですが、ブログ記事一覧を見ても空っぽです。

これは何かしらの原因によりデータ中の改行コードがCR+LFとなったために起こる現象です。改行文字をLFにて保存します。

私がよく使うサクラエディタでの例ですが、一度バックアップデータを開き、→そのまま何もせず保存、保存時に「改行コード」というオプションがありますので、「LF(UNIX)」を選択してから保存します。

3.Movable Type3ブログの丸バックアップ

サイトのバックアップを行います。ファイル群を丸ごと全てローカルディスクへ保存します。

これは、後からアーカイブマッピングが以前と同等に行われているかのフォルダチェック時、画像のアップロード時などに必須です。データベースのバックアップも行うといいです。

4.ブログを準備する

テスト用のブログをMovable Type4で作成します。名前は何でもいいのですが、サイトURLとサイトパスは現在運用中のものと違う名前にしなければいけません。xammpなどのローカル環境で行うとモアベター。

5.準備したブログへバックアップデータをインポート

「ツール」→「インポート」より、先ほどのバックアップデータをインポートします。

6.プラグインのアップロード

Movable Type3で使用していたプラグインで、使えるもの、または新しく使用するプラグインをアップロードします。本当はこの段階で各自調査が済んでいればグッドです。

私が現在使用しているもので、以下のものはMovable Type4対応です。

cutfirstchar.pl
文字列の何文字かをカット。私の場合カテゴリ名先頭に010とか付けてカテゴリ並べ替えしていましたので(仕方がなく、です)、その負の遺産を引き継がなければいけませんでした。
eval-template.pl
エントリ中でテンプレートタグを使用するためのプラグインです。
SortCatFld
Movable Type4用です。カテゴリやフォルダを任意の順番で並べ替えます。願わくばcutfirstcharではなくこれで並び替えを行いたいものです。完成度は高く、とても具合がいいです。

7.設定関連調整

※※※ 再構築は、まだです。 ※※※

「設定」→「ブログの設定」

まずは設定関連を調整します。Movable Type3の頃の設定と同等にします。わからないものはとりあえずそのままで、あとで調整します。

  • 全般
  • 公開
  • ブログ記事
  • コメント
  • トラックバック
  • 登録/認証
  • スパム
  • ウェブサービス

8.テンプレート関係

「デザイン」→「テンプレート」

テンプレートは、Movable Type3の頃のものがMovable Type4のものと構造が大きく異なる場合は、潔く作り直したほうがいいかもです。というかMT4専用の上質なものを買ったほうが早いかもです。

要注意事項は以下です。

php運用の場合
インデックステンプレート中の「アーカイブインデックス」、「メインページ」、アーカイブテンプレート中の「ウェブページ」、「ブログ記事」、「ブログ記事リスト」の5つのテンプレートは、xml宣言を改造してください。アーカイブインデックスとメインページのファイル拡張子と、設定画面中のアーカイブの拡張子も忘れずにphpへ変更します。
RSS2.0 Feed
Movable Type3の頃は存在したindex.xmlが、rss.xmlと名称変更されています。以前のサイトのindex.xmlを受け取って購読していたユーザや、フィード情報を受け取っていたブログサービス(フィードメーターなど)へ、サイトの情報を反映できなくなります。Movable Type3のindex.xmlとMovable Type4のrss.xmlのファイルは、docsタグで囲まれたURL(RSS 2.0 Specification)の相違、MTEntryBodyファンクションタグでのconvert_breaksモデファイアの有無です。私はrssテンプレートの内容をコピペしてrss2.0(MT3)というテンプレート(出力ファイルはindex.xml)を作成し、サイドバーへ追加でリンクを貼っています。コードは<a href="<$MTLink template="RSS2.0(MT3)"$>">RSS(LEGACY SITE)</a>
アーカイブマッピング1
アーカイブテンプレートのブログ記事テンプレート中にアーカイブマッピング設定があります。これをMovable Type3のときと同じ設定にします。
アーカイブマッピング2
アーカイブテンプレートのブログ記事リストテンプレート中にアーカイブマッピング設定があります。これをMovable Type3のときと同じ設定にします。私は不要なものはバンバン消しています。

9.再構築

一度再構築してみます。エラーが出るときは6?9の修正を繰り返します。

10.完成テストサイトのチェック

先ほどのローカル環境のMT3サイトのバックアップと、今再構築したMT4テストサイトの構造をよく比較します。アーカイブマッピングなどはよく間違えがちであるので、間違っていた場合は構築されたファイルやフォルダを全て削除してやり直しです。

私のところでは「全て再構築」でも過去のエントリが生成されないのですが、これはMovable Type4の仕様のようです。困りもの。「一覧」→「ブログ記事」でブログ記事のリストを表示させ、表示を100行ほどにして、ブログ記事に全てチェックを入れ、すぐ上の「再構築ボタン」で再構築を試みます。

11.本来の場所へ

チェックを完璧にクリアしたならば、現在運用しているサイトを削除します。イメージフォルダなどはそのまま使用できますのでそのままでいいです。そして、Movable Type4の設定中のサイトURLとサイトパスを運用中のものに変更して再構築します。一番ドキドキする瞬間です。

再構築が一通り終わったら、上にも書いている「「一覧」→「ブログ記事」でブログ記事のリストを表示させ、表示を100行ほどにして、ブログ記事に全てチェックを入れ、すぐ上の「再構築ボタン」で再構築」を行い、全てのエントリを強制的に再構築します。

私の場合、xrea+で運用しておりましたが、テスト時からここで必ずこけてたので不安を覚え、上位のCoreServerに乗り替える予定です(契約済み)。今のxrea+サーバーでは「エントリのまとめて再構築」ができない状況であるので、過去の記事へのリンクが切れている場合がありますが、近いうちCoreServerへ完全移行すれば直ります。重いサーバーで再構築エラーを繰り返すのはストレス溜まりますし時間の無駄です。

12.最終チェック

6から10までがしっかりと行われていれば、問題はないはずです。

トラックバック(0)

このブログ記事を参照しているブログ一覧: MT3サイトをMT4サイトへコンバート

このブログ記事に対するトラックバックURL:

コメントする






Categories
Entries
Feed
スポンサードリンク

parts

フィードメーター - Under the Bridge

あわせて読みたい

なかのひと

2008 yoshi(apstar)