WordPress サイトを別のホストに移行する

TL;DR: 移行元と移行先の両方のサイトに WP STAGING Pro をインストールします。移行元でフル Backup を作成し、.wpstg Backup ファイルを移行先に転送 (Backup URL または直接アップロード) して、Restore をクリックします。一般的なサイトであれば、全プロセスは 30 分以内で完了します。

⚡ より高速な方法もあります
Remote Sync を使えば、サーバー間でサイトを数分で直接移行できます。 → あるサーバーから別のサーバーへ WordPress サイトを Pull する

この記事では、WP STAGING Pro で WordPress サイトを Backup して移行する方法を説明します。

この Backup 機能を使えば、WordPress サイト全体を別のドメイン新しいホスト新しいサーバーに移行・コピーできます。他の Plugin よりも高速で信頼性の高いことが多いです。

WP STAGING の Backup 機能は、Staging サイトを本番サイトへ移行する用途にも使えます。Backup と Restore のフローは、低速接続や共有ホスティングの時間制限にも耐えるチャンク転送によって、大規模サイトを確実に処理します。

移行前のプリフライトチェックリスト

開始前にこのチェックリストを確認しておくと、最もよくある移行の失敗を避けられます:

  • 新しいホストが準備できている。 Restore を実行する前に、移行先サーバーに WordPress がインストールされている必要があります。WordPress がまだインストールされていない場合は、WP STAGING Restore のスタンドアロンツールを使えば、WordPress のインストールと Backup の Restore を 1 つのステップで実行できます。
  • PHP と MySQL のバージョン互換性。 移行先のホストが、移行元と同等以上の PHP バージョンと MySQL バージョンで動作していることを確認してください。バージョンの不一致は、Restore 後のホワイトスクリーンのよくある原因です。
  • 現在のテーブルプレフィックスを記録する。 デフォルトは wp_ ですが、多くのサイトではカスタムプレフィックスを使用しています。今のうちに記録しておきましょう。トラブルシューティング時に必要になる可能性があります。
  • キャッシュと CDN Plugin を無効化する。 LiteSpeed Cache、W3 Total Cache、WP Rocket などのキャッシュ Plugin、有効な CDN プロキシは、古いアセットパスや誤ったベース URL を Backup に埋め込む可能性があります。Backup を作成する前に無効化し、新しいホストで Restore が検証されてから有効化してください。
  • DNS の TTL を記録する。 ドメインレジストラにログインして、A レコードの現在の TTL を確認してください。300 秒より長い場合は、DNS 切り替えの 24 時間前に短縮しておくと、伝播が早く完了します。
  • 切り替えのタイミングを計画する。 移行はトラフィックの少ない時間帯にスケジュールしてください。新しいサイトが検証され、DNS が完全に伝播するまで、古いホストは稼働させたままにしてください。

どの移行方法を使うべきか

方法 最適な用途 Plugin が必要? 大規模サイトに対応?
WP STAGING Pro の Backup・Restore 新しいホストやドメインへのサイト全体の移行 はい (WP STAGING Pro) はい — チャンク転送で複数 GB のサイトに対応
手動 FTP + phpMyAdmin Plugin にアクセスできないシンプルなサイト いいえ 数百 MB を超えると脆弱
All-in-One WP Migration ワンクリックでのエクスポート / インポート はい (サードパーティ) 無料プランは 512 MB が上限
マネージドホストの移行サービス 新しいホストに移行を任せる いいえ はい。ただしスケジュールはホスト次第

当社のサポートキューでは、手動 FTP 移行の失敗が、WP STAGING の Backup・Restore の失敗よりも大幅に多くなっています。数百 MB を超えるサイトや、カスタムデータベースプレフィックス・マルチサイト・標準外のテーブル構造を持つサイトでは、WP STAGING のチャンク Backup が最も信頼性の高いオプションです。

WordPress を新しいホストに移行する方法

記事を読むよりも動画で見たい方は、以下の動画をご覧ください。WordPress を新しいホストに移行するすべてのステップを解説しています:

WordPress サイトの Backup を作成する

