Troubleshooting guide · website-errors · Published 2026-08-15 · 4 min read

Website loads but shows a blank page

Website blank page explained: tell a 200 with empty output from a 200 with hidden content, then fix the render or the source in order.

The 200 with nothing

A blank page is not the same as a not loading site. Here the request completes, the server answers HTTP 200, and the body renders nothing to the visitor. The blank page is a different failure from DNS and network errors (website-not-loading).

The first probe decides the branch in one command:

curl -sI https://example.com/page

A 200 with a normal size body but a white screen means the HTML is there and the browser renders it empty. A 200 with a tiny body, or a 204, means the server delivered nothing at all.

ResponseSizeCause family
200, full size, blankLargeCSS hides content, JS removes it
200, small bodySmallEmpty template, partial render
200, zero body0Broken output, fatal caught
204, then blank0Server sent nothing on purpose

When the HTML is present

If curl https://example.com/page returns the full HTML with text in it, the browser has the material and is not showing it. Check in order:

  1. Open the page source. If the text literally sits in the HTML, apply the server-side fix route described below. If the text appears only after scripts run, the cause is client-side; continue with the checks below.
  2. Disable JavaScript. The blank page often turns back to its content once JavaScript is off; that points to a script that runs on load and hides a container, such as a widget that fails and empties the document. Disable JavaScript in the browser tools to confirm.
  3. Check the console. An uncaught exception before the first paint can set document.body to nothing in some frameworks.
  4. Inspect the CSS. A display:none on the body or a 0-height container hides the render while the server still returns the bytes.

When the server sends nothing

A 200 that returns an empty body is an output problem at the source. The usual stories:

The fix trail is to reveal the error:

  1. Turn on logging and error report. WordPress exposes it with WP_DEBUG true, and other stacks with their own flags.
  2. Read the access log for that URL: status is 200, but a repeating 500 pattern nearby points to that page's render.
  3. View source from the server rather than the browser. curl -vs https://example.com/page 2>&1 | head -40 prints the first bytes and shows exactly where the output stops. PowerShell: curl.exe -vs https://example.com/page 2>&1 | Select-Object -First 40.
  4. Test a known-good page on the same server. If only one page is blank, the template is the fault; if the whole site is blank, the shared layout or the theme is.

Content providers

A page that loads blank can also be caused by content layers, not code:

Prevention

Need a website built, fixed, optimised, migrated or replaced?

This technical resource is written by CSMBAC, a small design and development studio. If you would rather hand the problem to a professional, the website service page explains how we build enquiry-ready websites.

Explore website services