【焦らず冷静に】WordPressが壊れた時の復旧手順|画面が真っ白・ログインできない時の対処法
突然WordPressが壊れた!まず最初に落ち着いてやるべきこと
「サイトが真っ白で何も表示されない」「管理画面にすら入れない」
そんな緊急事態は、WordPress運営では決して珍しくありません。
多くのケースでは、特定の原因に応じた手順を踏むことで、すぐに復旧できる可能性があります。
本記事では、「WordPressが壊れた!」と感じたときに最短で原因を突き止め、冷静かつ的確に復旧へ向かうための対処フローをパターン別に詳しく解説します。
よくある症状はこの4つ
- ① サイトが真っ白になる(White Screen of Death)
- ② 管理画面にログインできない/エラーになる
- ③ エラーコード(500, 403, fatal errorなど)が表示される
- ④ 見た目が崩れた・機能が一部動かない
これらはすべて、原因の種類によって対処法が異なります。
そこで本記事では、以下の4つの操作・状況パターンに分類して、原因特定と復旧方法を紹介していきます。
【パターン①】管理画面からしか操作していない場合
FTPやサーバーには一切触れず、「WordPressの管理画面だけで操作した」という場合でも、構成ファイルに影響が出ることがあります。
プラグインを更新した直後に真っ白になった
よくある原因のひとつが「プラグインの互換性エラー」です。
特に、PHPのバージョンに合っていない古いプラグインや、複数のプラグイン間で干渉が起こると、画面が真っ白になることがあります。
対処法:
FTPにアクセスできる場合、/wp-content/plugins/
にあるフォルダを一時的にリネームすることでプラグインを無効化できます。
(例:「contact-form-7」 → 「_contact-form-7」)
テーマカスタマイザーやウィジェット編集でレイアウトが崩れた
テーマ側の機能やコードに問題がある場合、管理画面から設定を変更しただけでも不具合が発生します。
対処法:
管理画面に入れる場合は、外観 → テーマで一時的に別テーマ(Twenty Twenty-Oneなど)に切り替えて確認してください。
管理画面には入れるが、トップページだけ表示されない
この場合、.htaccess
の記述ミスや、トップページの表示設定(固定ページ・最新投稿)に誤りがある可能性があります。
対処法:
設定 → 表示設定でトップページ・投稿ページの割当を見直すか、パーマリンク設定を「保存」ボタンで再更新してみましょう。
【パターン②】FTPからファイルを編集していた場合
FTPを使ってfunctions.phpやテンプレートファイルを編集した直後に壊れた場合、コード記述ミスが原因の可能性が非常に高いです。
functions.phpを編集後に真っ白になった
WordPressはPHPの構文ミスに非常にシビアです。
セミコロン抜けや波括弧の開閉ミスだけでも、サイト全体が真っ白になります。
対処法:
FTPで再度functions.phpを開き、直前に追加したコードを削除またはコメントアウトしてください。
バックアップを取っていた場合は、元に戻すのが最速です。
header.phpやfooter.phpを編集して壊れた
HTMLタグの閉じ忘れやPHPの埋め込みミスがあると、表示崩れやエラーになります。
特にget_header()
やget_footer()
の呼び出しミスは注意が必要です。
対処法:
同じテーマのオリジナルファイル(zipなど)から該当ファイルを再アップロードして上書きします。
子テーマに切り替えた後、サイトが壊れた
子テーマでfunctions.phpを作成し、親テーマと重複する記述をミスしていると不具合になります。
対処法:
管理画面に入れる場合は、親テーマに戻す。入れない場合は、FTPから/wp-content/themes/
で親テーマを有効にする。
.htaccessを編集・削除してしまった
.htaccessファイルはWordPressのパーマリンク設定やリダイレクトルールに関わる重要ファイルです。
不適切な記述や意図しない削除があると、サイトが真っ白になったり、ページ遷移で404エラーが起きます。
対処法:
- ・管理画面に入れる場合 → パーマリンク設定を「保存」して自動再生成
- ・入れない場合 → FTPで以下の内容で新規作成
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ルートディレクトリの index.php を編集/上書きしてしまった
WordPressのルートにある index.php
は、実際には /wp-blog-header.php
を読み込むだけの軽いファイルですが、うっかり書き換えると画面が真っ白になります。
対処法:
WordPress本体の公式パッケージから index.php を再取得してアップロードし直すことで復旧可能です。
中身は以下のようになっているか確認しましょう。
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*/
define( 'WP_USE_THEMES', true );
require __DIR__ . '/wp-blog-header.php';
【パターン③】長期間サイトを放置していた場合
数ヶ月〜1年以上更新がなかったサイトでは、環境の変化に追いつけずエラーが発生しているケースがあります。
プラグイン・テーマが古すぎてエラーになる
特にセキュリティアップデートがないまま古いプラグインを放置していると、PHPの新バージョンと互換性がなくなりFatal Errorになることがあります。
対処法:
FTPで該当プラグインを一時停止(フォルダ名変更)し、管理画面が復旧したら最新版へ更新してください。
サーバー側のPHPバージョンが変わっていた
レンタルサーバーによっては、契約者の設定に関わらずPHPバージョンが自動で上がることがあります。
古いWordPressテーマやプラグインはエラーを起こす原因になります。
対処法:
サーバー管理パネルからPHPのバージョンを一時的に下げる/もしくはWordPressとテーマ・プラグインを最新版に更新することで対応可能です。
SSL期限切れ・ドメイン契約切れ
アクセスはできているが「保護されていない通信」などの警告が出ていたら、SSL証明書の期限切れやドメインの契約ミスが疑われます。
対処法:
サーバー管理画面でSSL証明書の再発行・再設定を行ってください。
ドメイン契約の更新漏れがないかもチェックしましょう。
【パターン④】サーバーエラー・一時的な障害・原因不明の場合
これまでのように「操作後に壊れた」記憶がない、または突然壊れた場合は、サーバーや外部要因の一時障害の可能性もあります。
500 Internal Server Errorが出ている
サーバー側で処理が中断されるとこのエラーが出ます。
原因はPHP構文エラー・.htaccess不正・ファイル権限の異常など多岐にわたります。
対処法:
- ・.htaccessを一時的にリネームしてリセット
- ・functions.phpを確認(エラーがないか)
- ・サーバーのエラーログを確認(エックスサーバーなら「エラーログ」機能)
データベース接続エラー(Error establishing a database connection)
WordPressがMySQLに接続できない状態です。
wp-config.phpの記述ミスや、DBサーバーの一時停止が原因になります。
対処法:
- ・
wp-config.php
内の DB名・ユーザー名・パスワードを再確認 - ・サーバー管理画面でDBのステータスを確認(稼働中か?)
- ・DBサーバーが自動で復旧する場合もあるので数分待ってみる
突然壊れたが何も操作していない(WordPress側の記録がない)
稀にですが、自動アップデート失敗・自動キャッシュ削除・CDNとの連携ミスなどが原因で障害が起きるケースもあります。
対処法:
- ・WordPress自動更新を無効に設定する(wp-config.phpの定数で制御)
- ・CDN(Cloudflareなど)を使用している場合、一時的にオフにする
- ・キャッシュ系プラグインをFTPから削除する(例:wp-content/cache/)
【まとめ】WordPress復旧チェックリストと判断基準
最後に、WordPress復旧までの確認フローを以下にまとめます。
【STEP 1】どこまでアクセスできるか確認
- □ フロントページが表示できる?
- □ 管理画面にログインできる?
- □ FTP・サーバーパネルには入れる?
【STEP 2】状況に応じた対処パターンを選ぶ
- □ 管理画面だけ操作していた → プラグイン・テーマの確認
- □ FTPで編集した → functions.phpやテンプレートを修正
- □ 放置していた → PHPやプラグインのバージョンを見直す
- □ サーバー関連かも → .htaccessやDB設定を確認
【STEP 3】それでも解決しない場合の対応
- ・契約サーバーのサポートへ問い合わせ
- ・専門業者・制作会社に復旧を依頼(バックアップ取得済が重要)
- ・ログをエクスポートし、開発者に状況を共有
WordPressは非常に柔軟ですが、同時に壊れやすい構造でもあります。
定期的なバックアップ・更新前の確認・FTPの扱いに慎重になることが、予防として最も重要です。