WP STAGING でサイト全体を保存する方法、そして他のどの Backup Plugin よりもはるかに高速に WordPress サイトを Backup・Restore する方法を解説します。
WP STAGING を使うと、WordPress サイト全体の Backup をワンクリックで作成してローカルに保存できます。スケジュールされた Backup プランを設定することもできます。更新された Plugin や攻撃によってサイトが壊れても、Restore して以前の正常な状態に戻せます。
TL;DR: WP STAGING は WordPress のファイルとデータベースを 1 つの暗号化されたアーカイブに Backup します。Restore はワンクリックで、手動の SQL インポートや FTP は不要です。
Contents
読むより動画で見たい方は、こちらをご覧ください。WordPress の Backup・Restore のすべての手順を解説しています:
WordPress を Backup
WordPress の Backup を Restore
Backup を作成する前に
Backup を開始する前に、いくつか簡単に確認しておけば、よくある問題を防げます:
- 使用可能なディスク容量を確認します。 WP STAGING は Backup アーカイブをサーバーのファイルシステムに書き込みます。サイト全体の Backup には、現在の WordPress インストールサイズと同程度の空き容量が必要です。ホスティングのコントロールパネルか、サーバーで
df -hを実行して確認してください。 - Backup の実行中は強力なキャッシュ Plugin を無効化してください。一部のオブジェクトキャッシュ Plugin はデータベース接続を保持しており、データベース全体のダンプを妨げる可能性があります。Backup が完了したら再度有効化してください。
- Backup の途中で書き込みが発生して一貫性のないスナップショットが作られる恐れがある、忙しい EC・会員サイトを Backup する場合は、メンテナンスモードを有効化してください。
- Backup の保存先を確認します。 デフォルトでは、WP STAGING は
.wpstgアーカイブをwp-content/uploads/wp-staging/backups/配下に保存します。そのディレクトリが書き込み可能であることを確認してください。
Staging から本番への変更を Push する前に本番サイトを Backup する場合は、ファイルやデータベースに変更を加える前に、まず Backup を実行して完了することを確認してください。
WP STAGING がデータベース層で何を Backup しているかを理解するには、WordPress データベース構造のガイドが各コアテーブルを説明しています。WordPress.org 自体の Backup ドキュメントでは、すべての WordPress Backup に含めるべき基本事項が解説されています。
WordPress サイトの Backup を作成する
Backup の種類
開始する前に、含めるコンポーネントを選びます。WP STAGING には 4 種類の Backup スコープがあります:
| Backup 種別 | 含まれる内容 | 使用するタイミング |
|---|---|---|
| サイト全体 | データベース + Plugin + Theme + メディア | 大規模な更新・移行・デプロイの前 |
| データベースのみ | すべての WordPress テーブル | データのみに影響する Plugin 更新やスキーマ変更の前 |
| ファイルのみ | Plugin + Theme + uploads (データベース除く) | データが変更されない Theme カスタマイズの前 |
| スケジュール Backup | フルまたは一部、自動実行 | 自動的な日次・週次保護のため |
Plugin を使わない生のデータベースエクスポートの背景については、MySQL の mysqldump ドキュメントがデータベース専用エクスポートの内容と Plugin 管理の Backup との違いを解説しています。
ステップバイステップ
まだの方は、まず WP STAGING | PRO Plugin をインストールし、「WP STAGING | PRO のインストール方法」をお読みください。
WP STAGING > Backup & Migration に移動します:

「CREATE BACKUP」をクリックします。

表示されるモーダルで、Backup を識別しやすくする名前を割り当て、サイト全体を Backup するか、Plugin・Theme・メディアファイル・データベースのみを Backup するかを選択します。
WordPress マルチサイトを運用している場合は、すべてのサイトを Backup するか、現在のネットワークサイトのみを Backup するかを指定できます。

例えば、WooCommerce や他の Plugin を更新する予定があれば、Backup の名前を「Backup before installing WooCommerce」のようにすることができます。
続いて、WP STAGING | PRO が Backup に含めるべきサイトのコンポーネントを選択します。特定の要素のみを含めたい場合を除き、すべてのチェックボックスを選択したままにしてください。
「Start Backup」をクリックします。
Backup の作成にかかる時間はサイトのサイズによって異なります。WP STAGING 4.x での当社のテストでは、500 MB 未満のサイトは 1 分以内に Backup できます。WP STAGING は通常、大規模サイトで他の Backup Plugin よりも高速です。

Backup の準備ができると、「Your Backups」に表示されます。アイコンは、Backup に含まれているコンポーネントを示します。

