MovableTypeからWordpressへの移行手順
前提条件
・Wordpress側が2.9x、MovableTypeが4.x
・最初はMovableTypeの公開ディレクトリ(例:http://example.jp/)の配下にwordpressというサブディレクトリ(http://example.jp/wordpress)で設定を行い、あとでごっそり移行する
・MT側のエントリ・アーカイブの「アーカイブ・パス」は「%y/%m/%d-%h%n%s.php」とする
1.MovableType側でテンプレートを新規に作成。(Wordpress純正のRSSへ変換→あとでインポートしやすいように)
名前はexport.xml 等
内容は以下:
---------------------------
1.0
<$mt:CategoryBasename$> <$mt:CategoryLabel$> ]]> ]]>
<$mt:TagName$> ]]>
-
<$mt:EntryPermalink$>
<$mt:EntryDate format_name="rfc822"$>
]]>
]]>
<$mt:EntryPermalink$>
<$mt:EntryMore$> ]]>
]]>
<$mt:EntryID$>
<$mt:EntryDate format="%Y-%m-%d %H:%M:%S"$>
<$mt:EntryDate format="%Y-%m-%d %H:%M:%S"$>
openclosed
openclosed
<$mt:EntryBasename$>
<$mt:EntryStatus lower_case="1"$>
0
0
post
<$mt:CommentID$>
]]>
<$mt:CommenterEmail$>
<$mt:CommentURL$>
<$mt:CommentIP$>
<$mt:CommentDate format="%Y-%m-%d %H:%M:%S"$>
<$mt:CommentDate format="%Y-%m-%d %H:%M:%S"$>
]]>
10
0
0
<$mt:PingID$>
]]>
<$mt:PingURL$>
<$mt:PingIP$>
<$mt:PingDate format="%Y-%m-%d %H:%M:%S"$>
<$mt:PingDate format="%Y-%m-%d %H:%M:%S"$>
]]>
10
trackback
0
0
---------------------------テンプレートを作成したら、そのテンプレートを再構築し、生成されたXMLファイル(export.xml)をFTPでダウンロードする。
2.Wordpress用のディレクトリを用意する
MovableTypeでの公開用URLが
http://example.jp/
で、ディレクトリが
/var/www/html/ とした場合は、
http://example.jp/wordpress/
/var/www/html/wordpress/
とすることにし、上記ディレクトリへWordpressのファイルをアップロード。
3.Wordpress用のデータベースを用意する。
MovableType用のデータベース名が、blog とすると、そこのままでも特に問題はない。
→MovableTypeでは「mt_」、Wordpressでは「wp_」のように接頭語が付与される
4.Wordpressの設定ファイルをコピーして中味を修正
cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
として、まずはサンプルファイルをコピー。
そして、中味のデータベースの部分を書き換え。
// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'blog'); ←★実際のデータベース名(MovableTypeのものと同一でOK)
/** MySQL のユーザー名 */
define('DB_USER', 'root'); ←★実際のデータベース用ユーザ名
/** MySQL のパスワード */
define('DB_PASSWORD', '******'); ←★実際のパスワード
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define('DB_HOST', 'localhost');
/** データベーステーブルのキャラクターセット (ほとんどの場合変更する必要はありま
せん。) */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */
define('DB_COLLATE', '');5.Wordpressにアクセスする
http://example.jp/wordpress/ へアクセスすると、インストール画面になるので、指示に従って進めるとあっけなくインストール完了。
6.ログインする
表示されたパスワードでadminでログインする。
7.ログイン後はまず、ユーザを新たに追加する。
左のメニューから「ユーザ」をクリックし、「新規追加」ボタンをクリック。
自分の普段使うユーザ名でユーザを作成し、「管理者」とする。
ログアウトして、新しく作成したユーザでログインし直す。
8.設定関連をいじる
※今はまだ公開ディレクトリはhttp://example.jp/wordpressのままとする
・ブログ名なども変更
・パーマリンク設定で、「カスタム構造」→「/%year%/%monthnum%/%day%-%hour%%minute%%second%.php」にする。
→これをしないとMovableTypeの「%y/%m/%d-%h%n%s.php」の構造が引き継げない
9.1でダウンロードしたXMLファイル(export.xml)をUTF-8対応のエディタで開き、画像等へのリンクパスを修正する
私の場合は、MovableTypeでいろいろなところに自分がアップロードした画像が散在していたので、ここでかなり苦労。
→http://example.jp/abc.jpgの場合はhttp://example.jp/wp-content/images/abc.jpg
のように修正(とにかく、wp-content配下に画像を集約したかったため)
→このとき、http://example.jp/wordpress/~としない(あとでwordpressのディレクトリはなくして、MTの公開ディレクトリとしたいため)
10.実際の画像の実物をごっそりwp-content/images配下にコピー
FTPソフトもしくは、Telnetで入れるなら入って、MovableTypeで使っていた画像ファイルを全てwordpressのwp-content配下へコピーする。
→9番で修正したリンクパスと一致するように注意すること(但し、上述のとおり、「wordpress」というパスはあとで取り除かれることを意識)
11.WordpressへXMLファイルをインポート
「ツール」→「インポート」と進み、インポート元のブログシステムは「Wordpress」を選ぶ。
そのままインポートへ進み、完了することを確認。(この時点ではまだ公開パスに「wordpress」が含まれているので、正しく画像等が表示されない)
12.Wordpressの公開パスを修正
「設定」→「一般」→「Wordpressのアドレス」と、「ブログのアドレス(URL)」を「Wordpress」抜きのものに変更する
旧)http://example.jp/wordpress
新)http://example.jp
「変更を保存」ボタンを押す →このとき、ブラウザで「ページが表示されません」となるが問題なし
13.サーバ上のMovableTypeのディレクトリをごっそり移動
Telnetでコマンドで行うなら、
mv /var/www/html /var/www/blog_bk などのようにして、ごっそりバックアップする。
FTPの場合なら、一旦別のフォルダを作って、/var/www/htmlの中味をごっそり移動する。
→このとき、もともとMovableTypeで使っていたファイルなどが/var/www/html配下に一切残っていないようにすること
→残していても動作上は問題ないが、あとで見て、Wordpress移行後にMovableTypeのファイルがあると混乱するし、あとで消そうと思っても大量にあると難しい。
14.再び公開ディレクトリを作成する
mkdir /var/www/html
のようにして、再度公開用のディレクトリを作成する
15.Wordpressのディレクトリの中味を移動
cp -r /var/www/blog_bk/wordpress/* /var/www/html/
として、ごっそりWordpressのファイルを移行
16.Wordpressの管理画面に新URLでアクセスする
→http://example.jp/wp-admin/
これで移行完了。