WordPress を運用していると、「サイトの表側は普通に見えるのに、wp-admin だけ 500 エラーで真っ白になる」という現象に遭遇することがあります。
この状態は情報が少ないうえに、致命的ではないように見えて管理作業が完全に止まるため、実際には非常に困るトラブルです。
この記事では、私自身が経験したケースも含め、管理画面だけが 500 を返すときに特に疑うべきポイントを整理して解説します。
■ wp-admin だけ 500 になるときに特に多い原因
表側が動いているのに管理画面だけ落ちている場合、原因は functions.php・プラグイン・Basic 認証・PHP バージョン・権限設定 のどれかに絞られることが多いです。
1. functions.php のわずかな記述ミス
実際に一番多い原因です。
例えば:
- セミコロンの抜け
- 不要な記号や文字が 1 つ混ざっている
?>のあとに空白が入ってしまっている- コメントの閉じ忘れ
- 外部ファイルの読み込みミス
WordPress の管理画面はテーマの関数を強く読み込むため、
functions.php のエラーは “wp-admin だけ 500” を引き起こしやすい特徴があります。
対処方法:
- FTP またはサーバのファイルマネージャーで
/wp-content/themes/テーマ名/functions.phpを確認 - 直前に編集した箇所や周辺を重点的にチェック
- 不明な場合は一時的にファイル名を変更して読み込みを停止(例:
functions.php.bak)してみる
→ 管理画面が復帰する場合は原因が確定します。
2. プラグインの読み込みエラー
管理画面は多くのプラグインの設定画面を読み込むため、
特定のプラグインだけ壊れていても wp-admin が 500 になります。
よく原因になるプラグイン:
- セキュリティ系
- キャッシュ系
- バックアップ系
- リダイレクト管理系
対処方法:
/wp-content/plugins/内のフォルダ名に_offを付けるなどしてすべて停止- 管理画面に入れるか確認
- その後、1 つずつ元に戻して原因を特定します
3. Basic 認証の .htaccess が壊れている
テスト環境で Basic 認証をかけていたサイトを本番へ移行したときなどに、
wp-admin ディレクトリだけ古い認証設定が残っているケースがあります。
よくある症状:
.htaccess内に古いRequire valid-userが残ったまま.htpasswdのパスが間違っている- ルールの書き方ミスによって 500 が発生している
確認するファイル:
/public_html/.htaccess/wp-admin/.htaccess
管理画面側だけに謎のルールが残っていないかチェックします。
4. PHP バージョン更新直後の不具合
PHP を 7.4 → 8.1 などに上げた直後に、
表側は動くのに管理画面だけ落ちることがあります。
理由:
- テーマは対応していても、あるプラグインの管理画面が PHP 8 系に非対応
対処方法:
- サーバの管理パネルから PHP をひとつ前のバージョンに戻す
- 管理画面が復活するか確認
- エラーログで非対応プラグインを特定する
5. wp-admin 配下のファイル permission(権限)エラー
サーバの設定変更や移行作業の後に起きることがあります。
推奨される権限:
- ディレクトリ:755
- ファイル:644
たまに 000 や 600 に書き換わっており、管理画面だけがエラーになるケースがあります。
■ 実際に復旧したときの流れ(実体験)
私が遭遇したケースでは次のように解決しました。
- 表側は普通に表示されているが、wp-admin だけ真っ白
- サーバのエラーログには 500(Internal Server Error)
- プラグインをすべて停止しても変化なし
- functions.php を確認したところ、編集作業時に入った 不可視文字(謎の空白) が 1 つ紛れ込んでいた
- その空白を削除すると、管理画面が即復旧
本当に小さなミスでも wp-admin は容赦なく 500 を返すため、
原因が分かりづらく感じるトラブルです。
■ それでも直らないときの最終チェックポイント
- サーバの error_log
WP_MEMORY_LIMITの不足- wp-config.php の bracket 閉じ忘れ
- セキュリティ系プラグインによる管理画面ロック
- Cloudflare や CDN の WAF が wp-admin だけをブロックしている
ここまで確認すれば、ほとんどの 500 エラーは原因にたどり着けます。
■ まとめ
wp-admin だけ 500 エラーになる場合は、テーマ・プラグイン・.htaccess・PHP バージョンのいずれかがほぼ確実に原因です。
表側が動いているからといって放置せず、上から順番に確認していけば、基本的には短時間で復旧できます。