BackWPupでバックアップしたWordPressサイトをローカルPCに復元する方法

WordPress個別サポート

レンタルサーバーにお試し感覚で作成していたWordPressサイトも、カスタマイズが進んでくると、一度ローカルPCなどのテストサイトでカスタマイズ内容を確認してから本番サイトにアップロード、反映するような作業が必要になってきます。

そこで、BackWPupプラグインでバックアップしたデータを元に、WordPressサイトをローカルコンピュータに復元する方法を紹介します。事前に行うWordPressサイトのバックアップ方法については以下のページをご覧ください。

BackWPupによるWordPressサイトのバックアップ方法

以下の記事はローカルコンピュータに、WordPressの動作に必要なPHPとMySQLの動作環境を構築する定番ツールXAMPPがインストールされていることを想定しています。

ファイル一式のコピー

BackWPupプラグインで作成したバックアップファイルを解凍します。そのディレクトリの中にWordPress本体のwp-admin、wp-content、wp-includesのディレクトリ群があることを確認し、ファイル一式を、PHPが動作するディレクトリ(例:C:\xampp\htdocs\)にコピーします。

ファイル一式をコピー
ファイル一式をコピー

コピーしたディレクトリを任意の名前に変更します。このディレクトリ名はWordPressサイトのURLに使われます(例:http://localhost/wpc/nishizawa/)。

ディレクトリ名の変更
ディレクトリ名の変更

このディレクトリの中は次のような構成になっています。wp-admin、wp-content、wp-includesのディレクトリ群(1)、が含まれていない場合は、バックアップをやり直してください(または、FTP経由でダウンロード)。

ディレクトリの構成
ディレクトリの構成

拡張子がsqlのデータベース作成スクリプト(2)が含まれていない場合は、データベースのバックアップを有効にして、バックアップをやり直してください。設定ファイル(3)は後で編集します。

データベースの作成

ここから、データベースを復元していきます。ローカルコンピュータのXAMPPに付属するデータベース管理ツールphpMyAdminを使う例で説明します。

XAMPPのトップページ(http://localhost/)にアクセスして、「phpMyAdmin」をクリックします。

「phpMyAdmin」をクリック
「phpMyAdmin」をクリック

※phpMyAdminのURL(http://localhost/phpmyadmin/)に直接アクセスすることもできます。

データベースを作成するため、「データベース」をクリックします。

「データベース」をクリック
「データベース」をクリック

作成するデータベースの名前(1)を入力し、照合順序(2)で「utf8_general_ci」を選択し、「作成」ボタン(3)をクリックします。

データベースの作成
データベースの作成

データベースが作成され、一覧表示されます。

作成されたデータベース
作成されたデータベース

このデータベース名は、設定ファイル(wp-config.php)に入力します。メモしておきましょう。

データベースの復元

上記のデータベース名をクリックして、データベースメニューに移動します。

データベースメニューの表示
データベースメニューの表示

「このデータベースにはテーブルがありません」と表示されるはずです。ここに、WordPressのデータベースを復元します。

「インポート」(1)をクリックして、データインポートメニューを開きます。

データインポートメニュー
データインポートメニュー

「ファイルの選択」をクリックして、バックアップファイルに含まれるSQLファイルを選択(2)し、すぐ下の「ファイルの文字セット」が「UTF-8」になっていることを確認します。

場合によってはインポートが長時間におよぶこともあるので、「制限時間が近くなったときにスクリプト側でインポートを中断できるようにします。」のチェック(3)をはずしておきましょう。

フォーマット(4)が「SQL」になっていることを確認し、画面を下にスクロールして「実行する」ボタンをクリックします。

データのインポートが実行され、WordPressデータベースが復元されます。

インポートが完了すると、WordPressのデータが格納されたテーブルが一覧表示されます。デフォルトでは11個ですが、インストールしたプラグインによってテーブルが作成される場合があるので、テーブル数はさまざまです。

インポートの完了
インポートの完了(作成されたテーブルの一覧表示)

テーブル名はデフォルトでは「wp_posts」のような名前ですが、バックアップしたWordPressのインストール時に指定した接頭辞(接頭語)によっては「wp_fudosan_posts」などの名前になります。

インポートしたデータの確認

インポートがうまくいったか確認するため、投稿や固定ページが格納されているwp_postsテーブル(ここでは「wp_fudosan_posts」)のリンクをクリックしてみましょう。

※マウスオーバーすると、データ件数が表示されます。

wp_postsの内容の確認
wp_postsの内容の確認

データが一覧表示され、「サンプルページ」など、見覚えのある投稿や固定ページの内容が表示されるはずです。バックアップファイルからWordPressデータベースが復元されたということです。

復元されたデータ
復元されたデータ
データベースの復元をやり直したい場合は、データベースの中に作成されたテーブルをすべて削除する方法があります。それには、データベースメニューで一覧表示されたテーブルの下にある「すべてチェックする」(1)を選択して、すべてのテーブルがチェックされたことを確認後、「チェックしたものを」(2)で「削除」を選択します。

データベーステーブルの削除
データベーステーブルの削除

「本当に実行しますか?」の確認画面が表示されるので、「はい」をクリックします。

テーブルの削除確認
テーブルの削除確認

テーブルが削除され、「このデータベースにはテーブルがありません」の状態に戻ります。

テーブル削除の完了
テーブル削除の完了

※くれぐれも、関係のないデータベースのテーブルを削除しないように注意しましょう。

設定ファイル(wp-config.php)の変更

データベースは復元できたので、wp-config.phpを開いて、新たなデータベースを使うために設定を変更します。まず、次の4項目です。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'データベース名');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'ユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

データベース名は、上記で作成したデータベースの名前に変更します。ユーザー名とパスワードは、phpMyAdminにアクセスするために使った情報を設定します。よくわからないときはユーザー名を「root」にパスワードを空「''」にしてみてください。

ホスト名はデータベースサーバーの名前です。ここではローカルコンピュータを想定しているので「localhost」で大丈夫なはずです。

さらに、次の2行を入力します。

define('WP_SITEURL', 'http://localhost/wpc/nishizawa/');
define('WP_HOME', 'http://localhost/wpc/nishizawa/');

これは、「設定」‐「一般」メニューで設定されている「WordPress アドレス (URL)」「サイトアドレス (URL)」を強制的に変更する設定です。復元先のURLがバックアップ元と異なる場合、うまく動作しないための措置です。

※変更といっても、WordPressデータベースの設定は変更されません。動作上、wp-config.phpに記述した設定が優先されるということです。

ダッシュボードの次の項目が強制的に設定されます。

サイトアドレスを強制的に変更
サイトアドレスを強制的に変更

※この項目はデータベースのwp_optionsテーブルのoption_nameフィールドが「siteurl」「home」のデータを直接変更することで設定できますが、話が長くなるので説明は省略します。

復元したWordPressサイトへのアクセス

復元したWordPressサイトにアクセスします。XAMPPの場合、htdocsディレクトリが「http://localhost/」というアドレスになるので、それを基準にします。

たとえば、「htdocs\wpc\nishizawa」という位置にバックアップファイル一式をコピーした場合、「http://localhost/wpc/nishizawa/」というアドレスになります。

復元したサイト
復元したサイト

※WordPressをインストールするわけではないので、インストール画面は表示されません。もしインストール画面が表示されるようなら、データベース設定が間違っているということです(新たなデータベーステーブルを作成しようとしている)。

画面が真っ白になる場合は、使用中のテーマがバックアップに含まれていなかったことが考えられます。

復元したサイトが真っ白に
復元したサイトが真っ白に

この場合、元のサイトの「wp-content\themes\テーマ名」ディレクトリを、復元したサイトのwp-content\themesディレクトリにコピーしましょう(バックアップをやり直しても大丈夫です)。

テーマのダウンロード
テーマのダウンロード

※この画面は、FTPソフト「FFFTP」の例です。

また、バックアップにプラグイン(wp-content\pluginsディレクトリ)を含めなかった場合も、必要に応じてFTPなどでダウンロードしましょう。

バックアップしたサイトで使っていたテーマの名前を忘れてしまった場合は、phpMyAdminを使って次の方法で確認できます。

phpMyAdminで、復元するWordPress用に作成したデータベースのメニューにアクセスし、「SQL」をクリック(1)し、開いた画面のテキストエリア(2)にSQLを入力します。

テーマ確認用のSQLの入力
テーマ確認用のSQLの入力

入力したSQLは次のとおりです。

SELECT * FROM wp_fudosan_options
WHERE option_name = 'current_theme'

※便宜上、改行していますが、1行で入力しても大丈夫です。
※テーブル名の「wp_fudosan_options」はWordPressインストール時の接頭辞によって異なりますが、デフォルトでは「wp_options」です。

画面右下の「実行する」ボタンをクリックすると、テーマ名が表示されます。ここでは、Twenty Tenを使っているということです。

現在使用中のテーマ
現在使用中のテーマ

ダッシュボードにログイン

元のサイトのダッシュボード(http://WordPressアドレス/wp-admin/)には、元のサイトで使っていたユーザー名、パスワードでログインすることができます。

ダッシュボードにログイン
ダッシュボードにログイン

「パーマリンクの更新」を忘れずに!

ダッシュボードにログインしたら、とりあえず、「設定」‐「パーマリンク設定」メニューで「変更を保存」ボタンをクリックしてください。

パーマリンクの「変更を保存」をクリック
パーマリンクの「変更を保存」をクリック

パーマリンク設定を変更していなくても、お約束として「変更を保存」ボタンをクリックしましょう。これで、個別ページを参照できるようになります。

投稿・固定ページの確認

投稿、固定ページ、各種設定などが復元されていることを確認しましょう。

復元された固定ページ
復元された固定ページ

※コンテンツを復元するために、「ツール」‐「インポート」メニューからインポートする必要がないということです。

ただし、アップロードした画像のパスなど、投稿や固定ページの本文にあるURL情報がバックアップ元のサイトのままだということに注意しましょう。

投稿本文のURLは古いまま
投稿本文のURLは古いまま

用途によってはそのままでも問題ありませんが、必要に応じてSearch Regexプラグインなどで本文のURLを置き換えましょう。その方法は以下の記事を参考にしてください。

WordPressサイトの移行後、インポートした投稿や固定ページの画像が表示されない

プラグインの確認

wp-content\pluginsディレクトリ以下に各プラグインをコピーしていない(バックアップしていなかった場合など)に、「プラグイン」‐「インストール済みプラグイン」メニューにアクセスすると、エラーメッセージが表示されます。

プラグイン使用停止メッセージ
プラグイン使用停止メッセージ

これは、復元したデータベースでは「Aプラグインを使用中」となっていたのに、そのプラグインがwp-content\pluginsディレクトリ以下に存在しないため、いったんプラグインを停止したというメッセージです。

この場合、使用中のプラグインをインストールし直すか、バックアップ元のwp-content\pluginsディレクトリを復元先にコピーしてプラグインを有効化すれば大丈夫です。

まとめ

このようにして、WordPressサイトの復元(サイト移転・サイトコピー)は完了です。まとめると、以下のファイルを復元しました。うまくいかなかった場合は、バックアップをやり直したり、不足するリソースをFTPでダウンロードするなどしましょう。

  • WordPress本体 --- ファイル一式(wp-xxxxxディレクトリ)
  • 設定ファイル(wp-config.php)
  • SQLファイル(例:wordpress_nishizawa.sql) --- データベースをバックアップすると作成される
  • テーマ --- wp-content\themesディレクトリ以下にある
  • プラグイン --- wp-content\pluginsディレクトリ以下にある

これらはすべて、BackWPupプラグインでバックアップすることができます。詳しくは以下のページをご覧ください。

BackWPupによるWordPressサイトのバックアップ方法