【WordPress】サイトの引越しの方法をまとめてみました

この記事は現役ウェブディベロッパーがわかりやすさにこだわって作成しました

WORDPRESSの引越しといっても、いろんなシチュエーションが考えられます。シチュエーションに応じたさまざまな方法があります。今回はWordPressの引越しいついて深堀してみます

WORDPRESSの引越しの手順はそんなに難しいわけではありません。

  1. 稼働中のサーバーで完全バックアップを取得します
  2. そのデータを新しい引越し先サーバーに転送します
  3. 新しいサーバー上にWordPressをインストールした後、データを復元します
  4. サイト名(URL)が変更になる場合は、データベース上のすべてのURL情報を新しいURLに変換します

それでは順をおってみていきます

  1. 稼働中のサーバーデータをバックアップする
    1. データベースのバックアップ
      1. 1.WORDPRESS管理画面で記事をエクスポートする
      2. 2.phpMyAdminなどのデータベースツールでデータベースをエクスポートする
      3. 3.WP CLIでデータベースをエクスポートする
      4. 4.《上級者向け》mysqldumpコマンドでデータベースをエクスポートする
      5. 5.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
    2. ファイルのバックアップ
      1. 1.データを圧縮せずにそのままFFFTPやWINSCPなどのクライアントソフトで直接ローカルに転送する
      2. 2.《上級者向け》tarコマンドででファイルを圧縮する
      3. 3.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
  2. 稼働中のサーバーから引越し先サーバーにデータを転送する
  3. 引越し先サーバーでデータをリストア(復元)する
    1. データベースをリストア(復元)する
      1. 1.WORDPRESS管理画面で記事をインポートする
      2. 2.phpMyAdminなどのデータベースツールでデータベースをインポートする
      3. 3.WP CLIでデータベースをインポートする
      4. 4.《上級者向け》mysqlコマンドでデータベースをインポートする
      5. 5.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってインポートする
    2. WordPressファイルをリストア(復元)する
      1. 1.tarコマンドでファイルを解凍する
      2. 2.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする
  4. データベースに登録されているサイトURL情報を新しいサーバーのURLに置き換える
    1. ・専用ツール”searchreplacedb2″を使用する
    2. ・WP-CLIの文字列リプレースコマンドを使用する
  5. ドメイン情報の変更
  6. さいごに

稼働中のサーバーデータをバックアップする

ワードプレスはリレーショナルデータベースを使用していますが、メディアファイルなどはフォルダ内にぞんざいします。

そこで、引越しはこの両方を丁寧に取り出して梱包する必要があります。

データベースのバックアップ

データベースは壊れ物です。丁寧に扱いましょう。

データベースからデータを取り出す方法は、以下の方法があります。

  1. WORDPRESS管理画面で記事をエクスポートする
  2. phpMyAdminなどのデータベースツールでデータベースをエクスポートする
  3. WP CLIでデータベースをエクスポートする
  4. 《上級者向け》mysqldumpコマンドでデータベースをエクスポートする
  5. 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする

1.WORDPRESS管理画面で記事をエクスポートする

WORDPRESSの基本機能に記事のエクスポート機能があります。
これを使用すると既存のWORDPRESSの記事をごっそり抜き出すことができます。
ただプラグインや管理画面の設定情報は、引っ越し先で新たに構築してあげる必要があります。

2.phpMyAdminなどのデータベースツールでデータベースをエクスポートする

レンタルサーバーをご利用でコントロールパネルからデータベースツールが使える場合や、すでに既存のサーバーにインストール済みの場合は、ツールを使うのが便利です。
筆者おすすめのツールは、adminer.phpです。このツールは1ファイルのみで動作して煩わしいインストール作業が不要です。ドキュメントルート内のどこかに配置するだけでOKです。

3.WP CLIでデータベースをエクスポートする

WP CLI(WordPress Command Line Interface)が使える環境ですと、WP DBコマンドでエクスポートするのがいいかもしれません。
https://wp-cli.org/ja/

4.《上級者向け》mysqldumpコマンドでデータベースをエクスポートする

コマンドラインからデータベースを扱えますと、データベースのダンプコマンドが高速です。ただ、データベースからデータの抽出方法をオプションで細かく指定してあげる必要があります。

5.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする

WordPressのプラグインを使用してエクスポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
このプラグインは内部でWP CLIを使用しております。
バックアップでデータベースとファイルのデータを一括で保存できます

ファイルのバックアップ

ファイルはWP-CONTENTフォルダ内にあるいくつかのフォルダを圧縮して取り出すだけです。

