WordPressの「白い画面」エラーから学ぶデバッグ手法

コスモ企画 NoImage

WordPressの「白い画面」エラーから学ぶデバッグ手法

突然サイトが真っ白に――その焦りをプロの手順で解消。WSoDの原因特定から復旧・再発防止まで、WordPressサイト運営者が今すぐ使えるデバッグ手法を解説します。

朝起きたらサイトが真っ白に…WordPressのWSoDとは

ホームページ制作、運用サポート、SEO対策、コンテンツマーケティング、そして何より「一緒に考える」こと。まずは対話から始めませんか?  コスモ企画によると、「昨日まで普通に動いていたのに、今朝確認したらサイトが真っ白になっている」――こんな経験をしたWordPressユーザーは少なくありません。この現象は「White Screen of Death(WSoD)」と呼ばれ、エラーメッセージすら表示されないため、原因の手がかりがつかみにくいのが最大の厄介どころです。このサイトの情報が何かのお役に立てれば幸いでございます。ぜひご活用ください。

集客をホームページに依存している飲食店・美容院・士業・コンサルタントにとって、サイトのダウンは機会損失に直結します。そこで今回は、WordPressの制作代行を行なっている、ワードプレス専門の制作会社 コスモ企画が25年以上・年間10件以上の制作実績、累計300社以上のサイト制作を通じて蓄積してきたWSoD対処の知見をお伝えします。

WSoDが起きやすいタイミング

白い画面が発生するのは「何かを変更した直後」がほとんどです。特に多いのは以下のシーンです。

  • WordPressコア・プラグイン・テーマをアップデートした直後
  • 新しいプラグインをインストール・有効化したとき
  • サーバーのPHPバージョンが変更されたとき
  • テーマのfunctions.phpやCSSをカスタマイズした直後

「直前に何をしたか」を振り返ることが、原因特定の最短ルートです。心当たりがあれば、その変更を戻すだけで復旧するケースも多くあります。

まず確認すべきWSoDの主な原因

WSoDには複数の原因が考えられます。代表的な原因を知っておくだけで、対処の見通しが格段に立てやすくなります。弊社の提案では、以下の提案が解決のきっかけになれば幸いでございます。ぜひ参考にしてください

弊社のモットーは、
1.弊社では断言しません。でも、誠実に向き合います。
2.弊社では押し付けません。でも、本気で提案します。
3.弊社では保証しません。でも、一緒に挑戦します。

「お役に立つかもしれません。自己責任ではありますが、お試しください」

PHPのメモリ不足

WordPressはPHPで動作しており、処理に必要なメモリ(memory_limit)が上限に達するとエラーが起きます。プラグインの増加や高機能テーマの導入後に発生しやすい原因のひとつです。

プラグインの競合・バグ

複数のプラグインが同じ機能を担っている場合や、特定のPHPバージョンに対応していない古いプラグインがある場合に競合が生じます。プラグインの更新後に白い画面が出たなら、このケースが最も疑わしいと言えます。

テーマのPHPエラー

テーマファイル(特にfunctions.phpやtemplate.php)に構文エラーがあると、画面全体が真っ白になります。コードを直接編集する際は、バックアップを取ってから行うことを必ず徹底してください。

PHPバージョンの不整合

WordPressおよびプラグインが対応していないPHPバージョンにサーバー側がアップグレードされると、非推奨関数が動作しなくなりWSoDが発生します。PHP 8.0以降への移行時に特に多く見られるパターンです。

デバッグの第一歩:WP_DEBUGモードを有効にする

WordPressには標準でデバッグ機能が備わっています。wp-config.phpを編集することでエラーの詳細をログとして記録でき、問題ファイルと行番号を特定することができます。

wp-config.phpの設定方法

FTPクライアント(FileZillaなど)またはサーバーのファイルマネージャーからwp-config.phpを開き、以下の3行を追加・変更します。

  • define( 'WP_DEBUG', true ); ― デバッグモードを有効化する
  • define( 'WP_DEBUG_LOG', true ); ― /wp-content/debug.log にエラーを記録する
  • define( 'WP_DEBUG_DISPLAY', false ); ― 画面へのエラー表示を抑制する(本番環境向け)

