Why is my website loading a blank white page?
A blank white page usually means a plugin, theme, PHP or script error stopped your site. Your content is almost always safe. Here's how to find the cause.
Don't want to fix it yourself? Let us take a look. Tell us what you see. Within 24 hours we tell you what's broken, whether we can fix it and what it costs.
Ask for a diagnosis on WhatsAppA blank white page almost always means your website's code crashed before the page could be built. On WordPress the usual culprit is a plugin, a theme, a PHP version change or a memory limit; on sites built with JavaScript, it is usually a script that failed to load or run. Your content is almost never lost: first check whether the page is blank only for you, then read the error log to find the exact cause.
You open your site and, instead of your homepage, you get a completely blank white page. No text, no error, nothing. It's unnerving, especially if your site brings in customers or sales. The good news: this "white screen of death" (WSOD) doesn't appear out of nowhere, and its cause can almost always be tracked down. Below, step by step and without needless jargon, is how to find it and get your site back, even if you're not technical.
Quick diagnosis: what you see and what it usually means
| What you see | What it usually means | Check first |
|---|---|---|
| Blank on your computer, fine on your phone or in a private window | Old cached files or a browser extension | Browser |
| Blank right after you installed or updated a plugin or theme | A fatal PHP error in that plugin or theme | Plugins |
| "There has been a critical error on this website" | WordPress caught a fatal error | Admin inbox |
| Blank only in /wp-admin, public site fine (or the reverse) | Code that loads only in that part of the site | Error log |
| "Briefly unavailable for scheduled maintenance" | An update stopped halfway | .maintenance |
| "500 Internal Server Error" instead of white | A server or configuration error | Error log |
| Blank, and the browser console shows red errors | A script failed to load or crashed | Console |
| Blank after your host changed something | New PHP version or a tighter memory limit | PHP |
First, rule out your own browser
Before you touch any files, make sure the site is actually broken for everyone, not just for you:
- Open the page in a private (incognito) window. It loads without your cache, cookies or most extensions.
- Open it on your phone over mobile data, not your Wi-Fi.
- Do a hard refresh that skips the cache: Ctrl+Shift+R on Windows, Cmd+Shift+R on a Mac (in Chrome, Edge or Firefox).
If the site loads everywhere except your usual browser, the website is fine. Clear that browser's cache and cookies for the site, then turn off ad blockers and other extensions one at a time. If the page is blank everywhere, the problem is on the site itself, so keep reading.
What the white page actually means
A WordPress site (or any PHP-based site) works like this: the server runs code, builds the page and sends it to the browser. When a piece of code throws a fatal error (a missing function, an incompatibility, exhausted memory), execution stops abruptly. If error display is turned off, as it should be on a public site, you don't see the error message, just the result: an empty white page.
So the white page isn't a "disease", it's a symptom. Somewhere behind it there's a very specific error message; you just need to surface it. Often the cause appeared right after an action: you installed a plugin, hit "Update", edited a theme, or your host changed a setting. Before anything else, write down what happened just before the site went blank.
On current WordPress versions you may see a message instead of pure white: "There has been a critical error on this website." It's the same kind of fatal error. Since version 5.2, WordPress catches many of these errors, shows visitors a short error notice instead of a blank page and emails the site's admin a link to recovery mode (see step 1). A completely blank page still happens on older installs, with some errors and on setups where this protection has been switched off.
The most common causes
In practice, nearly every white screen comes from a handful of sources:
- A plugin conflict or a poorly written plugin: the most frequent cause. An updated plugin becomes incompatible with another one or with your PHP version.
- A broken theme: especially after an update, or after someone pasted code into its functions.php file.
- Exhausted PHP memory: the site asks for more memory than the server allows and crashes.
- An interrupted update: WordPress, a theme or a plugin updated only halfway (dropped connection, timeout) and left incomplete files behind.
- An incompatible PHP version: the host moved to a newer PHP version and an old plugin or theme doesn't support it.
- A caching or optimization plugin: settings that combine or delay JavaScript and CSS can sometimes leave a page that loads but shows nothing.
- A JavaScript error: on sites that build the page inside the browser, one failed script can leave the whole page blank.
One useful detail: notice where the white appears. Only on the public site? Only in /wp-admin? On one page or everywhere? That narrows the search a lot.
Step 1: look for the WordPress recovery email
Check the inbox of the site's admin email address, including the spam folder. When WordPress catches a fatal error, it sends that address the error details and a special link that lets you into the dashboard in recovery mode. In recovery mode, the plugin or theme that crashed is paused only for you, so you can reach the dashboard, deactivate or update it, and then leave recovery mode from the button in the top admin bar. Visitors keep seeing the error until you fix the cause.
The email only arrives if your site can send mail and the admin address is one you can read. If nothing shows up, move on to step 2.
Step 2: make the errors visible
So you don't have to guess, have WordPress write down exactly which error occurred. Via FTP or your hosting File Manager, open wp-config.php in the site's main folder. Find the WP_DEBUG line (or add these lines above the one that says "That's all, stop editing!") and set:
- define('WP_DEBUG', true);
- define('WP_DEBUG_LOG', true);
- define('WP_DEBUG_DISPLAY', false);
With WP_DEBUG_LOG on, errors are saved to a debug.log file in the /wp-content/ folder, and WP_DEBUG_DISPLAY set to false keeps them off the pages your visitors see. Reload the white page, then open debug.log. Look for lines containing "PHP Fatal error": they name the file that failed, and the path tells you who is to blame. A path with /wp-content/plugins/plugin-name/ points to that plugin; /wp-content/themes/theme-name/ points to your theme.
If no debug.log appears, look for the PHP error log in your hosting control panel; many hosts keep one there. And if you suddenly see a new error right after editing wp-config.php, check that you didn't delete a semicolon or a quote, then redo the change carefully.
Important: once the problem is fixed, set WP_DEBUG back to false. The official WordPress debugging guide says these tools are meant for local testing and staging, not live sites. A log left running also keeps filling up on your server.
Step 3: disable plugins and switch the theme
If you can still log in to /wp-admin, deactivate plugins from the Plugins screen, starting with the one you touched last. If you can't get in, disable them without the dashboard:
- Go into /wp-content/ via FTP or File Manager.
- Rename the plugins folder to plugins-off. WordPress can no longer load any plugin.
- Check the site. If it's back, a plugin was the cause.
- While the folder is still renamed, log in and open the Plugins screen once: WordPress notices the plugins are missing and deactivates them.
- Rename the folder back to plugins, then reactivate plugins one by one, checking the site after each. The one that brings back the white screen is your culprit.
If plugins aren't the problem, test the theme: in /wp-content/themes/ rename your active theme's folder. WordPress falls back to a default theme (one of the "Twenty Twenty-something" themes), as long as one is still installed in that folder. If the site appears, the problem is in your theme. If you recently pasted code into the theme's functions.php file, undo that change first: it's the most likely suspect.
Once the site loads again, clear every cache layer: your caching plugin, your host's cache and your CDN, if you use one. Otherwise some visitors may keep getting the blank version for a while.
Step 4: memory, PHP version and half-finished updates
If debug.log shows something like "Allowed memory size exhausted", the site ran out of memory. By default, WordPress tries to raise PHP's memory to 40MB on a single site and 64MB on a multisite network. Raise it in wp-config.php, above the "That's all, stop editing!" line:
- define('WP_MEMORY_LIMIT', '256M');
Some hosts don't let WordPress raise the limit on its own. In that case, increase the PHP memory limit in your control panel or ask your host to do it.
If the white screen appeared right after your host upgraded PHP, debug.log will usually show errors from an old plugin or theme. The lasting fix is to update or replace that plugin or theme; switching back to the previous PHP version in your control panel, if your host still offers it, only buys you time.
If a WordPress update was interrupted, visitors usually see "Briefly unavailable for scheduled maintenance" rather than white. That's caused by a leftover .maintenance file in the site's root, and deleting it fixes it: here's how to get a site stuck in maintenance mode back online. If the site is white instead, the update may have left incomplete files. Reinstall the affected plugin from a fresh copy, or replace the WordPress core files with a fresh download following the official manual update guide. Never delete wp-config.php or the wp-content folder: that's where your settings, themes, plugins and uploads live.
Not on WordPress? Blank pages on JavaScript sites and site builders
Many modern sites send the browser an almost empty page and let JavaScript build everything you see. If a script fails, the page stays white even though the server is fine. To find out why:
- In Chrome, Edge or Firefox, right-click the blank page, choose Inspect (Firefox may call it Inspect Element) and open the Console tab. Red messages mean a script crashed; the first one is usually the real cause and the rest are knock-on errors.
- Switch to the Network tab and reload. JavaScript or CSS files marked 404 (not found) usually mean a deployment went wrong or the site points to the wrong folder.
- If the site broke right after a new version went live, a cached copy of the old page may be asking for files that no longer exist. Clearing the hosting or CDN cache often fixes it.
On hosted builders such as Wix, Squarespace or Shopify you can't see the server, so check the platform's status page first, then remove any custom code, embed or app you added recently. If the page is still blank, the platform's support team is your fastest route.
If you see "500 Internal Server Error" instead of a white page, the server is telling you something failed on its side; here's what a 500 error means and how to fix it.
When restoring a backup is the faster fix
If you have a recent backup from before the problem and can't find the cause, restoring it can be the quickest way back online. Just remember that anything changed since that backup, such as new orders, form entries or posts, will be lost unless you save it first. Then apply the updates again one at a time, on a staging copy, to find the one that broke the site.
How to prevent it, and when it's worth getting help
Prevention is cheaper than panic. A few simple rules:
- Back up before any update, automatically, not "when I remember".
- Test updates on a staging site, not directly on the live one.
- Keep plugins few and from serious sources; every extra plugin is extra risk.
- Don't edit theme files directly: use a child theme or ask someone who knows.
- Make sure the admin email in your WordPress settings is one you actually read, so a recovery email doesn't go unseen.
- Use monitoring that checks for a word on your page, not only that the server responds. A blank page can still look "up" to a basic uptime check, because the server is technically answering.
If you've tried the steps above and still see white, or you simply don't want to poke around FTP on the site you depend on, don't push until you break more. At MPO Web Studio we build and maintain sites remotely, with backups and monitoring included, and we can diagnose a white screen quickly, from a distance. A short WhatsApp message telling us what happened just before the error is often enough for us to get started.
Don't want to fix it yourself? Let us take a look.
Tell us what you see. Within 24 hours we tell you what's broken, whether we can fix it and what it costs.
- Free diagnosis within 24 hours, no commitment
- Quick fix from €49
- You know the fixed price before we start any work
Frequently asked questions
Why is my website showing a blank white page?+
Usually because a plugin, theme or PHP error stopped the server before it could send the page; on JavaScript-built sites, because a script failed to load or run. Check a private window first, then the error log or the browser console.
Is my whole site lost if I see a white screen?+
Almost certainly not. The white screen is an execution error, not a deletion: your content, images and database are usually intact on the server. Once you disable the plugin or theme at fault, the site comes back as it was.
Why is my website blank only on my computer?+
If it loads in a private window or on another device, the site is fine and your browser is the problem. Clear its cache and cookies for that site and turn off extensions one at a time, starting with ad blockers.
What's the difference between a white screen and "There has been a critical error on this website"?+
Usually it's the same problem: a fatal PHP error. Since version 5.2, WordPress catches many of these errors, shows an error notice instead of a blank page (on current versions, that exact message) and emails the admin a recovery-mode link.
Why is only /wp-admin blank while the public site works (or the other way round)?+
Because the dashboard and the public site load different sets of code. A plugin that runs only in the admin area can fail only there, while visitors see a normal site. That's a helpful clue: it tells you which area to search.
I don't have FTP access. What do I do?+
Nearly every host offers a File Manager in its control panel (cPanel, Plesk or similar) that does what FTP does, right from the browser. From there you can edit wp-config.php and rename the plugins folder; if you can't find it, your hosting provider can point you to it.
How long does it take you to fix a white screen if I hire you?+
It depends on the cause, but most cases (plugin, theme, memory) are resolved the same day once we have access. We work remotely, and telling us what you did right before the white appeared shortens the diagnosis a lot.
7 mistakes that drive clients away from your website
Leave your email and get the guide right here, instantly. No spam.
Want to see what your business's website could look like?
Message us on WhatsApp and we'll build you a free demo website with your business name on it. See it first, then decide — no strings attached.