Your site is showing a blank white page, or the message There has been a critical error on this website. Nothing in wp-admin loads either. It looks catastrophic. It almost never is.
In nearly every case this is PHP hitting a fatal error and WordPress refusing to render anything rather than show you a broken page. The content and the database are usually untouched. This is the sequence we work through on client emergencies, and it resolves the overwhelming majority of them inside half an hour.
Before anything else: take a backup
Even though the site looks dead, the files and database are still there. Download a copy of both from your hosting panel before you start changing things. Every step below is reversible, but only if you have something to revert to.
Step 1: Turn on the error message
You are flying blind until you can see the actual error. Open wp-config.php via FTP or your host’s file manager and find the line that says /* That's all, stop editing! */. Directly above it, add:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the site, then open /wp-content/debug.log. You are looking for a line beginning with Fatal error. It will name a file, and that file path tells you which plugin or theme is responsible. That single line usually solves the whole problem.
Set WP_DEBUG_DISPLAY to false so visitors do not see raw errors and file paths while you work. Turn all three back off once you are done.
Step 2: Check your email
Since version 5.2, WordPress emails the site admin address when a fatal error occurs. The subject line is usually Your Site is Experiencing a Technical Issue, and it contains both the offending plugin and a one-time recovery mode link that logs you into wp-admin with the broken plugin paused. If that email arrived, use the link and skip most of what follows.
Step 3: Rule out plugins
If you cannot reach wp-admin, you can disable plugins over FTP. Rename /wp-content/plugins/ to plugins-off. That deactivates everything at once.
If the site comes back, you have confirmed it is a plugin. Rename the folder back to plugins, then rename individual plugin folders one at a time until the site breaks again. The last one you renamed is the culprit.
The usual suspects are a plugin that just auto-updated, a plugin that is incompatible with your PHP version, or two plugins that both try to load the same library.
Step 4: Rule out the theme
Same idea. Rename your active theme’s folder in /wp-content/themes/. WordPress will fall back to a default theme like Twenty Twenty-Four, assuming one is installed. If the site loads, the fault is in your theme, usually in functions.php after an edit or an update overwrote a customisation.
This is also the moment to note that if theme edits vanish on update, the work was done in the parent theme instead of a child theme. That is worth fixing properly once the emergency is over.
Step 5: Raise the memory limit
If the log mentions Allowed memory size exhausted, the site ran out of PHP memory. Add this to wp-config.php above the same stop-editing line:
define( 'WP_MEMORY_LIMIT', '512M' );
If that does not take effect, the ceiling is set at server level and you will need your host to raise it. Be aware that needing far more memory than usual is often a symptom rather than the disease; a single badly written plugin can consume it all.
Step 6: Check for a corrupted core file
Rarer, but it happens after a failed update or an interrupted upload. Download a fresh copy of WordPress, delete the wp-admin and wp-includes folders on your server, and upload the fresh versions of those two folders only. Do not touch wp-content, and do not overwrite wp-config.php. Your content, themes, plugins and uploads all live outside those two folders.
What to do once it is back up
Getting the site loading again is the fix. Stopping it happening again is the actual job:
- Turn on automatic backups if they are not already running, and confirm you can actually restore one.
- Switch plugin auto-updates to manual for anything critical, and update on a staging copy first.
- Remove plugins you are not using. Every one is a surface for this to happen again.
- Check your PHP version. A plugin failing on an outdated PHP version is a common trigger.
- Move theme customisations into a child theme so updates stop overwriting them.
If you have worked through all six steps and the site is still down, or the log points somewhere you are not comfortable editing, that is a reasonable point to hand it over. Send us the debug log line and we will tell you what it means and what it will take, usually the same day.
Frequently asked questions
Will I lose my content if I get a critical error in WordPress?
Almost never. A critical error is PHP failing to execute, not data being deleted. Your posts, pages, media and settings are still in the database and the uploads folder. Take a backup before you start troubleshooting anyway, so that any change you make is reversible.
How do I access wp-admin when the whole site shows a critical error?
Check the admin email for the WordPress recovery mode link, which logs you in with the failing plugin paused. If that email did not arrive, use FTP or your host file manager to rename the plugins folder, which deactivates everything and normally restores wp-admin access.
What causes the WordPress white screen of death?
Most commonly a plugin or theme conflict after an update, PHP memory exhaustion, an incompatible PHP version, a syntax error in functions.php, or a corrupted core file after a failed update. The debug log will tell you which one it is.
Is a critical error a sign my site was hacked?
Usually not. It is far more often a plugin conflict or an update that went wrong. That said, if the error appeared without anyone updating anything, or you find files you do not recognise, it is worth running a malware scan before assuming it was routine.