WordPressのサーバー&ドメイン移転

とうとう独自ドメイン&別サーバーで運用することにしました!
というわけで、何らかの事情でWordPressのホスティングサーバーを変えたいときの為の覚え書き。ちょっと調べた限りでは、サーバー移転の場合の方法はあっても「サーバーとドメイン両方変更」の場合の情報がなかったので。(あまりないケースだとは思いますが。)

WordPressにはログのインポート/エクスポート機能がありますが、それだと記事のパーマリンクやタグ、プラグインの情報などが移動できないので、データベースごとごっそりと移動させます。

サーバーのみ変える場合の手順は以下の通り。(phpMyAdminを使っています。)

  1. 旧サーバーでデータベースを全て選択してファイルでエクスポート
  2. 新サーバーにWordPressをインストールして動作確認
  3. 新サーバーのデータベースを空にする
  4. 1のSQLデータをインポート
  5. プラグイン、テーマ、アップロードデータの移行

ドメインごと変える場合はちょっと手順が増えます。

  1. 旧サーバーでデータベースをwp-optionsテーブル以外全て選択してファイルでエクスポート
  2. 1のファイルを一括置換で旧ドメインから新ドメインに書き換える
  3. /home/***/htmlなどサーバー内のパスも書き換える
  4. 新サーバーにWordPressをインストールして動作確認
  5. 新サーバーのデータベースをwp-optionsのみ残して空にする
  6. 1のSQLデータをインポート
  7. プラグイン、テーマ、アップロードデータの移行

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クライアントで頑張ってダウンロード→アップロードしてください。
以上です!

タグ: , , , , ,

コメントをどうぞ