WordPress の移行で定番プラグインといえば All-in-One WP Migration。
エクスポートした .wpress
ファイルをインポートするだけで、データベースやテーマ、プラグイン、メディアを丸ごと新しい環境へ移行できます。
しかし、管理画面に表示される 「インポート進捗バー(%表示)」 が実際にどの処理を表しているのか、公式にはあまり説明されていません。
この記事では、All-in-One WP Migration の 内部処理の流れ と 進捗バーの仕組み を分かりやすく整理します。
特に気をつけたいのが処理中の94%付近で、差し替え前のWPのバージョンと差し替え後のプラグインのバージョンとでエラーが発生することがよくあります。
All-in-One WP Migrationのインポート処理の流れ
chunk(分割処理)での実行しているので、結構数字がざっくりだったりします。
1. アップロード処理(0〜10%)
.wpress
アーカイブをアップロード。- 中には以下のデータが格納されています。
- データベースの SQL ダンプ
wp-content
ディレクトリ(plugins / themes / uploads)- サイトの設定ファイル
2. アーカイブ展開(10〜30%)
- サーバーの一時ディレクトリに
.wpress
を展開。 - 展開される内容:
database.sql
wp-content/uploads/
wp-content/themes/
wp-content/plugins/
- バージョンやシリアライズ情報ファイル
3. データベース置換準備(30〜50%)
- 元サイトの URL / パス を解析し、新環境に合わせて置換準備。
- 例:
http://oldsite.com → https://newsite.com/prg
- シリアライズデータ対応のため、文字列の長さを調整しながら置換処理を準備。
4. データベースインポート(50〜70%)
- 既存のテーブルを削除(オプション)。
database.sql
を読み込み、新しいテーブルを生成。- URL やパスが差し替えられた状態でデータベースに反映。
5. ファイルコピー(70〜90%)
wp-content
内のファイルを移行先にコピー。- 基本的には「追加・上書き」で、既存のアップロード済みファイルがすべて消えるわけではありません。
- 大容量の
uploads
がある場合、この工程が最も時間を要し、進捗が止まったように見えることも。
6. 最終調整(90〜100%)
wp-config.php
はインポート対象外(手動設定が必要)。.htaccess
などサーバー固有の設定も対象外。- 最後にキャッシュをクリアし、新環境でサイトが動作開始。
この表を知っておくと、「どこで止まっているのか」を切り分けやすくなります。
エラーになるよくあるケース
処理の流れと関連づけると…
- 0〜70%:アーカイブ展開/データベースの置換・流し込み → 正常に進む
- 70〜90%:ファイルコピー → uploads / themes / plugins がコピーされる
- コピー直後(94%付近)
94%付近でよくエラーになることがあるのですが、バージョン不整合の落とし穴があります。
インポート処理とバージョン不整合の落とし穴
進捗バーが 90% 前後で止まってエラーになる場合、ファイルコピーは完了しているが、読み込まれたプラグインが古い WordPress 本体と互換性がないケースが多いです。
- 新しいバージョンの Contact Form 7(プラグイン)
- 古いバージョンの WordPress 本体
という組み合わせになったため、関数が存在せず Fatal error でインポート処理が中断します。
ですのでPHPやWordPressのバージョンをしっかり確認して移行作業をしましょう。
まとめ
All-in-One WP Migration のインポート処理は、以下のステップで進んでいます。
.wpress
のアップロード- アーカイブ展開
- URL・パス置換準備
- データベースインポート
wp-content
のファイルコピー- 最終調整
進捗バーの%は公式に内訳が公開されているわけではありませんが、上記のフェーズを目安にすれば「どこで処理が止まっているか」を把握できます。
大容量サイトを移行する際は、事前に PHP の設定値(memory_limit, max_execution_time, upload_max_filesize など)を調整しておくと、エラーを避けやすくなります。