Backup ファイルをダウンロードする
Backup をダウンロードするには、Actions > Download をクリックします。これで「.wpstg」拡張子のファイルがダウンロードされます。

Backup ファイルはローカルコンピュータにダウンロードしておくことを強くお勧めします。攻撃者にサーバーが侵害された場合、そこに保存された Backup ファイルが削除されて、Restore できる状態が残らない可能性があります。

同じサーバーまたは別のサーバーで Backup を Restore (移行)
WP STAGING のサポート経験から、最もよくある Restore 失敗の原因はテーブルプレフィックスの不一致です。Backup がデフォルト以外のプレフィックスを持つサイトで作成された場合、Restore を開始する前に、移行先の wp-config.php が同じプレフィックスを使用していることを確認してください。詳細なオプションについてはRestore ドキュメント全文を参照してください。
同じサーバーへの Restore
Backup を Restore するには、WP STAGING > Backup & Migration の既存リストから選択して、Actions > Restore をクリックします。WP STAGING は現在のサイトのファイルとデータベースを Backup の内容で置き換えます。
Restore が完了したら、サイトを開いて期待どおりに動作することを確認してください。
新しいホストへの Restore (移行)
Backup ファイルを既存の他の WordPress サイトにアップロードして、サイトを別のホスティングプロバイダーやサーバーにクローンできます。移行先のサイトでも事前に移行前の Backupを取っておくようにしてください。
WP STAGING に戻って「Upload Backup」ボタンをクリックします。

Backup はローカルコンピュータからアップロードすることも、より高速な方法として、移行元サイトから Backup の URL をコピーすることもできます。URL をコピーするとサーバー間で Backup ファイルが直接転送され、ローカルからのアップロードよりも通常はるかに高速です。

任意 — ローカルコンピュータから Backup をアップロードする場合は、このステップは省略してください:
Backup の URL を使って Backup をアップロードしたい場合は、移行元サイトの WP STAGING > Backup & Migration > Actions > Copy Backup URL に移動します:

Backup がアップロードされたら、Actions をクリックして Restore を選択します。

Backup の Restore が成功すると、「Finished」モーダルが表示されます。

