Quick answer: The WordPress “white screen of death” (a blank page, or the message “There has been a critical error on this website”) is almost always caused by a PHP fatal error from a plugin, a theme, low PHP memory or an incompatible PHP version. Check your email for WordPress’s recovery mode link first. If you can’t log in, disable plugins by renaming the wp-content/plugins folder over FTP, then switch to a default theme, enable debug logging to see the exact error, and increase the memory limit if needed.
What causes the white screen?
| Cause | How common | Typical trigger |
|---|---|---|
| Plugin error | Very common | Plugin update or new plugin |
| Theme error | Common | Theme update or code edit |
| PHP version mismatch | Common | Host upgraded PHP |
| Memory limit exhausted | Occasional | Heavy plugins or big imports |
| Corrupted files or failed update | Occasional | Interrupted update |
| Syntax error in custom code | Occasional | Editing functions.php |
Before you start
If you have a recent backup, restoring it may be the fastest fix — see how to restore a backup. Otherwise, follow the steps below in order. You’ll need access to your hosting file manager or an SFTP client.
The 9 fixes
1. Use recovery mode
When a fatal error happens, WordPress usually emails the site admin a message such as “Your Site is Experiencing a Technical Issue” with a special recovery mode login link. Open it, log in, and WordPress shows which plugin or theme caused the problem so you can deactivate it. Check your spam folder.
2. Check whether only the admin or only the front end is white
If only the dashboard is blank, a plugin is the likely cause. If only certain pages are white, the theme or a page-specific plugin may be the problem. If the whole site is blank, start with plugins.
3. Disable all plugins via FTP
- Connect with SFTP or your host’s file manager.
- Go to
wp-content. - Rename
pluginstoplugins-off. - Reload your site. If it works, a plugin was the cause.
- Rename the folder back to
plugins(plugins will be deactivated), then reactivate them one by one to find the culprit.
Detailed steps: find and fix a broken plugin.
4. Switch to a default theme
Rename your active theme’s folder in wp-content/themes. If a default theme (like Twenty Twenty-Five) is installed, WordPress will switch to it. If the site comes back, the theme is the problem.
5. Turn on debugging to see the real error
Edit wp-config.php and add:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the page, then open wp-content/debug.log. The error message usually names the file and line causing the problem. Turn debugging off when you’re done. More in WordPress debug mode explained.
6. Increase the PHP memory limit
If the log says “Allowed memory size exhausted”, add this to wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
If that doesn’t work, ask your host to raise the server’s PHP memory limit.
7. Check your PHP version
An old plugin may break on a newer PHP version, or a new plugin may need newer PHP than your server has. Check the version in your hosting panel and the plugin’s requirements. WordPress.org recommends PHP 8.3+, but test changes on staging.
8. Undo recent code changes
If you edited functions.php or added a code snippet just before the white screen, a missing semicolon or bracket is likely. Restore the original file via FTP.
9. Re-upload WordPress core files
If an update was interrupted, download a fresh copy of WordPress from WordPress.org and upload the wp-admin and wp-includes folders, overwriting the old ones. Don’t overwrite wp-content or wp-config.php.
Quick diagnosis table
| What you see | Try first |
|---|---|
| White screen right after updating a plugin | Recovery mode or rename that plugin’s folder |
| White screen after changing theme | Rename the theme folder |
| “Allowed memory size exhausted” in log | Increase memory limit |
| “Parse error” or “syntax error” | Undo the last code edit |
| White screen only on one page | Check that page’s blocks, shortcodes or builder |
| White screen after host maintenance | Check PHP version; contact host |
When to contact your host
Ask your host for help if you can’t access your files, the error log mentions the server or database, or the problem started after server changes. Hosts can read server error logs and often fix these issues quickly.
How to prevent it
- Update plugins and themes on a staging site first.
- Keep automatic backups.
- Avoid editing theme files directly — use a child theme or a snippets plugin.
- Keep PHP current and plugins compatible.
Frequently asked questions
What does “There has been a critical error on this website” mean?
It’s WordPress’s friendlier white screen message — a fatal PHP error occurred. The fixes are the same.
Will I lose my content?
No. Your content is in the database; the white screen is a code problem.
I didn’t receive the recovery mode email. What now?
Use the FTP method to disable plugins and themes.
Can a white screen be caused by caching?
Sometimes a cached broken page persists after you fix the cause. Clear all caches after fixing.
Final thoughts
Stay calm: the white screen is scary but almost always fixable in minutes. Recovery mode, disabling plugins and reading the debug log solve most cases. See the official WordPress troubleshooting FAQ for more.
A real-world example
A charity’s website suddenly showed a completely blank page after a volunteer added a code snippet to the theme’s functions.php file to change the login logo. There was no error message and no access to the dashboard. The volunteer connected to the site with the host’s File Manager, opened the theme folder and removed the snippet. The site came back instantly. The snippet had a missing semicolon — one character that stopped PHP from running. Afterwards, the charity installed a code snippets plugin, which checks code for errors before activating it, so a typo can no longer take the whole site down.
When the white screen follows a server change
If the white screen appears without any change on your side, the server may have changed. Hosts sometimes upgrade PHP or apply emergency security patches, as many did after the October 2026 PHP2Shell vulnerabilities. An old plugin or theme that isn’t compatible with the new PHP version can then fail. Turn on debug logging to find the plugin named in the error, update or replace it, and avoid rolling back to an unsupported PHP version just to make the old code work.
How to prevent the white screen
- Test updates on a staging site first.
- Use a child theme or snippets plugin for custom code.
- Keep daily backups so you can restore quickly.
- Remove plugins you don’t use.
- Stay on a supported PHP version and keep plugins compatible with it.
If you can’t find the cause within half an hour, restore last night’s backup and investigate on a staging copy instead of the live site.
Write down what you changed while fixing it, so you can undo steps if needed.
WordPressPrime.com is an independent guide and is not affiliated with the WordPress Foundation, WordPress.org or Automattic. Always back up your website before making changes, and check official sources for the latest details.
