2026年7月26日
2026年7月26日
WordPressのフロントページだけが空白になるときの根本原因の診断手順
ほかのページは表示されるのに、トップページ(フロントページ)だけが真っ白、または中身が空のまま表示される場合、原因は「PHPが途中で止まっている」「表示するものが設定されていない」「HTMLは届いているのに見えていない」の3つに分かれます。この記事では、最初の1〜2分でどれに当たるかを見分け、それぞれの原因を可能性の高い順に確認して直す手順を説明します。サイト全体が真っ白になる場合とは調べる場所が違うので、フロントページに絞って進めます。
最初に「どの種類の空白か」を見分ける
作業の前に、可能ならバックアップを取り、ステージング環境で再現するか確認してください。
HTTPステータスとHTMLの量を見る
ブラウザで見た目を確認するより、次のコマンドで返ってきたものを見るほうが早く切り分けられます。
# ステータスコードとダウンロードしたバイト数
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" https://example.com/
# 比較用にほかのページも見る
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" https://example.com/sample-page/
結果ごとの見立ては次のとおりです。
- 500 や 503 で、バイト数がほぼ0 … PHPのエラーで処理が止まっている(「A: PHPが止まっている」へ)
- 200 だが、ほかのページより極端に小さい … テンプレートや設定の都合で、本文が出力されていない(「B: 表示するものがない」へ)
- 200 で、ほかのページと同程度の大きさ … HTMLは届いていて、CSSやJavaScriptの問題で見えていない(「C: 見えていない」へ)
ブラウザだけで確認する場合は、ページのソースを表示(多くのブラウザで Ctrl+U)し、</html> まで出ているか、本文らしき文字が含まれているかを見ます。
ログイン状態とキャッシュの影響を外す
ログイン中だけ、または未ログインのときだけ空白になる場合は、ページキャッシュが空白のページを保存してしまった可能性があります。キャッシュプラグイン、サーバーのキャッシュ、CDNのキャッシュをそれぞれ削除してから、もう一度確認します。エラーが出ていた瞬間の空白ページがキャッシュされ、原因が直ったあとも配信され続けることは珍しくありません。
A: PHPが止まっている場合
エラーの内容を確認する
wp-config.php でデバッグログを有効にし、フロントページを表示してから wp-content/debug.log を確認します。画面にエラーを出すと訪問者にも見えてしまうので、表示はオフにしておきます。
// wp-config.php(「That's all, stop editing!」の行より上)
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
ログに PHP Fatal error があれば、その行に書かれたファイルのパスから、原因のプラグインやテーマが分かります。WordPress 5.2以降では、致命的なエラーが起きると管理者のメールアドレスに、リカバリーモードへのリンクを含むメールが届くことがあるので、そちらも確認してください。調査が終わったら、デバッグの設定は元に戻します。
フロントページだけで止まる理由
フロントページにしか出ない部品が原因のことが多いです。
- スライダー、ギャラリー、新着一覧などのプラグインのショートコードやブロック
- テーマの
front-page.phpに書かれた独自のクエリや関数 - フロントページ用のウィジェットエリア
- 画像や投稿を大量に読み込むことによるメモリ不足(ログに
Allowed memory size ... exhaustedと出る)
エラーの出ているファイルが特定できたら、そのプラグインを更新するか一時的に無効化し、テーマが原因なら子テーマ側で修正します。原因が分からない場合は、ステージング環境でプラグインを1つずつ無効にするか、「Health Check & Troubleshooting」プラグインのトラブルシューティングモード(自分のログインセッションにだけ影響する機能)で、デフォルトテーマとプラグインなしの状態を試します。
B: 表示するものがない場合
表示設定で選んでいる固定ページを確認する
「設定 > 表示設定」の「ホームページの表示」で「固定ページ」を選んでいる場合、指定したページが削除・ゴミ箱・下書き・非公開になっていたり、本文が空だったりすると、フロントページが空になります。WP-CLIでは次のように確認できます。
wp option get show_on_front # page なら固定ページを表示する設定
wp option get page_on_front # フロントページに使う固定ページのID
wp post get 123 --field=post_status # 123 は上で表示されたID
ページの状態が publish 以外なら公開し直すか、別のページを選び直します。投稿の一覧をトップに出したい場合は「最新の投稿」に切り替えます。
テーマのテンプレートが本文を出していない
テンプレート階層では、テーマに front-page.php があると、表示設定で選んだ固定ページのテンプレートよりも優先して使われます。この front-page.php が編集途中で空になっていたり、the_content() を呼ばずに独自の部品だけを並べていたりすると、管理画面で本文を書いても表示されません。
どのテンプレートが使われているかは、「Query Monitor」プラグインを入れてフロントページを開くと、管理バーから確認できます。テンプレート名が分かったら、そのファイルの内容をテーマの配布元のものと比べ、変更点を確認します。
ブロックテーマのテンプレートが空になっている
ブロックテーマでは、サイトエディターで編集したテンプレートはデータベースに保存され、テーマのファイルよりも優先されます。フロントページ用のテンプレート(多くは「フロントページ」や「ホーム」)を編集中にブロックを消してしまうと、ファイルが正常でも空になります。
サイトエディターで該当するテンプレートを開き、中身を確認してください。サイトエディターには、テンプレートのカスタマイズを取り消してテーマの初期状態に戻す操作も用意されています(2026年10月現在)。メニューの名前や場所はWordPressのバージョンによって異なります。戻す前に、必要なブロックをコピーしておくと安全です。
ページビルダーの内容が描画されていない
Elementorなどのページビルダーでフロントページを作っている場合、ビルダーのプラグインが無効になっていたり、更新の途中で止まっていたりすると、本文が空、または意味の分からないショートコードだけが表示されます。ビルダーが有効で最新か、ビルダー側のキャッシュやCSSの再生成機能(名称は製品と版によって異なります)を試したかを確認します。
C: HTMLは届いているのに見えていない場合
ソースには本文があるのに画面が白い場合は、ブラウザ側の表示の問題です。
- JavaScriptのエラー: ブラウザの開発者ツール(F12)のコンソールに赤いエラーが出ていないかを見ます。フェードインのアニメーションなどで「最初は透明にしておき、JavaScriptで表示する」作りになっていると、スクリプトが途中で止まったときに中身が見えないままになります。
- 最適化プラグインの副作用: JavaScriptの遅延読み込み、CSSやJavaScriptの結合・圧縮、クリティカルCSSの生成などを行うプラグインの設定を一時的にオフにして、表示が戻るかを確認します。戻れば、どの機能が原因かを1つずつ切り替えて特定します。
- CSSの読み込み失敗: 開発者ツールのネットワークタブで、CSSファイルが404やブロックになっていないかを確認します。CDNやセキュリティ設定で、CSSが別ドメインから読み込めなくなっていることがあります。
直ったあとに確認すること
- ページキャッシュとCDNのキャッシュを削除し、ログアウト状態と別のブラウザで表示を確認する
- スマートフォン表示でも中身が出ているかを確認する
- デバッグログの設定を元に戻し、
debug.logを公開されない状態にする - 原因になったプラグインやテーマの更新内容を確認し、再発しないかを見ておく
まとめ
- フロントページだけが空白のときは、まずステータスコードとHTMLの量で「PHPが止まっている」「表示するものがない」「見えていない」のどれかを見分ける
- PHPが止まっていれば、
debug.logからフロントページにだけある部品(ショートコード、front-page.php、ウィジェット)を疑う - 表示するものがない場合は、表示設定の固定ページの状態、
front-page.phpの中身、ブロックテーマのテンプレート、ページビルダーの順に確認する - HTMLが届いているなら、JavaScriptのエラー、最適化プラグイン、CSSの読み込みを確認する
- 空白のページがキャッシュされていることがあるので、確認と修正のたびにキャッシュを削除する