WP-CONTENフォルダは基本的にはWPがインストールされたドキュメントルートの直下にあります。
wp-confing.phpで変更することもできますので確認して作業します。

圧縮して持ち帰る必要があるのは、次の3つのフォルダです

  •  THEMES 
  •  PLUGINS 
  •  UPLOADS 

・THEMES

テーマに関するファイル一式です。
表示に必要なHTMLやCSSはテーマ内に存在しますのでこれがないと表示できません
引越し前のサーバーで使用していたテーマがない場合は、別のテーマに切り替わるので記事は同じでも見た目が変わります

・PLUGINS

現在インストールされているプラグイン一式です。
有効化されているかどうかにかかわらずすべてのインストール済みのプラグインがここに入っています

・UPLOADS

管理画面のメディアからアップロードした各種ファイルはすべてここに入っています。

ファイルをバックアップする方法は、以下の方法があります。

  1. データを圧縮せずにそのままFFFTPやWINSCPなどのクライアントソフトで直接ローカルに転送する
  2. 《上級者向け》tarコマンドででファイルを圧縮する
  3. 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする

1.データを圧縮せずにそのままFFFTPやWINSCPなどのクライアントソフトで直接ローカルに転送する

事前に圧縮することができないのでかなり時間がかかるかもしれません

2.《上級者向け》tarコマンドででファイルを圧縮する

コマンドラインから操作する必要がありますが、TARコマンドでフォルダごと圧縮します。

3.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする

WordPressのプラグインを使用してエクスポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
バックアップでデータベースとファイルのデータを一括で保存できます

簡単!バックアップ&リストア
主な機能 バック...

稼働中のサーバーから引越し先サーバーにデータを転送する

引越し元の梱包作業で作成した、データベースから取り出したデータとWordPressフォルダ内のデータファイル一式を引越し先に持っていきましょう。

圧縮したデータですとFFFFTPやWINSCPなどのクライアントソフトで転送しても比較的高速です。引越し元のサーバーに接続しての先ほど梱包したデータを一度すべてローカルに移します。

その後、引っ越し先のサーバーに接続しなおし、今度はローカルに移動した先ほどのデータを引越し先に移動します。

コマンドラインから操作できる場合は、SCPコマンドなどで梱包済みのデータを直接引越し先のサーバーに転送することも可能です。

引越し先サーバーでデータをリストア(復元)する

引越しでデータベースから取り出したデータとWordPressフォルダ内のデータファイル一式を適切な場所に展開します。

データベースをリストア(復元)する

データベースのインポートは以下の方法があります

  1. WORDPRESS管理画面で記事をインポートする
  2. phpMyAdminなどのデータベースツールでデータベースをインポートする
  3. WP CLIでデータベースをインポートする
  4. 《上級者向け》mysqldumpコマンドでデータベースをインポートする
  5. 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってインポートする

1.WORDPRESS管理画面で記事をインポートする

WORDPRESSの基本機能に記事のインポート機能があります。
ただプラグインや管理画面の設定情報は、引っ越し先で新たに構築してあげる必要があります。

2.phpMyAdminなどのデータベースツールでデータベースをインポートする

レンタルサーバーをご利用でコントロールパネルからデータベースツールが使える場合や、すでに既存のサーバーにインストール済みの場合は、ツールを使うのが便利です。
筆者おすすめのツールは、adminer.phpです。このツールは1ファイルのみで動作して煩わしいインストール作業が不要です。ドキュメントルート内のどこかに配置するだけでOKです。

3.WP CLIでデータベースをインポートする

WP CLI(WordPress Command Line Interface)が使える環境ですと、WP DBコマンドでエクスポートするのがいいかもしれません。
https://wp-cli.org/ja/

4.《上級者向け》mysqlコマンドでデータベースをインポートする

コマンドラインからデータベースを扱えますと、データベースのコマンドが高速です。

5.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってインポートする

WordPressのプラグインを使用してインポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
リストアを選択して引越し元でバックアップしたデータを選択するだけで、新しいサーバー環境にデータベースとファイルが展開され引越しが完了します。

WordPressファイルをリストア(復元)する

ファイルを展開するする方法は

  1. tarコマンドでファイルを解凍する
  2. 《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする

1.tarコマンドでファイルを解凍する

コマンドラインから操作する必要がありますが、TARコマンドでフォルダごと解凍します。
そのあと、解凍したデータを引越し先のWP-CONTENT以下の各フォルダに置き換えます

2.《簡単オススメ》簡単!バックアップ&リストアなどのプラグインを使ってエクスポートする

