WordPressサイトの移行—新しいホストへの移動、ドメインの変更、またはステージング環境から本番環境への移行は、ほとんどのWordPressユーザーがいつか直面する作業です。正しく行えば、移行は30〜60分でダウンタイムなしに完了します。誤って行うと、リンク切れ、画像の欠落、データベースエラー、数時間のトラブルシューティングが発生する可能性があります。
このガイドでは、手動移行(完全な制御のため)、プラグイン支援移行(簡単さのため)、ホスティングプロバイダー移行(便利さのため)の3つの移行方法を説明します。各方法には、ステップバイステップの指示と確認チェックリストが含まれています。
移行前の準備チェックリスト
| ステップ | 重要な理由 | 方法 |
|---|---|---|
| 完全バックアップを作成 | 移行が失敗した場合の安全策 | UpdraftPlusまたは手動エクスポートを使用 |
| 現在の設定を文書化 | 移行後の確認の参考 | wp-admin設定、アクティブプラグインリスト、パーマリンク構造のスクリーンショットを撮る |
| サーバー要件を確認 | 新しいホストがWordPressの最小要件を満たしていることを確認 | PHP 8.0以上、MySQL 5.7以上 / MariaDB 10.4以上、HTTPSサポート |
| DNS設定をメモ | 移行後にDNSを更新する必要があります | レジストラから現在のDNSレコードをエクスポート |
| TTLを減少 | 移行後のDNS伝播を速める | 移行の24時間前にDNS TTLを300秒(5分)に設定 |
方法1: 手動移行(完全な制御)
手動移行は、プロセスを完全に制御できます。これは、開発者やカスタム構成を持つ複雑なサイトにとって好ましい方法です。
ステップ1: データベースをエクスポート
現在のホスティングにSSHまたはphpMyAdminで接続し、WordPressデータベースをエクスポートします:
コマンドラインを使用(SSH):
- 実行:
mysqldump -u username -p database_name > backup.sql - backup.sqlファイルをローカルマシンにダウンロード
phpMyAdminを使用:
- データベースを選択 → エクスポート → クイックエクスポート → SQL形式 → 実行
- .sqlファイルを保存
ステップ2: すべてのファイルをコピー
現在のサーバーからすべてのWordPressファイルをダウンロードします:
- SFTP(FileZilla、WinSCP、またはCyberduck)経由で接続
- WordPressディレクトリ全体(wp-content、wp-admin、wp-includes、ルートファイル)をダウンロード
- または、圧縮アーカイブを作成:
tar -czf wordpress-backup.tar.gz /path/to/wordpress/
wp-contentディレクトリは最も重要です—テーマ、プラグイン、アップロード(画像)、および設定ファイルが含まれています。
ステップ3: 新しいサーバーにファイルをアップロード
- SFTP経由でアップロードするか、新しいサーバーでアーカイブを抽出します
- ファイルの権限が正しいことを確認: ディレクトリは755、ファイルは644
- wp-config.phpファイルが存在することを確認しますが、更新が必要です
ステップ4: 新しいサーバーにデータベースを作成
- 新しいホスティングで新しいMySQLデータベースとユーザーを作成
- 新しいデータベースに対してユーザーに完全な権限を付与
- データベースをインポート:
mysql -u new_username -p new_database < backup.sql
ステップ5: wp-config.phpを更新
新しいデータベースの認証情報で新しいサーバーのwp-config.phpを編集します:
DB_NAME→ 新しいデータベース名DB_USER→ 新しいデータベースユーザー名DB_PASSWORD→ 新しいデータベースパスワードDB_HOST→ 通常は「localhost」ですが、ホストに確認してください
ステップ6: URLの検索と置換(ドメインを変更する場合)
ドメインが変更される場合、データベース内のすべてのURLを更新する必要があります。WordPressは画像、リンク、およびシリアライズされたデータの絶対URLを保存します。WP-CLIツールまたはSearch Replace DBスクリプトを使用してください:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables- これはシリアライズされたデータを正しく処理します(単純なSQLの検索と置換とは異なります)
ステップ7: DNSの更新
ドメインのDNSレコードを新しいサーバーのIPアドレスにポイントします。ドメインレジストラでAレコード(およびIPv6用のAAAA)を更新します。TTLを300秒に設定すると(準備から)、伝播は通常5〜30分以内に完了します。
方法2: プラグイン移行(最も簡単)
移行プラグインは技術的な詳細を自動的に処理します。これはSSHやデータベース管理に不安があるユーザーに推奨される方法です。
推奨移行プラグイン
| プラグイン | 無料制限 | 主な機能 |
|---|---|---|
| All-in-One WP Migration | 512 MBのエクスポート | ワンクリックのエクスポート/インポート、URL置換が含まれています |
| UpdraftPlus Premium | バックアップ無料、移行プレミアム | 増分バックアップ、クラウドストレージ、サイトクローン |
| Duplicator Pro | 500 MBのエクスポート(無料) | インストーラーパッケージを作成し、シリアライズされたデータを処理します |
| WP Migrate | 制限あり(無料) | 環境間のプッシュ/プル、データベースのみの移行 |
移行プロセス(All-in-One WP Migration)
- ソースサイトにインストール: 現在のサイトにプラグインをインストールしてアクティブ化します
- エクスポート: All-in-One → エクスポート → エクスポート先 → ファイルに移動します。プラグインが.wpressアーカイブを作成します
- 宛先にWordPressをインストール: 新しいホストに新しいWordPressインストールを設定します
- 宛先にプラグインをインストール: 新しいWordPressインストールに同じプラグインをインストールします
- インポート: All-in-One → インポート → .wpressファイルをアップロードします
- 完了: プラグインがデータベース、ファイルを置き換え、URLを自動的に更新します
方法3: ホスティングプロバイダー移行
多くのホスティングプロバイダーは無料の移行サービスや組み込みの移行ツールを提供しています:
- SiteGround: 彼らのMigratorプラグインを使った無料のWordPress移行
- Cloudways: 彼らのチームによる無料の最初の移行
- Kinsta: すべてのプランに含まれる無料の移行、彼らのチームが処理します
- WP Engine: 自動移行プラグイン
ホスティング支援の移行は最も簡単なオプションですが、制御が最も少なくなります。カスタム構成、cronジョブ、または非標準のセットアップを持つサイトには、手動またはプラグイン移行がより信頼性があります。
移行後の確認チェックリスト
| チェック | 確認方法 | 失敗した場合 |
|---|---|---|
| ホームページが正しく読み込まれる | ブラウザでドメインを訪問します | DNSの伝播を確認し、データベース接続を検証します |
| 管理者ログインが機能する | /wp-adminに移動してログインします | wp-config.phpのデータベース資格情報を確認します |
| パーマリンクが機能する | 任意の投稿またはページをクリックします | 設定 → パーマリンク → 保存に移動します(.htaccessを再生成します) |
| 画像が正しく表示される | 画像を含むいくつかのページをブラウズします | アップロードパス内の古いドメインの検索と置換を実行します |
| フォームが正常に送信される | すべてのコンタクトフォームをテストします | SMTP設定、フォームプラグインの構成を確認します |
| SSL証明書がアクティブ | ブラウザで鍵アイコンを確認します | 新しいホストにSSLをインストールし、WordPressのURLをhttpsに更新します |
| メール配信が機能する | パスワードリセットメールをトリガーします | SMTPプラグイン(WP Mail SMTP)を設定します |
| WooCommerceが機能する | カートに追加とチェックアウトのフローをテストします | 決済ゲートウェイのキー、配送ゾーンを確認します |
| cronジョブが実行される | WP-Crontrolでスケジュールされたタスクを確認します | wp-cronが有効になっているか、サーバーを設定します |
| 検索機能 | サイト検索をテスト | 検索プラグインを使用している場合は検索インデックスを再構築 |
一般的な移行問題と解決策
| 問題 | 原因 | 解決策 |
|---|---|---|
| 移行後の白い画面 | PHPバージョンの不一致またはプラグインの競合 | WP_DEBUGを有効にし、PHPバージョンを確認し、FTP経由でプラグインを無効にする |
| 混在コンテンツの警告 | 一部のURLがまだhttp://を使用している | 検索置換を実行: http://domain.com → https://domain.com |
| 壊れた画像 | アップロードパスが更新されていないか、ファイルが欠落している | wp-content/uploadsディレクトリを確認し、URL検索置換を実行 |
| データベース接続エラー | wp-config.phpの資格情報が間違っている | DB_NAME、DB_USER、DB_PASSWORD、DB_HOSTを確認 |
| ホームページ以外のすべてのページで404エラー | パーマリンクの.htaccessが再生成されていない | 設定 → パーマリンク → 変更を保存 |
| リダイレクトループ | 古いCDNまたはキャッシングルールが競合している | すべてのキャッシュをクリアし、競合するリダイレクトがないか.htaccessを確認 |
詳細については、公式ドキュメントを参照してください: WordPress 移行ドキュメント.
よくある質問
WordPressの移行にはどのくらい時間がかかりますか?
典型的な移行には、技術的なプロセスで30〜60分かかります。DNSの伝播には、TTL設定やISPのキャッシングに応じて5分から48時間かかることがあります。移行の24時間前にTTLを300秒に設定することで、伝播の遅延を最小限に抑えることができます。
移行中にデータを失うことはありますか?
バックアップファーストのアプローチに従えば、データを失うことはありません。開始前に完全なバックアップを作成し、新しいホストで全てが正常に動作することを確認するまで古いサイトを削除しないでください。バックアップにより、何か問題が発生した場合でも元の状態に復元できます。
ダウンタイムなしでWordPressサイトを移行できますか?
はい。鍵となるのは、DNSを更新する前に新しいサーバーで移行を完了させることです。新しいホストでサイトを設定し、全てが正常に動作することを確認(仮のURLまたはhostsファイルのエントリを使用)してからDNSを更新します。ユーザーはDNSが伝播するまで古いサーバーから提供され、その後シームレスに新しいサーバーに切り替わります。
移行後にプラグインやテーマを再インストールする必要がありますか?
いいえ。完全な移行(ファイル + データベース)には、すべてのプラグイン、テーマ、アップロード、設定が含まれます。すべてがそのまま転送されます。プラグインがアクティブで正しく設定されていることを確認する必要がありますが、再インストールは必要ありません。
移行プラグインのサイズ制限を超える場合はどうすればよいですか?
2〜5 GBを超えるサイト(メディアが多いサイトで一般的)は、アップロード制限やタイムアウトの問題に直面する可能性があります。この場合は、手動の方法を使用します:SSH/SFTP経由でファイルを転送し、コマンドライン経由でデータベースをインポートします。大きなデータベースは、--max_allowed_packetパラメータを使用して分割できます。
移行前か後にWordPress、プラグイン、テーマを更新する必要がありますか?
ソースサイトで移行前に更新し、更新後に全てが正常に動作することを確認してください。すでに更新されたサイトを移行することで、未知のサーバーでの更新問題のトラブルシューティングの複雑さを回避できます。セキュリティとパフォーマンスのベストプラクティスについては、私たちのWordPressメンテナンスチェックリストをご覧ください。
信頼できるWordPressバックアップと移行
自動バックアップ、クラウドストレージ統合、ワンクリックサイト移行のためにUpdraftPlus Premiumを入手してください。無制限のサイトに対してGPLライセンスです。
UpdraftPlus Premiumを閲覧 →