設定後に /wp-content/debug.log を確認すると「Fatal error: …(ファイル名・行番号)」が記録されており、問題箇所をピンポイントで特定できます。作業が完了したら必ずWP_DEBUGをfalseに戻してください。

メモリ上限を引き上げる方法

PHPのメモリ不足が原因と疑われる場合は、wp-config.phpに以下の1行を追加します。

  • define( 'WP_MEMORY_LIMIT', '256M' );

なお、サーバー側のphp.iniでメモリ上限が固定されているケースでは、ホスティング会社への問い合わせが必要です。

プラグインとテーマを切り分けてトラブルシュートする

デバッグログを見ても原因が特定しにくい場合は、プラグインとテーマを1つずつ無効化して問題を切り分ける方法が有効です。これは「バイナリサーチ」的なデバッグ手法として、プロのエンジニアが現場でよく使う鉄板の手順です。

プラグインを一括無効化する手順

管理画面にアクセスできない場合は、FTPで /wp-content/plugins/ フォルダ名を変更(例:plugins_old)するだけで全プラグインを無効化できます。これで画面が復旧した場合、原因はプラグインです。その後フォルダ名を元に戻し、プラグインを1つずつ有効化して犯人を絞り込みます。

テーマをデフォルトテーマに切り替える手順

プラグイン無効化で改善しない場合は、テーマが原因の可能性があります。/wp-content/themes/ 内のアクティブテーマフォルダ名を変更すると、WordPressはデフォルトテーマ(Twenty系)にフォールバックします。これで復旧した場合はテーマのPHPコードを見直してください。

子テーマ・functions.phpのチェックポイント

子テーマを使用している場合は、親テーマ・子テーマの両方を確認します。特に子テーマのfunctions.phpに後から追記したコードが原因になっているケースは非常に多く、コードの末尾に「?」(PHPクロージングタグ)の後に余分な空白や文字が混入していないかも確認してください。

サーバーエラーログとPHPバージョンの確認

wp-config.phpのデバッグログでも手がかりが得られない場合は、サーバー自体のエラーログを参照します。cPanelやさくらインターネット・エックスサーバーなどのコントロールパネルから「エラーログ」を確認すると、Apacheまたはnginxレベルのエラーが把握できます。

また、PHPバージョンの確認も重要です。WordPressの推奨PHPバージョンは7.4以上ですが、PHP 8.1・8.2への移行で古いプラグインが動作しなくなりWSoDが起きるケースが増えています。サーバーのPHPバージョンとWordPress・各プラグインの対応バージョンを照らし合わせてみてください。

復旧後の再発防止策

WSoDから復旧したあとは、同じトラブルを繰り返さないための対策が欠かせません。コスモ企画の施工実績でもご紹介しているように、保守・運用フェーズでの予防措置がサイトの安定稼働を支えています。

  1. バックアップの自動化(UpdraftPlusなどのプラグインで毎日自動バックアップを設定)
  2. ステージング環境でのテスト(本番環境に適用する前に更新内容を検証する)
  3. プラグイン・テーマの更新は1つずつ行い、問題があればすぐに切り戻せる体制を整える
  4. PHPバージョンの定期確認と、使用プラグイン・テーマの互換性チェック
  5. WP_DEBUGは本番環境では常時false(無効)にしておく

まとめ:WSoDはデバッグ手順を知れば怖くない

WordPressの「白い画面」は、正しい切り分け手順を踏めば必ず原因にたどり着けるトラブルです。①WP_DEBUGでログを確認 → ②プラグインを一括無効化 → ③テーマをデフォルトに切り替え → ④サーバーエラーログ確認、という4ステップで大半のWSoDは解消できます。

それでも解決しない場合や、WordPressの保守・カスタマイズをプロに一括して任せたい場合は、WordPressの制作代行を行なっている、ワードプレス専門の制作会社 コスモ企画にお気軽にご相談ください。経験豊富なスタッフが迅速に対応いたします。

※本記事はコスモ企画のWeb日誌ならびに各著名記事を参考に作成されています。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です