WordPressのプラグインを使用してエクスポートする方法がこの中でも一番簡単です。
おすすめは、こちらで開発しています「簡単!バックアップ&リストア」です。
余計な設定がなくシンプルでかつ必要なことがすべてできます。
バックアップでデータベースとファイルのデータを一括で保存できます

簡単!バックアップ&リストア
主な機能 バック...

データベースに登録されているサイトURL情報を新しいサーバーのURLに置き換える

データベースのデータにはWordPressが稼働するURLの情報が含まれています。データベースダンプのインポート直後はこのURLが移行前のものになっていますので、これを新しいURLに変更します。

※引越し前後でサイトURLが変更ない場合はこの処理は必要ありません。

※以前はダウンロードしたデータベースをそのままテキストエディタで開いて一括置換するという方法が推奨されていましたが、現在はCodexから記載が削除ており、おすすめできません。
理由は、変更対象の文字列だけでなく、その文字列の長さなど関連する情報が格納されていることもあるため(シリアライズ)、対象の文字列を変更しただけでは、不整合が生じて表示されなくなることがありからです。

サーバーURLを変更する方法は、

  • 専用ツール”searchreplacedb2″を使用する
  • WP-CLIの文字列リプレースコマンドを使用する

・専用ツール”searchreplacedb2″を使用する

今回は一括置換作業を簡単に行えるツールを使用します。以下のサイトからsearchreplacedb2というツールをダウンロードし、wp-config.phpを設置しているディレクトリにアップロードして使用します。

詳細はこちらを参照ください

Database Search and Replace Script in PHP | inter.connect
Search Replace DB is a powerful tool for developers, allowing them to run a search replace against their database where CLI tools or WP plugins can’t work.

・WP-CLIの文字列リプレースコマンドを使用する

シリアライズに対応している検索・置換するためのコマンドです。

wp search-replace [old] [new]

ドメイン情報の変更

サーバーの引越しが完了したら引越し先のグローバルIPアドレスをドメインに紐づけるためにネームサーバーを書き換えます。

ドメイン管理会社のサイトからコントロールパネルを開いて、ネームサーバーのAレコードを新しいサーバーのIPアドレスに変更します。

変更してもしばらくは古いサーバーをさしていると思いますが、浸透してくると新しいサーバーにとんでくるようになると思います。

ドメイン名が変更になる場合は、古いサーバーにアクセスされた場合は、新しいドメインにリダイレクトするようにします。

いくつか方法はありますが、もっとも一般的な方法として.htaccessファイルにリダイレクトルールを入れるのがよいと思います。

.htaccessに次のルールを追加します。

Redirect 301 / http://www.new-website.com

なお mod_rewriteを有効にする必要があります

詳細は以下のサイトを参照ください。

301 Redirects | CSS-Tricks
This is the cleanest way to redirect a URL. Quick, easy, and search-engine friendly. Remember HTAccess stuff is for Apache servers only.

さいごに

サーバー引越しは簡単なようで以外に手間がかかります。データベースやワードプレスファイルは正しく引越し元から持ってきていても動作環境の違いから動作しないこともよくあります。その場合は、WordPressのバージョンから使用しているOSやPHPのバージョンや設定を調べて環境になにか違いがないかよく確認することが大切です。

サーバーサイトの引越しの説明は、以上になります。

※記事の中で紹介させていただいていたプラグイン「簡単!バックアップ&リストア」はこちらです!

404 NOT FOUND | 【保存版】初心者向けWordPressブログ始め方!完全解説
現役ウェブ開発者がWordPressブログ構築やカスタマイズの方法などをわかりやすく説明しています

最後まで読んでいただきありがとうございました。

参考

この記事の作成にあたって以下のサイトを参考にさせて頂きました。

http://wpdocs.osdn.jp/WordPress_%E3%81%AE%E5%BC%95%E8%B6%8A%E3%81%97
WordPressの引っ越しに便利な wp search-replace | Gatespace's Blog
WP-CLIアドベントカレンダーの2日目担当の @gatespace_k です。 今日は個人的に一番便利な機能 wp search-replace
mysqldumpまとめ - Qiita
あまり見やすくて、わかりやすいmysqldumpコマンドに関する情報がなくてまとめました基本的なオプション※その他よく使うオプション使用例以下オプションの値をそれぞれの環境にあわせて、使用し…
PHP/Javascript/WORDPRESS案件全般承ります

この記事についてのご質問またはお困りのことがございましたら、お気軽にお問い合わせください。

タイトルとURLをコピーしました