目次
Toggleドメイン失効後でも大丈夫!サーバー内のWordPressデータを別ドメインで復旧する方法【備忘録】
ドメインの更新をうっかり忘れてしまい、サイトが表示されなくなってしまった…。
あるいは、お客さまが誤ってドメインを解約してしまった…。
そんなときでも、レンタルサーバーの中にWordPress本体やデータベースが残っていれば、サイトを復旧できる可能性があります。
今回は、そうしたケースと似たような状況で、ネームサーバーの設定でドメインが先に切り替わってしまい旧サイトのバックアップが取れなかったトラブルに直面したため、その復旧手順を備忘録としてまとめました。
ネームサーバー変更が予想以上に早く浸透…
ドメインの管理はお客さま側で行っており、ネームサーバー変更も先方に依頼しました。
しかし、思っていたよりも早く切り替えが反映され、旧サーバーにアクセスできなくなった時点でバックアップが未取得という状況に…。
結果として、中身は同じであるはずの旧サーバーのサイトを、新サーバーに移さなければならないことになりました。
元のサーバーで別ドメイン(サブドメイン)を使って復旧作業
幸い、旧サーバー(エックスサーバービジネス)はまだ生きていたため、次のように対応しました:
- 旧サーバーに空いているサブドメインを作成
- WordPressを自動インストールではなく、手動でアップロード
- 本家サイトからWordPressをZIPでダウンロードし、FTPでアップロード・展開
- インストール時に旧サイトのデータベースを指定
(旧サイトの情報は、wp-configファイルで確認)
この時点で、サイトの見た目は復旧してきましたが、ドメインが異なるため以下のような問題が発生しました。
ログインできない&URLが旧ドメインのまま
トップページが旧ドメインにリダイレクトされたり、ログインができないなどの問題があったため、以下の対応を行いました:
wp-config.php
にWP_HOME
とWP_SITEURL
を追加して、新ドメインを強制指定define('WP_HOME', 'https://newsub.example.com'); define('WP_SITEURL', 'https://newsub.example.com');
- その後、Search Replace DB プラグインなどで、データベース内の旧ドメイン→新ドメインの置換を実行
画像が表示されない問題も発生
記事本文は復旧したものの、画像がまったく表示されない状態でした。
原因を調査したところ、以下のことがわかりました:
- 投稿に含まれる画像URLがすべて旧ドメインのまま
- 画像ファイルそのものも、新サーバーにアップロードされていなかった
そこで、旧サーバーの wp-content/uploads/
をダウンロードし、新サーバーへそのままアップロード。これにより、画像も無事表示されるようになりました。
最終的に完全移転用のバックアップを作成し、本番環境へインポート
別ドメイン上で仮復旧したWordPressをベースに、All-in-One WP Migration などのプラグインを使ってバックアップファイルを作成。もしくはレンタルサーバーの引っ越し機能を利用します。
新サーバーで稼働する本番ドメインにインポートし、完全移転が完了しました。