All-in-One WP Migrationで移行失敗|Xserverから復旧する方法

WordPressサイトの引っ越しで「All-in-One WP Migration」を使っている途中、インポートを中断したところ「このWebサイトに重大なエラーが発生しました」と表示され、管理画面にも入れなくなった――。
このような状況では、慌ててWordPressを再インストールしたり、プラグインを次々削除したりするよりも、まずサーバー側のバックアップを確認することが大切です。
特にXserverを利用している場合は、自動バックアップからWebサイトのファイルとMySQLデータベースを復元できる可能性があります。
ここでは、All-in-One WP Migrationのインポート中断によってWordPressが正常に動かなくなった場合を例に、原因とXserverからの復旧方法を初心者の方にも分かるように解説します。
All-in-One WP Migrationのインポート中断で何が起こる?
All-in-One WP Migrationは、WordPressサイトを別のサーバーへ移行するときに便利なプラグインです。
一般的には、元サイトから書き出したバックアップファイルを新しいWordPressへインポートすることで、サイトをまとめて移行できます。
しかし、インポートの途中でブラウザを閉じたり、処理を中断したりすると、WordPress内部のデータが中途半端な状態になる可能性があります。
All-in-One WP Migrationの公式ガイドでも、インポート時に「Proceed」を実行した後は処理を停止できないと案内されています。インポートではデータベース、メディア、プラグイン、テーマなどが置き換えられるためです。 (ServMask Helpdesk)
そのため、途中で処理が止まった場合、
- WordPressのファイルだけ一部置き換わった
- プラグインのファイルが不完全になった
- データベースだけ書き換わった
- ファイルとデータベースの状態が一致しなくなった
といった問題が起こる可能性があります。
単純なプラグインエラーとは違い、「移行処理そのものが途中で止まった」という点に注意が必要です。
「重大なエラー」が表示される原因
インポート中断後には、次のようなエラーが表示される場合があります。
Fatal error: Uncaught Error:
Class "ComposerAutoloaderInit..." not found
このWebサイトに重大なエラーが発生しました。
「Fatal error」は、PHPの処理を続けられない重大なエラーが発生していることを意味します。
たとえばエラー内に、
/wp-content/plugins/プラグイン名/
という記述があれば、そのプラグインのファイルを読み込む段階で問題が発生している可能性があります。
ただし、All-in-One WP Migrationのインポート途中で発生した場合は、「そのプラグインだけが壊れている」とは限りません。
インポート中断によって複数のファイルやデータベースが不整合になっている可能性があるため、原因となっているプラグインだけ修復して終わりにするのは慎重に判断したほうがよいでしょう。
最初に確認したいWordPressの復旧モード
WordPressには、PHPの致命的なエラーを検出したときに利用できる「リカバリーモード」があります。
WordPress 5.2以降に搭載されている機能で、プラグインやテーマなどが原因でFatal errorが発生した際、管理者メールアドレスへリカバリーモード用のログインURLが送られることがあります。 (WordPress.org)
メールが届いている場合は、まず内容を確認してみましょう。
リカバリーモードからログインできれば、問題のプラグインを停止して管理画面を確認できます。
ただし、今回のように「サイト移行のインポート自体を途中で中断した」ケースでは、リカバリーモードだけで完全に元の状態へ戻せるとは限りません。
その場合は、サーバーのバックアップを利用した復旧を検討します。
Xserverなら自動バックアップから復旧できる可能性がある
Xserverでは、自動バックアップ機能が標準で提供されています。
現在のXserverでは、原則として過去14日分のWeb・メールデータを保持しており、自動バックアップから復元できます。一部の旧サーバーでは保存期間が7日となっている場合があります。
また、MySQLデータベースについても過去14日分の自動バックアップから復元できます。
WordPressサイトは、大きく分けると次の2種類のデータで構成されています。
WordPressのファイル
サーバー内の、
public_html
に保存されているデータです。
主に次のものがあります。
- WordPress本体
- テーマ
- プラグイン
- アップロード画像
- wp-config.php
- .htaccess
- その他のファイル
MySQLデータベース
投稿や固定ページ、WordPressの設定などが保存されています。
主に、
- 投稿
- 固定ページ
- WordPress設定
- プラグイン設定
- ユーザー情報
- カテゴリー
- メニュー
- カスタムフィールド
などが含まれます。
そのため、All-in-One WP Migrationのインポートを途中で止めた場合は、Web領域とMySQLの両方を同じ時点へ戻すことが重要です。
Xserverの自動バックアップからWordPressを復旧する方法
ここから具体的な復旧手順を説明します。
1. インポート前の日付を確認する
まず、All-in-One WP Migrationを実行した日時を確認します。
たとえば9月14日にインポートを実行して問題が発生したのであれば、9月13日以前の正常に動作していたバックアップを候補にします。
重要なのは、
「エラーが起きる前、確実にサイトが正常だった日」
を選ぶことです。
バックアップ取得のタイミングによっては同じ日付でもすでに変更後のデータが含まれている可能性があるため、不安な場合は1日前を選択する方法もあります。
2. Xserverのサーバーパネルを開く
Xserverへログインし、「サーバーパネル」を開きます。
Xserverアカウントの管理画面とサーバーパネルは役割が異なるため、サーバー設定を操作できる画面へ移動してください。
新しいサーバーパネルでは、
「自動バックアップの取得・復元」
というメニューから操作できます。
旧サーバーパネルの場合は「バックアップ」という名称になっていることがあります。
3. Web領域を復元する
「自動バックアップの取得・復元」を開き、
「自動バックアップデータから復元」
を選択します。
復元方法には、サイト全体ではなく必要なドメインだけを戻せる「対象を指定して復元」があります。
対象サイトの、
Web領域
を選択します。
Xserverにおける「Web領域」は、対象ドメインのpublic_htmlディレクトリを意味します。
複数のWebサイトを同じサーバーで運営している場合、関係のないサイトまで復元しないよう、対象ドメインをよく確認してください。
4. MySQLデータベースを確認する
次にWordPressが使用しているMySQLデータベースを確認します。
データベース名が分からない場合は、
public_html/wp-config.php
を確認します。
wp-config.phpには次のような記述があります。
define( 'DB_NAME', 'データベース名' );
ここに書かれている名前が、そのWordPressサイトで使用しているMySQLデータベースです。
複数サイトを運営している場合は、別サイトのデータベースを誤って復元しないよう注意してください。
5. MySQLを同じ日付へ復元する
Xserverサーバーパネルから、
「MySQLバックアップ取得・復元」
またはサーバー環境によって表示される「MySQL復元」を開きます。
復元対象のデータベースを選択し、
「自動バックアップデータから復元」
を実行します。
基本的にはWeb領域と同じ日付のバックアップを利用します。
Xserverでは、復元するデータベースとバックアップデータを選択してMySQLを復元できます。データ量によっては完了まで時間がかかる場合があります。
6. 復元完了後にサイトを確認する
Web領域とMySQLの復元が完了したら、
- トップページ
- 固定ページ
- お問い合わせフォーム
- WordPress管理画面
- 画像
- メニュー
- プラグイン
などを確認します。
管理画面へログインできたら、
「設定」→「パーマリンク」
を開き、「変更を保存」を実行しておくとよいでしょう。
All-in-One WP Migrationの公式ガイドでも、移行完了後にパーマリンク設定を保存することが案内されています。 (ServMask Helpdesk)
キャッシュ系プラグインやサーバーキャッシュを利用している場合は、必要に応じてキャッシュも削除します。
プラグインフォルダの名前変更だけで直る場合もある
エラーメッセージから特定のプラグインが原因だと判断できる場合は、ファイルマネージャーやFTPを使って一時的に停止する方法もあります。
たとえば、
/wp-content/plugins/example-plugin/
を、
/wp-content/plugins/example-plugin-old/
のように変更します。
WordPressからプラグインを読み込めなくなるため、強制的に停止できます。
WordPress公式ドキュメントでも、管理画面に入れない場合の対処方法として、FTPなどからプラグインフォルダ名を変更する方法が案内されています。 (WordPress.org)
ただし、All-in-One WP Migrationのインポート途中で中断した場合は、この方法だけで復旧完了と判断しないほうが安全です。
プラグインを停止して画面が表示されても、別のファイルやデータベースが途中まで書き換わっている可能性があるためです。
Xserverから復元するときの注意点
バックアップ日以降のデータは失われる可能性がある
XserverでWeb領域を復元すると、対象ディレクトリはバックアップ時点の内容に上書きされます。
また、バックアップ時点には存在しなかったファイルやディレクトリは削除されます。
たとえば、
9月10日のバックアップへ戻した場合、
9月11日以降に追加した画像やファイルなどが失われる可能性があります。
ECサイトや予約サイトなど、頻繁にデータが更新されるWebサイトでは特に注意が必要です。
ファイルとデータベースはできるだけ同じ日時へ戻す
Web領域だけ9月10日、データベースだけ9月13日というように、異なる状態へ復元すると別の不整合が発生する可能性があります。
特別な理由がなければ、Web領域とMySQLは同じバックアップ日へ戻すほうが安全です。
復元前の状態も可能なら保存しておく
現在サイトが壊れている状態だったとしても、必要なデータが残っている場合があります。
操作に慣れている場合は、
- 現在のpublic_html
- 現在のMySQL
を別途バックアップしてから復元すると、後から必要なデータを取り出せる可能性があります。
ただし、操作を誤ると状況を複雑にすることもあります。
判断が難しい場合は、自分だけで何度も復元やインポートを繰り返さず、Web制作者やサーバー管理者へ相談するのも一つの方法です。
同じトラブルを防ぐためにできること
WordPressの引っ越しや大規模な変更を行う前には、必ずバックアップを取っておきましょう。
最低でも、
- WordPressファイル
- MySQLデータベース
の両方を保存しておくことをおすすめします。
また、All-in-One WP Migrationを使う場合は、インポート開始後にブラウザを閉じたり、リロードしたり、処理を意図的に中断したりしないことが大切です。
サイト移行では、
「移行元のバックアップ」
↓
「移行先のバックアップ」
↓
「インポート」
↓
「表示確認」
↓
「フォームなどの動作確認」
という順序で進めると、問題が発生したときも元の状態へ戻しやすくなります。
よくある質問
Xserverのバックアップは自分で設定していなくてもありますか?
Xserverでは自動バックアップ機能が標準提供されており、原則としてサーバー領域のデータを14日間保持しています。一部の旧サーバーでは保持期間が異なる場合があるため、実際の保存状況はサーバーパネルで確認してください。
Web領域だけ戻せば復旧できますか?
単純にプラグインファイルが壊れただけなら復旧する可能性があります。
しかし、All-in-One WP Migrationのインポートを途中で中断した場合は、データベースも書き換えられている可能性があります。
そのため、基本的にはWeb領域とMySQLの両方を確認することをおすすめします。
WordPressを再インストールしたほうが早いですか?
すぐに再インストールすることはおすすめできません。
既存データや設定を失う可能性があるため、まずバックアップの有無を確認しましょう。
正常なバックアップが残っていれば、そこから復元したほうが安全に元の状態へ戻せる可能性があります。
「重大なエラー」が出たらサイトのデータはすべて消えていますか?
重大なエラーが表示されているだけで、データがすべて削除されたとは限りません。
PHPが正常に処理できず、ページを表示できなくなっているだけの場合もあります。
むやみにWordPressを削除せず、エラーメッセージやサーバーのバックアップを確認しましょう。
バックアップから戻しても直らない場合は?
次のような原因も考えられます。
- PHPバージョンの違い
- WordPress本体の不具合
- テーマやプラグインの互換性
- .htaccessの問題
- データベースの破損
- サーバー設定の問題
復元後もエラーが続く場合は、エラーログを確認しながら原因を切り分ける必要があります。
まとめ
All-in-One WP Migrationのインポート中に処理を中断すると、WordPressのファイルやデータベースが中途半端な状態となり、「重大なエラー」やFatal errorが発生することがあります。
Xserverを利用している場合は、まず自動バックアップを確認しましょう。
復旧するときのポイントは、
- インポート前の正常なバックアップ日を確認する
- 対象ドメインのWeb領域を復元する
- wp-config.phpから使用中のMySQLを確認する
- MySQLも同じ日付へ復元する
- 復旧後にページやフォームなどを確認する
という流れです。
特にAll-in-One WP Migrationによる移行処理を途中で止めた場合は、原因となったプラグインだけを修復するよりも、移行前の正常な状態へWeb領域とデータベースを戻すほうが確実なケースがあります。
WordPressの移行やアップデートでは、トラブルが起こってからバックアップの重要性に気づくことも少なくありません。
日頃からバックアップを確認し、大きな変更を行う前には「いつでも元に戻せる状態」を作っておくことが、WordPressサイトを安全に運用するうえで大切です。
