MTからWPへの移行

mt4からwordpress3への移行

仕事でmt4からwordpress3への切り替え作業を行ったのでメモ。
お客さんからMovable Typeで更新ができなくなった(500エラー)との連絡を受け原因を調査したところ、現状はstaticでファイル生成していたのが原因ではないかということでPerl版ダイナミック・パブリッシング(MT4用)を導入。しかしながらダイナミック・パブリッシングにしたページが全て文字化けで原因がわからなかった(後々考えるとphp.iniの設定だったのかも)ので、どうせならwordpressの方が勢いがあるらしい(Googleトレンド検索)のでこれを期にwordpressへの乗り換えを提案したのが今回の作業の発端でした。




mt4からwpr3への移行の流れ

まず、詳しい環境は以下

サーバー環境 OS:FreeBSD 4
WEBサーバー:Apache
php:5.2.14
MySQL : 5.1.50
phpMyAdmin : 2.11.10
MTのバージョン Movable Type 4.27
WPのバージョン wordpress : 3.2

Step1:MTのバックアップ

MT自体いじるのは初めてだったので、不測の事態が起きた際に備えとりあえずバックアップをとります。
バックアップは以下の記事を参考にしました。
MySQL + phpMyAdmin によるバックアップ
MTの管理画面から行なう場合は、以下の方法で行うようです。
Movable Type 4 のバックアップ機能
上記とは別に、WPにインポートするデータをMTの「エクスポート」から吐き出します。後で書きますが今回はMTで更新していたディレクトリと同じ場所にWPでも記事を作成するので、画像等はそのままにしておきます(画像パスに変更なし)。同じくパーマリンク等も今回は引き継がなくてよいとのことなので、特に気にしません。

Step2:サーバーにWPをインストール

まずWPのプログラムを、WordPress 日本語ローカルサイトからダウンロードします。
ダウンロードしたzipファイルを解凍し、FTPクライアントでサーバーへ接続、新規で「wp」というディレクトリを作成(ディレクトリ名は何でもよいです)し、そこにアップロード。

Step3:データベースの作成

これまでのmtの記事+wordpressで更新していく為にデータを格納するDBを作成します。
phpMyAdminにログインし、「新規データベースを作成する」の入力欄(左)に作成するデータベース名「wp」を入力し、照会順序に「utf8_unicode_ci」を選択、「作成」をクリックします。

step4:「wp-config.php」の設定

先ほど解凍したWPのプログラムの中に「wp-config-sample.php」というファイルがあるので、テキストエディタで開き以下の3カ所を修正します。

■修正箇所1
/** WordPress のデータベース名 */
define('DB_NAME', 'putyourdbnamehere');

↓作成したデータベース名を指定します。

define('DB_NAME', 'wp');

■修正箇所2
/** MySQL のユーザー名 */
define('DB_USER', 'usernamehere');

↓MySQLへアクセスするユーザーIDに書き換えます。

define('DB_USER', 'ユーザID');

■修正箇所3
/** MySQL のパスワード */
define('DB_PASSWORD', 'yourpasswordhere');

↓MySQLへアクセスするパスワードに書き換えます。

define('DB_PASSWORD', 'パスワード');

最後に、ファイル名「wp-config-sample.php」を「wp-config.php」に書き換えたらサーバーへ接続し、先ほど作成したディレクトリ(wp)にアップロードします。

Step5:インストールスクリプトの実行

以下にアクセスしWPのインストールをします。
http://ドメイン名/wp/wp-admin/install.php
wordpressインストール
以下画面が表示され、インストール完了。
パスワード忘れないようメモ。
wordpressインストール完了

Step6:WPの初期設定

WPにログインし、左メニューの「設定」→「一般」で公開アドレスの設定をします。今回の場合、今までMTで公開していたアドレスを指定しました。
一般設定
次にパーマリンクの設定をします。今回はパーマリンクに関してはMTから引き継がなくてよいとのことなので、特に気にせず
パーマリンク等も引き継ぐ場合は以下の方法で引き継げるようです。
MovableTypeからWordPressへのURL込みの移行方法

Step7:インポート

「ツール」→「インポート」でブログ記事をインポートします。ガイダンスに従って進むとMTからのデータをインポートする為のプラグインをインストールします。通常はそのままプラグインを使ってインポートできますが、私の場合はうまく行かなかったので、サーバーに作成したwpディレクトリ内にあるwp-content直下にMTのブログデータを直接アップロードしてインポートを実行しました。
インポート

Step8:テーマをインストール

ここからが大変でした。既存のMTで作成したブログと同じデザイン・機能を実装しなければならなかったので、まずは似たようなレイアウト・デザインのテーマを探してインストール。
更にMTで使用していたプラグインと同等の機能をもつものを一つ一つ探してインストール。
テーマ編集で直接ソースをいじってデザインを合わせ、テーマ自体も日本語化。
結果的に95%くらい同じものをなんとか作れました。
尚、公開ディレクトリにはMTで生成されたファイルが大量にあり、index.htmlやindex.phpがある場合削除してWPのindex.phpをアップロードする必要があります。
初めてばかりの作業でしたが、お客さんも問題なく更新しているようなので一安心でした。

番外編

上記の内容で通常は問題なくブログをMTからWPに移行できるのですが、私の場合はうまくいきませんでした。
問題点)日本語でブログタイトルを設定すると空になる。日本語で記事が投稿できない。
英数字だと投稿できたので、原因は文字コードの問題だと気づき、php.iniをUTF対応に書き換え↓

output_buffering = off
output_handler = none
default_charset = "UTF-8"
magic_quotes_gpc = off
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.language = japanese

結果問題なく日本語入力できました。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です