重要: WordPress マルチサイトをドメイン構造が異なる別のホスト (例: ドメインとサブドメイン) に移行したい場合は、フィルターで移行先ドメインをカスタマイズする必要があります。詳細はこの記事で説明されています。

では始めましょう。

まず、WP STAGING | PRO Plugin を開いて、「Backup & Restore」ボタンをクリックします。

Migrate Your WordPress Site to another domain or host by using WP STAGING Backup
Backup & Restore ボタン

Create new Backup」をクリックします。

Migrate Your WordPress Site to another domain by using WP STAGING Backup | Create New Backup Button
Create New Backup ボタン

任意で、ここに Backup の名前を設定することもできます。サイト全体の Backup を作成するには、すべてのチェックボックスを選択したままにしてください。

Transfer WordPress Site to Another Host
Backup の名前を設定する

続いて「Start Backup」をクリックします。

Start the Backup Process
Backup プロセスを開始する

Backup の準備ができると、Backup Complete というメッセージが表示されます。

WordPress Backup Completed
Backup 完了

リモートサイトに Backup ファイルをアップロードする

移行先のリモートサイトに Backup ファイルをアップロードする方法は 2 つあります:

  • Backup ファイルへのリンクを使って直接アップロードする。(最速の方法)
  • まずダウンロードしてから、アップロードフォームまたは sFTP 経由で移行先サーバーに Backup をアップロードする。(やや遅いですが、Backup ファイルがローカルコンピュータにある場合に便利)

オプション 1: Backup URL を使って直接アップロードする

WP STAGING -> Backup & Migration に移動します。Backup を選択してActions -> Copy Link to Backup をクリックします。

移行先のリモートサーバーで WP STAGING -> Backup & Migration を開きます。Upload Backup をクリックし、Ctrl+V (Win / Linux) または Cmd+V (Mac) で Backup ファイルへのリンクを貼り付けます。リンクには一意のハッシュが含まれているので、権限のない第三者には推測できません。

Upload をクリックすると、ファイルが移行元サイトからリモートサイトへ転送されます。
アップロード後は、Backup リストからアクセスして、次のステップでその Backup ファイルを Restore できます。

オプション 2: まずダウンロードしてから移行先サーバーにアップロードする

Actions をクリックして Download を選択します。

Download the Backup
Backup をダウンロード

これで、サイト全体が「.wpstg」拡張子の 1 ファイルにパックされてダウンロードされます。

The Backup File with the Extension ".wpstg"
「.wpstg」拡張子の Backup ファイル

新しいホストに Backup ファイルをアップロードする

次のステップで唯一必要なのは、サイトを移行するために 移行先のホストに WordPress がすでにインストールされていることです。これは新規の WordPress サイトでも、移行元サイトと同一にしたい別のサイトでも構いません。

リモートサーバーに WordPress がインストールされていない場合は、WP STAGING | Restore スタンドアロンツールを使えます。空のサーバーに WordPress をインストールし、1 つのステップで Backup を Restore します。WordPress サイトが完全にダウンしていて、WordPress コアシステムを先に復旧せずに Restore する必要があるときにも便利です。このツールは WP STAGING Pro ライセンスでご利用いただけます。 詳細はこちら

WP STAGING Pro に移動して、「Backup」メニューをクリックします。

Backup & Migration Button
Backup & Restore ボタン

Upload Backup」をクリックします。

Upload Backup Button
Upload Backup ボタン

ローカルコンピュータから Backup を選択し、アップロードします。

Select the WP STAGING Backup File
WP STAGING Backup ファイルを選択

任意で、Backup ファイルを FTP で /wp-content/uploads/wp-staging/backups/ フォルダにアップロードすることもできます。

Backup ファイルを Restore する

Backup がアップロードされたら、Actions > Restore をクリックし、続いて NextRestore をクリックします。

Restore Button
「Restore」をクリック

Restore プロセスは Backup ファイルのサイズに応じて数分かかります。完了すると、完了モーダルが表示されます。

Backup Restored Successfully
Backup の Restore が成功しました

