MT3サイトをMT4サイトへコンバート
私もこれに躊躇していたんだが、思い切ってやってみた。
なおこれは上書きインストールのようなものではなく、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までがしっかりと行われていれば、問題はないはずです。
- カテゴリ:211Movable Type4
トラックバック(0)
このブログ記事を参照しているブログ一覧: MT3サイトをMT4サイトへコンバート
このブログ記事に対するトラックバックURL:
- Categories
- Entries
-
- MTで乱数を発生させる(ダイジェスト)
- MT4.2:テンプレートタグのみで切り捨て、切り上げ、四捨五入の演算
- Movable Typeデザインカスタマイズブック
- MT4.2:海外からのコメントスパムに簡単に対応する
- MT4.2 インストール
- MT4:エントリ投稿画面をホゲる実験
- MT4LP5で得たもの
- MT4LP5に参加しました
- MT4.1:mtde.info 開設しました。
- Movable Type4で、かなり気に入っていること
- Movable Type4で、かなり気に入らないこと
- MT4.1:CustomEditorButton2 プラグイン
- MT4.1:「テンプレートの編集」画面のコードスニペットを拡張する
- MT4.1:自サイト・他サイトのFeed情報を取得してリスト化(続編)
- 日記(K0、mtde、MT)
- MT4.1:自サイト・他サイトのFeed情報を取得してリスト化
- ノープラグインでカテゴリーソート(MT4.1専用版)多分に反則
- 自サイト内の特定カテゴリのRSSを出力
- MT4.1:モジュール化(雑談ですが)
- MT4.1:カテゴリリストへ代表画像を付与する(Asset系)
- MT4.1:カテゴリリスト+エントリ全展開+エントリのAsset代表画像表示
- MT4.1:イメージの幅指定で高さを自動的に計算(Asset系)
- MT4.1:MTでサポートされない演算をJavaScript関数ライブラリ化する
- MT4.1:エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示・改良版)
- エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示)
- 最新記事で使用されているタグの最新5件を表示
- MT4.1:エントリリストへ、特定カテゴリ用画像をつける
- MT4LP5
- MT4.1で乱数を取得したい場合
- ★マークでエントリ数を示すエントリリストつきカレンダー
- 横型カレンダー(素ノーマル)
- ファンキーな横置きカレンダー
- サムネイル画像エントリリストの改造(MT4.1用)
- MT4.1 ついにリリース
- 日記
- MT4.1:変数2つでの演算 (2)
- MT4.1:テンプレートタグで100までの数から素数を求める
- MT4.1:変数2つでの演算
- 日記
- MT4.1:年度タイトルつき月別アーカイブ(4月で新年度切り替え)
- MT4.1:年タイトルつき月別アーカイブ(1月で新年切り替え)
- 全カテゴリからエントリを3件ずつ表示する。キメウチ禁止
- MT4.1:カテゴリの並べ替え+表示切り替え+現カテゴリ展開+強調表示つき(カスタムフィールド+ハッシュ変数)
- MT4.1:カテゴリの並べ替え+表示切り替え(カスタムフィールド+ハッシュ変数)
- MT4.1:カテゴリの並べ替え(カスタムフィールド+ハッシュ変数)
- 日記
- MT4.1:文字列を繋げる
- MT4.1:カテゴリの並べ替え(プラグイン使わず)
- エントリと同じタグのついた記事一覧をリストアップ(3)
- あるエントリの存在するカテゴリの、サブカテゴリ内のエントリを抽出する
- 配列に対するpopとshift
- MTのテンプレートタグでFizzBuzz。
- エントリと同じカテゴリ内のエントリ一覧取得
- MT4.1:Forループ(文字列の連結)
- MT4.1:Forループ(配列中より特定のデータのインデックスを取得)
- MT4.1:Forループ(配列の並びを逆にする)
- MT4.1:Loopループ(基本形)
- MT4.1:Forループ(基本形)
- MT4.1:配列サンプル(配列の先頭・末尾からデータ取得・削除)
- MT4.1:配列サンプル(特定カテゴリの全エントリのみを配列へ代入)
- MT4.1:配列サンプル(全カテゴリを配列へ代入)
- 外部ブログのRSSを自サイトへ読み込み
- 名無しコメントに対応する
- 複数カテゴリの最新情報5件(例2)
- 複数カテゴリの最新情報5件(例1)
- カテゴリごとの表示形態を変える(多カテゴリ対応)
- 特定のカテゴリの最新エントリ5件をメインページへ表示
- 変数専用モジュールで取得したカテゴリ情報配列をほかのモジュールで使用する
- 定数・変数専用のモジュールを使う
- タグ名の全取得、配列へセット、生成文字列連結
- カテゴリ名の全取得、配列へセットする
- サムネイル画像エントリリストの改造(さらにチューン)
- サムネイル画像エントリリストの改造(OK版)
- サムネイル画像エントリリストの改造
- MT4のコメントフォーム
- 配列使ってみたテスト
- ブログ記事投稿時のタグ・キーワードとか
- 実験記事:キーワードのつけ方と概要の書き方
- デザイン小変更
- MT4書籍購入
- MT4で日本語を用いたタグクラウドがおかしい・~が出ない問題点
- 小粋な本の購入
- ちょっと気づいたこと
- MTSetVarでクリッカブルマップ
- 画像サムネイルエントリリスト(改)
- MTGetVarによるアンカーリンク
- MT3>MT4バージョンアップ時不具合
- pageを用いたナビゲーションバー
- 画像の取り扱い
- MT3サイトをMT4サイトへコンバート
- 月別アーカイブのタイトルが0000年12月となる不具合
- MT4で、エントリが再構築されないとき
- MTGetVarで文字列置換
- エントリと同じタグのついた記事一覧をリストアップ(2)
- 同一カテゴリーに属するエントリ一覧
- Folderの親子関係を調べる
- FolderLabel・FolderDescription関係調査
- カテゴリ・エントリリスト(改)
- カテゴリ・エントリリスト
- folder調査用テンプレート(1)
- トップレベルのウェブページのみ抜き出す
- ドロップダウンタグリスト
- Feed情報調査用テンプレート
- MTEntryCreatedDate
- コメント調査用テンプレート
- カテゴリ数、エントリ数、ウェブページ数の取得
- strip_tagsモデファイア
- replaceモデファイア
- regex_replaceモデファイア
- count_paragraphsモデファイア
- count_charactersモデファイア
- catモデファイア
- count_wordsモデファイア
- MTAuthor関連調査
- 画像サムネイルエントリリスト
- MTAsset関連調査(2)
- MTAsset関連調査
- カテゴリ毎に表示を変えるには?
- 強調表示付きカテゴリリスト
- MT4ライセンス購入
- MT4:Webページで生成するグローバルナヴィゲーション
- MT4:エントリと同じタグのついた記事一覧をリストアップ
- MT4:テンプレート構想変更
- MT4:beta7の生成xhtmlコード解析、ほか
- MT4:うっかりやってはいけないこと
- MT4:スタイルシートの切り替え
- MT4:モジュール化成果
- MT4:モジュール化・アルファ(本文)エリアの改造
- MT4:モジュール化・システムテンプレート
- MT4:モジュール化・ウェブページ
- MT4:モジュール化・エントリアーカイブページ
- MT4:モジュール化・カテゴリアーカイブページ
- MT4:モジュール化・アルファ(本文)エリア
- MT4:エントリについて
- MT4:モジュール化・バナーエリア
- MT4:モジュール化・ヘッダコード
- MT4:モジュール化・モジュール名の命名規則
- MT4:モジュール化・基本形改造
- MT4:XML宣言モジュール
- MT4:モジュール化・基本形
- MT4:カテゴリソート(MTCategoryLabel remove_html="1")
コメントする