だいぶ前から借りているレンタルサーバの引越しをしていて、その中でWordpressの引越しを実施。もともとがWordpressMeでデータベース、WebともにEUCだったもを当然最新バージョンなので、UTF-8にする必要がある。まただいぶデータベースの構造も違っているし、利用しているプラグインも互換性あるかわからないし、面倒だなーと思っていたのだけど意外とすんなり行けました。
結論から言うと、下記の様な手順できました。
- DBのデータをそのまま移植。
- 最新版のwordpressをインストール
- wp-config.phpを書き換え
- 利用しているテーマの文字コードを変換
- 管理画面にアクセスすると「DBのバージョンアップしますか」といったものが出るのでOK
ここまでの互換性を維持していることにちょっと感動しました。
実際に試した経緯は以下の通り。
まず最初に試みたのが、そのまんまWordpressMeを移植する方法。元々のサーバのデータベースからPhpMyAdminで必要なテーブルをエクスポートして、新しいサーバのDBにそのままの移植。古いサーバのWordpress一式をそのまま新しいサーバに移植。wp-config.phpのDB情報と文字コード設定を上書き。
としたところ、文字の出力がすべて文字化けしていて、テーマの文字コードを変えてもデータベースから出力される文字は文字化けが治らない状態でした。また、管理画面のログインでエラーが出ていて、他で調べて修正を試みても駄目で、無理だなという感じでした。
なので、これは一つ一つ手作業で移行しないといけないのかなとあきらめ加減で、とりあえずダメもとで一度新サーバのWordpressファイル(WordpressMe状態)を消して、最新のものに置き換えてテーマとwp-config.phpだけを書き換えてアクセスしてみたところ意外といい線まで表示できていて、管理画面にアクセスしたところ(おそらくwp-admin/insall.php)データベースを更新しますかといったものが出ていて、それをクリックしたところ、すんなり「成功しました」という表示になり、実際にだいたい問題なく動作できるようになっていました。
若干の文字化け個所(プラグイン内の設定ファイルの文字コード)やプラグインの問題はありましたが、ほぼ問題なくつかえました。