無料&運用の手間いらずで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を立ち上げます。

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

次に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の管理画面の以下の場所に表示されているので、これをメモしておきます。

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

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

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

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

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

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

これでインポートの準備が整いました! 次はphpMyAdminを利用してSovaWP側のWordPressにデータをインポートします。
3. phpMyAdminでインポートする
SovaWPの以下の画面からphpMyAdminにアクセスします。

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

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

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

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

これでデータのインポートは完了です。
4. 動作確認
無事データが移行できていれば、SovaWPで立ち上げている現在のWordPressのURLにアクセスすると、移行元と同じWordPressの画面が表示されていると思います。その後、きちんと管理画面にもアクセスできることを確認しましょう。
これで移行作業は終わりです。お疲れ様でしたー!
参考にした記事
以下の記事の手順を参考に移行作業を実施しました!
HerokuからWordPress移行したいなーと思ったときには、ぜひ参考にしてみて下さい。