OK をクリックすると、WordPress はログイン画面にリダイレクトします。移行元サイトのユーザー名とパスワードを入力してください。

The Login Screen
ログイン画面

これで完了です。WP STAGING Pro の助けを借りて、サイト全体を別のサーバーに移行できました。

Restore 後の移行確認

Restore が完了してログインできたら、新しいホストを指すように DNS を更新する前に、このチェックリストを確認してください:

  1. siteurlhome を更新する。 Settings → General に移動して、WordPress Address と Site Address が新しいドメインを反映しているか確認してください。別のサーバー上で同じドメインに移行する場合は、すでに正しいはずです。
  2. ドメインの検索置換を実行する。 データベース内のシリアライズされたデータには、古いホストへのハードコードされた参照が含まれている可能性があります。検索置換 Plugin または WP-CLI の wp search-replace コマンドを使って、すべてのテーブルにわたって古いドメインを新しいドメインに置き換えてください。
  3. パーマリンクをフラッシュする。 Settings → Permalinks に移動し、構造を変更せずに Save Changes をクリックしてください。新しいサーバー上で .htaccess のリライトルールが再生成されます。
  4. フォームと REST API エンドポイントをテストする。 問い合わせフォームを送信して、確認メールが届くことを確認してください。https://your-new-domain.com/wp-json/wp/v2/posts が有効な JSON を返すことも確認してください。エラーが返ってくる場合、問題はおそらくサーバーレベルにあります。mod_rewrite (Apache) または nginx の同等機能が有効であることを確認してください。REST API エラーが続く場合は、WordPress の REST API エラーを修正する方法を参照してください。
  5. wp_options で古い参照を確認する。 WP-CLI を使って、古いドメインを含む行を一覧表示してください:
wp option list --search="*old-domain.com*" --fields=option_name,option_value
  1. Search Console で再インデックスを依頼する。 DNS が伝播したら、Search Console → URL Inspection に新しい正規 URL を貼り付けて、Request Indexing をクリックしてください。

移行が失敗した場合の対応

当社のサポートキューでよくある Restore 失敗の原因は次のとおりです:

MySQL の max_allowed_packet エラー

大きなデータベースを Restore する際、MySQL は max_allowed_packet 上限を超えるパケットを拒否することがあります。Restore のログには Got a packet bigger than 'max_allowed_packet' bytes のようなエラーが表示されます。共有ホスティング・VPS・マネージドデータベース環境を網羅した手順については、MySQL の max_allowed_packet サイズを増やすを参照してください。

大規模サイトでの PHP 実行タイムアウト

短い PHP 実行時間制限を課している共有ホストでは、大規模サイトの Restore が途中で打ち切られます。これは、Restore スクリプトがデータベースのインポートフェーズの途中で停止する、大きなデータベースを持つサイトで最もよく見られます。WP-CLI の Restoreは、ブラウザベースのタイムアウトを完全に回避します。SSH セッションから wp staging:restore を使ってください。一般的なホスティングパネルでの PHP 設定値の調整方法は、WordPress で PHP の max_input_vars 制限を増やすを参照してください。

Restore 後のファイル権限エラー

Restore は完了したものの、サイトが空白ページまたは file-not-found エラーを表示する場合は、wp-content/ とそのサブディレクトリが Web サーバーユーザーで書き込み可能かを確認してください。ほとんどの Linux ホストでは、ディレクトリが 755、ファイルが 644 で、所有権はサーバーのプロセスユーザーと一致していることを意味します。

古い siteurl が原因のリダイレクトループ

wp_optionssiteurl にまだ古いドメインが含まれていると、WordPress はすべてのリクエストを古いホストにリダイレクトし、無限ループになります。WP-CLI で修正してください:

wp option update siteurl 'https://your-new-domain.com'
wp option update home 'https://your-new-domain.com'

移行後に管理画面に完全にアクセスできなくなった場合は、復旧手順についてWordPress で MySQL を使って管理者ユーザーを作成する方法を参照してください。

関連記事

Updated on 5月 23, 2026

Rene Hermenau

著者: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.