WordPressが真っ白!White Screen of Death(WSOD)の原因と対処方法
- 1 まずはエラーメッセージを表示する
- 1.1 ディレクトリ構造
- 2 プラグインを一括停止して確認する
- 2.1 ディレクトリ構造
- 3 テーマをデフォルトに戻す
- 3.1 テーマ構造例
- 4 メモリ不足を解消する
- 4.1 ファイル構造
- 5 Lightningテーマの場合の対処
- 5.1 functions.php に追加
- 5.2 安全確認用CSS(Lightning)
- 6 Cocoonテーマの場合の対処
- 6.1 functions.php に追加(Cocoon)
- 6.2 安全確認用CSS(Cocoon)
- 7 JavaScriptで簡易診断(ブラウザ上)
- 7.1 ディレクトリ構造
- 7.2 設置例(footer.php 内)
- 7.3 ディレクトリ構造
- 8 それでも直らない場合
- 9 まとめ
- 9.1 関連記事
WordPressで突然サイトが「真っ白」になり、何も表示されなくなる現象。
通称「White Screen of Death(WSOD)=真っ白画面の死」です。
原因はさまざまですが、主に以下のようなものがあります。
- プラグインやテーマの競合
- PHPの構文エラー
- メモリ不足(memory_limit)
- functions.php の編集ミス
1 まずはエラーメッセージを表示する
真っ白画面では通常、エラー内容が非表示になっています。
原因を突き止めるために、まずデバッグモードをONにします。
ファイル名:wp-config.php
保存先:public_html/wp-config.php
/* wp-config.php の編集 */
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
上記を wp-config.php の「/* That's all, stop editing! */」の上に追加します。
その後、再度サイトを開くと、エラー原因(ファイル名や行数)が表示されます。
1.1 ディレクトリ構造
- public_html/
- wp-admin/
- wp-content/
- wp-includes/
- functions.php
- wp-config.php
- wp-login.php
- wp-mail.php
2 プラグインを一括停止して確認する
管理画面に入れない場合は、FTPまたはファイルマネージャーから
プラグインフォルダ名を変更して一括停止します。
フォルダ名:plugins/
保存先:public_html/wp-content/plugins/
/wp-content/plugins → /wp-content/plugins_off
その後、ブラウザを更新して表示が戻れば、原因はプラグインです。
プラグインフォルダを元に戻し、1つずつ有効化して問題を特定します。
1.1 ディレクトリ構造
- public_html
- wp-admin/
- wp-content/
- plugins/
- themes/
- wp-includes/
- functions.php
- wp-config.php
- wp-login.php
- wp-mail.php
3 テーマをデフォルトに戻す
テーマの functions.php や独自コードが原因の可能性もあります。
こちらもFTPで、テーマを一時的に別名に変更します。
フォルダ名:lightning/
保存先:public_html/wp-content/themes/lightning/
/wp-content/themes/lightning → /wp-content/themes/lightning_old
この状態で WordPress は自動的に Twenty Twenty-Five などの
デフォルトテーマに切り替わります。
3.1 テーマ構造例
- public_html
- wp-admin/
- wp-content/
- themes/
- lightning/
4 メモリ不足を解消する
PHPメモリ不足の場合、以下のように wp-config.php に追記します。
ファイル名:wp-config.php
保存先:public_html/wp-config.php
define( 'WP_MEMORY_LIMIT', '256M' );
また、レンタルサーバーの「PHP設定」からメモリ上限を上げられる場合もあります。
4.1 ファイル構造
- public_html/
- wp-admin/
- wp-content/
- wp-includes/
- functions.php
- wp-config.php
- wp-login.php
- wp-mail.php
5 Lightningテーマの場合の対処
Lightningでは、独自ウィジェットやブロックが多く、
無効化されたブロックで真っ白になることがあります。
CSSやJSの競合を防ぐため、不要な読み込みを停止することも有効です。
5.1 functions.php に追加
//-------------------------------------------
// 不要な読み込みを停止
//-------------------------------------------
function lightning_cleanup_scripts() {
wp_dequeue_style( 'lightning-common' );
wp_dequeue_script( 'lightning-js' );
}
add_action( 'wp_enqueue_scripts', 'lightning_cleanup_scripts', 999 );
5.2 安全確認用CSS(Lightning)
/* Lightningテーマでの一時確認用ボーダー */
body {
outline: 5px solid #4CAF50 !important;
}
6 Cocoonテーマの場合の対処
Cocoonでは、子テーマの functions.php でエラーを起こすケースが多いです。
安全にカスタマイズするため、以下のようにエラー抑制コードを加えます。
6.1 functions.php に追加(Cocoon)
//-------------------------------------------
// 安全な自作コード呼び出し
//-------------------------------------------
function safe_custom_code() {
try {
// ここに自作コード
} catch (Throwable $e) {
error_log('Cocoon Error: ' . $e->getMessage());
}
}
add_action( 'wp_head', 'safe_custom_code' );
6.2 安全確認用CSS(Cocoon)
/* Cocoonテーマでの一時確認用ボーダー */
body {
border: 5px dashed #ff4081 !important;
}
7 JavaScriptで簡易診断(ブラウザ上)
ブラウザで画面が真っ白な場合、JavaScriptのコンソールエラーを確認します。
Chromeを右クリックして「検証」→右側の画面の上の「Console」タブで赤いエラーをチェックします。
また、緊急時は次のようなスクリプトをテーマに一時挿入して、動作を確認可能です。
</body> タグの直前に以下を追加:
(Lightningテーマ)ファイル名:header.php
保存先:wp-content/themes/child-theme/g2/header.php
(汎用テーマ、Cocoonテーマ)ファイル名:header.php
保存先:wp-content/themes/child-theme/header.php
window.addEventListener('load', function() {
console.log('JSロード確認: ページは正常にロードされました。');
document.body.style.border = '5px solid #4CAF50';
});
1.1 ディレクトリ構造
- child-theme/
- g2/
- header.php←Lightningテーマ
- archive.php
- category.php
- functions.php
- footer.php
- header.php←汎用テーマ、Cocoonテーマ
- style.css
- js/
- loading.js
- g2/
7.2 設置例(footer.php 内)
(Lightningテーマ)ファイル名:header.php
保存先:wp-content/themes/child-theme/g2/footer.php
(汎用テーマ、Cocoonテーマ)ファイル名:header.php
保存先:wp-content/themes/child-theme/footer.php
//-------------------------------------------
// JSロード確認
//-------------------------------------------
<script>
window.addEventListener('load', function() {
console.log('JSロード確認: ページは正常にロードされました。');
document.body.style.border = '5px solid #4CAF50';
});
</script>
</body>
</html>
1.1 ディレクトリ構造
- child-theme/
- g2/
- header.php
- footer.php←Lightningテーマ
- archive.php
- category.php
- functions.php
- footer.php←汎用テーマ、Cocoonテーマ
- header.php
- style.css
- js/
- loading.js
- g2/
8 それでも直らない場合
以下を確認してください。
error_logファイルをチェック- サーバーのPHPバージョンを最新(推奨 8.1〜8.2)に更新
- テーマ・プラグインを最新に更新
それでも解決しない場合は、レンタルサーバーのサポートに
「エラーログの内容」を添えて問い合わせましょう。
9 まとめ
WordPressが真っ白になっても慌てず、原因を一つずつ切り分けることが大切です。
- デバッグモードON
- プラグイン停止
- テーマ切り替え
- メモリ増加
- エラーログ確認
この手順でほとんどの「真っ白画面」は解決できます。


