とうとう独自ドメイン&別サーバーで運用することにしました!
というわけで、何らかの事情でWordPressのホスティングサーバーを変えたいときの為の覚え書き。ちょっと調べた限りでは、サーバー移転の場合の方法はあっても「サーバーとドメイン両方変更」の場合の情報がなかったので。(あまりないケースだとは思いますが。)
WordPressにはログのインポート/エクスポート機能がありますが、それだと記事のパーマリンクやタグ、プラグインの情報などが移動できないので、データベースごとごっそりと移動させます。
サーバーのみ変える場合の手順は以下の通り。(phpMyAdminを使っています。)
- 旧サーバーでデータベースを全て選択してファイルでエクスポート
- 新サーバーにWordPressをインストールして動作確認
- 新サーバーのデータベースを空にする
- 1のSQLデータをインポート
- プラグイン、テーマ、アップロードデータの移行
ドメインごと変える場合はちょっと手順が増えます。

- 旧サーバーでデータベースをwp-optionsテーブル以外全て選択してファイルでエクスポート
- 1のファイルを一括置換で旧ドメインから新ドメインに書き換える
- /home/***/htmlなどサーバー内のパスも書き換える
- 新サーバーにWordPressをインストールして動作確認
- 新サーバーのデータベースをwp-optionsのみ残して空にする
- 1のSQLデータをインポート
- プラグイン、テーマ、アップロードデータの移行
2のドメインおよびパスの書き換えを忘れると、投稿に使った画像が表示されませんし、うまく動作しません。
エクスポートの際、「wp_options」を除外すること、「長いInsert文」のチェックを外すこと、「ファイルに保存する」にチェックを入れることを忘れないでください。
wp_optionsを含めるとどうもうまくいかないようなので、ここだけエクスポート/インポートの手順から外します。(ドメインを書き換えてもうまくいかなかった)
なので移行後にブログの説明やパーマリンク設定などを手動で設定し直す必要があります。
あとはテーマやアップロードした画像などのデータの移行ですね。
SSHでシェルコマンドが使えるサーバーの場合は、SCPでそのまま受け渡しすると便利です。
[hoge@server]$ scp -r ./plugins/ hoge@new.server.info:/home/hoge/blog/wp-content/
[hoge@server]$ scp -r ./themes/ hoge@new.server.info:/home/hoge/blog/wp-content/
[hoge@server]$ scp -r ./uploads/ hoge@new.server.info:/home/hoge/blog/wp-content/
wp-contentごと移しちゃってもいいかも知れません。
シェルが使えない場合は、FTPクライアントで頑張ってダウンロード→アップロードしてください。
以上です!