Herokuで管理していたWordPressをSovaWPに移行する方法

無料&運用の手間いらずでWordPressをはじめるのには、まずHerokuではじめるのは、良い手段です。しかし、

  • Herokuのサーバ自体はUSにあるので、日本国内からのアクセスはやっぱり重いよねー。
  • ファイルがGit管理なので、管理画面からWordPress自体のアップデートや、プラグインのアップデートができないよねー。
  • sitemap.xml生成しても、Heroku再起動のタイミングで消えるよねー。

と、運用していくうちにちょっとずつ不便を感じるタイミングがあるのではないでしょうか。

そうだ、SovaWPに移行しよう

mah365ことまーくんが365日間更新し続けるブログ(仮)は現在HerokuからAWSのEC2インスタンス(t1.micro)に移行して動かしているのですが、バックアップの設定などいろいろ手でやらなきゃいけないので、やっぱり面倒です(VPS借りてやるよりはよっぽど楽ですが)。

その点SovaWPというサービスを使えば、t1.microを使うのと同じぐらいの料金でサーバ運用(サーバ保守、バックアップなどのオペレーション)を行ってくれます。

そして、何よりパフォーマンスがとても良い! クッソ速い!

そんな訳でHerokuで動かしていた某ブログを、SovaWPに移行してみたのでした。

移行の方法

1. SovaWPに申し込んで、wp-contentの中身をアップロードする

まずはSovaWPに申し込んで、WordPressを立ち上げます。

sovawp

すると以下の画像のようにドメインが割り当てられるので、まずはアクセスして初期設定をしてみて、WordPressが立ち上がるか確認します。

sovawp2

次にCyberduckなどのファイル転送ソフトを利用してSFTPでwp-content以下の内容をコピーします。SFTPのパスワードは、WordPress立ち上げのときに設定したパスワードを利用します。分からなかったらSFTP経由でファイルにアクセスするを見てみましょう。

これでSovaWP側の設定はひとまず終了です。次にHeroku上のデータをSovaWPに移行します。

2. ClearDBからMySQL Workbenchでデータをエクスポートする

WordPressのブログをherokuで立ち上げて、何かメリットあるの?を参考にHerokuでWordPressを立ち上げた方は、恐らくDBにClearDB(MySQL)を使っていると思います。なので、ここではClearDBからのデータ移行について説明します。

ちなみに、ClearDBからのデータ移行にはMySQL Workbenchというソフトを利用します。もし持っていないのでしたら、入手してインストールして下さい。無料です。

さて、無事MySQL Workbenchをインストールしたところで、ClearDBからデータを吸い出すために必要な情報を、ClearDBの画面から取得します。

まず、default schema名はClearDBの管理画面の以下の場所に表示されているので、これをメモしておきます。

cleardb_01

次にDBのユーザー名、パスワードは以下の「Endpoint Information」に表示されているので、これもメモします。

cleardb_02

最後にコマンドラインからheroku config -a アプリ名DATABASE_URLの情報を表示し、ClearDBのアドレスを入手します。

cleardb_03

これらの情報をMySQL Workbenchの接続情報に入力することで、MySQL WorkbenchからClearDBにアクセスできるようになります。

mysql_workbench_01

無事接続できたら、左メニューから「Data Export」を選択し、ClearDBからデータをエクスポートします。この際、全てのテーブルを抽出するように設定して、「Export to Self-Contained File」を選択し、「Start Export」ボタンを押します。

mysql_workbench_02

これでデータのエクスポートがはじまるので、終わるのを待ちます。

mysql_workbench_03

無事エクスポートが終わったら、エクスポートファイルから余計な情報を削除しておきます。ファイルの先頭の2行を削除しておきましょう。

dumpsql

これでインポートの準備が整いました! 次はphpMyAdminを利用してSovaWP側のWordPressにデータをインポートします。

3. phpMyAdminでインポートする

SovaWPの以下の画面からphpMyAdminにアクセスします。

sovawp3

SovaWPでWordPressを立ち上げると、sv_という接頭辞でテーブルが作成されます。今回の例では、ClearDBに作成していたテーブルの接頭辞はwp_だったので、sv_ではじまるテーブルは全て削除してしまいます。さようならー。

phpmyadmin_03

忘れずにwp_config.phpの設定も変えておきましょう。$table_prefixの値をsv_からwp_に変えて保存し、Cyberduckなどのファイル転送ソフトでアップロードしておきます。

wpconfig

次にphpMyAdminのインポート画面にて、先ほどエクスポートしたファイルを選択して「実行」ボタンをクリックします。これでデータのインポートができました。

phpmyadmin_01

管理画面に入るために、wp_optionsテーブルの中のsiteurlの値をSovaWPで立ち上げている現在のWordPressのURLに変更しておきます。

phpmyadmin_02

これでデータのインポートは完了です。

4. 動作確認

無事データが移行できていれば、SovaWPで立ち上げている現在のWordPressのURLにアクセスすると、移行元と同じWordPressの画面が表示されていると思います。その後、きちんと管理画面にもアクセスできることを確認しましょう。

これで移行作業は終わりです。お疲れ様でしたー!

参考にした記事

以下の記事の手順を参考に移行作業を実施しました!

wordpressを丸ごと移管/移行させる手順

HerokuからWordPress移行したいなーと思ったときには、ぜひ参考にしてみて下さい。