サイトを開いて、意図したとおりに動作し、完全に機能していることを確認します。
これで完了です! 🙂
関連するワークフローについては、Backup または Staging クローンの作成を参照してください。どちらのアプローチも変更前にサイトを保護しますが、Staging クローンはコピーをライブで編集可能にする一方、Backup はある時点のスナップショットです。
コマンドラインから Restore
大規模な Backup やヘッドレスサーバー環境向けに、WP STAGING は Linux・macOS・Windows でのコマンドラインでの Backup アーカイブの展開をサポートしています。非常に大きなサイトでブラウザベースの Restore が PHP タイムアウトで失敗する場合に便利です。
マルチサイトの Backup を別のマルチサイトに Restore
マルチサイトネットワークから作成した Backup を、別の既存マルチサイトで Restore したい場合 (例: マルチサイトを別のサーバーにコピーする場合) には、運用しているマルチサイトの種類に応じていくつか考慮すべき点があります:
- サブディレクトリベースのネットワークサイト (例: mysite.com/site1、mysite.com/site2)
- サブドメインベースのネットワークサイト (各サイトが独自のドメインを持つ。例: sub.example.com、sub2.example.com など)
- ドメインベースのネットワークサイトは、どちらのインストール種別でも設定できます。
WP STAGING は次のマルチサイト設定に標準で対応しています:
サブディレクトリ Backup をサブディレクトリマルチサイトに Restore
example.com は destination.com になります
example.com/site1 は destination.com/site1 になります
example.com/site2 は destination.com/site2 になります
サブディレクトリ Backup をサブドメインマルチサイトに Restore
example.com は destination.com になります
example.com/site1 は site1.destination.com になります
example.com/site2 は site2.destination.com になります
サブドメイン Backup をサブディレクトリマルチサイトに Restore
example.com は destination.com になります
site1.example.com は destination.com/site1 になります
site2.example.com は destination.com/site2 になります
サブドメイン Backup をサブドメインマルチサイトに Restore
example.com は destination.com になります
site1.example.com は site1.destination.com になります
site2.example.com は site2.destination.com になります
ドメインベース Backup をサブディレクトリマルチサイトに Restore
example.com は destination.com になります
site1.com は destination.com/site1.com になります
site2.com は destination.com/site2.com になります
トップレベルドメインの末尾 (例: *.com、TLD) を削除するには、このフィルターを使えます:
add_filter('wpstg.backup.restore.multisites.subsites', function($sites, $baseDomain, $basePath, $siteURL, $homeURL, $isSubdomainInstall) {
$adjustedSites = [];
foreach ($sites as $key => $site) {
$site['adjustedPath'] = str_replace('.com', '', $site['adjustedPath']);
$site['adjustedSiteUrl'] = $site['adjustedDomain'] . $site['adjustedPath'];
$site['adjustedHomeUrl'] = $site['adjustedDomain'] . $site['adjustedPath'];
$adjustedSites[] = $site;
}
return $adjustedSites;
}, 10, 6);このフィルターを mu-plugin にコピーしてから、Backup の Restore 処理を開始してください。
結果として:
example.com は destination.com になります
site1.com は destination.com/site1 になります
site2.com は destination.com/site2 になります
ドメインベース Backup をサブドメインマルチサイトに Restore
example.com は destination.com になります
site1.com は site1.com.destination.com になります
site2.com は site2.com.destination.com になります
トップレベルドメインの末尾 (例: *.com、TLD) を削除するには、上記と同じフィルターを使えます:
add_filter('wpstg.backup.restore.multisites.subsites', function($sites, $baseDomain, $basePath, $siteURL, $homeURL, $isSubdomainInstall) {
$adjustedSites = [];
foreach ($sites as $key => $site) {
$site['adjustedDomain'] = str_replace('.com.', '.', $site['adjustedDomain']);
$site['adjustedSiteUrl'] = $site['adjustedDomain'] . $site['adjustedPath'];
$site['adjustedHomeUrl'] = $site['adjustedDomain'] . $site['adjustedPath'];
$adjustedSites[] = $site;
}
return $adjustedSites;
}, 10, 6);example.com は destination.com になります
site1.com は site1.destination.com になります
site2.com は site2.destination.com になります
マルチサイト Backup の Restore 時に移行先のホスト名を置き換える
マルチサイト Backup の Restore 時に移行先マルチサイトのホスト名を変更するには、下のフィルターを使ってください。
例
www.example.com は sandbox.example.com になります
add_filter('wpstg.backup.restore.multisites.subsites', function($sites, $baseDomain, $basePath, $siteURL, $homeURL, $isSubdomainInstall) {
$adjustedSites = [];
foreach ($sites as $key => $site) {
$site['adjustedDomain'] = str_replace('www.', 'sandbox.', $site['domain']);
$site['adjustedSiteUrl'] = $site['adjustedDomain'] . $site['adjustedPath'];
$site['adjustedHomeUrl'] = $site['adjustedDomain'] . $site['adjustedPath'];
$adjustedSites[] = $site;
}
return $adjustedSites;
}, 10, 6);これで完了です。WP STAGING | PRO で WordPress サイト全体の Backup を作成し、Backup からの Restore や別システムへの移行方法を学べました。
Restore が失敗した場合の対応
Restore 失敗の大半は、原因が単純です。サポートチケットを開く前に、次のチェックを順に進めてください。
Restore 後のホワイトスクリーン
Restore 後のホワイトスクリーン (HTTP 500) は、通常 PHP エラーや欠落した Plugin ファイルを示しています。wp-config.php で WP_DEBUG_LOG を有効にして wp-content/debug.log を確認するか、サーバーの PHP エラーログを確認してください。より広範な診断ワークフローについては、Restore 失敗のトラブルシューティングを参照してください。
Restore 後にログインできない
Restore 後に wp-admin のパスワードが受け付けられない場合、Backup のユーザーテーブルに、移行先で想定していたものとは異なる認証情報が含まれている可能性があります。専用ガイドを参照してください: Backup の Restore 後にログインできない。
データベース接続エラー
Restore 後の「Error establishing a database connection」は、移行先の wp-config.php の DB_HOST・DB_NAME・DB_USER・DB_PASSWORD 定数が新しいサーバーの認証情報と一致していないことを意味します。wp-config.php を新しい環境に合った正しい値で更新してください。
Restore 後のパーマリンク 404
Restore が成功してもページが 404 エラーを返す場合は、Settings > Permalinks に移動して Save Changes をクリックしてください。コンテンツの変更なしに .htaccess が再生成されます。
.htaccess が Restore されない
WP STAGING はサイト全体の Backup に .htaccess を含めます。Restore されなかった場合 (例えばファイルのみまたはデータベースのみの Backup を使用した場合) は、Settings > Permalinks から再生成するか、参照用の WordPress インストールからクリーンな .htaccess をコピーしてください。
完全にアクセス不能なサイトを含むより広範な復旧シナリオについては、WordPress Backup の Restoreを参照してください。