In this guide · 8 sections
- 01What the critical error and white screen actually mean
- 02Step 1: Find the recovery mode email
- 03Step 2: Turn on the debug log safely
- 04Reading the debug log: common fatal errors and fixes
- 05When the cause is PHP version, memory or the theme
- 06After the fix: stop it happening again
- 07Do it yourself or get help?
- 08Frequently asked questions
Short answer
Check the site admin's inbox for WordPress's recovery mode email and use its link to log in with the faulty plugin or theme paused. No email? Turn on WP_DEBUG_LOG, reload the page, read wp-content/debug.log to find the file causing the fatal error, then disable or fix it.
What the critical error and white screen actually mean
WordPress's common errors page explains that the message "There has been a critical error on this website. Please check your site admin email inbox for instructions" means something prevented WordPress from running. It lists the usual causes: conflicts between plugins, theme compatibility problems, an incompatible PHP version, hitting the memory limit, or corrupted WordPress files.
The "white screen of death" is the same family of problem. Both PHP errors and database errors can show up as a blank page with no information. Since WordPress 5.2, most fatal errors show the critical error message instead of a blank page and trigger recovery mode.
That update-specific guide is here: WordPress update broke my site.
Step 1: Find the recovery mode email
WordPress 5.2 introduced fatal error recovery mode. When a fatal error happens, WordPress emails the site's admin email address with details of the error and a secret link. Opening the link sets a cookie in your browser, you log in, and the plugin or theme causing the error is paused for you only. Visitors still see the error until you fix it.
Search the admin inbox for the email
Look for a subject like "Your Site is Experiencing a Technical Issue". Check spam and the inbox of whoever set up the site, since the admin address is often the developer's.
Open the recovery link and log in
The admin area shows which plugin or theme was paused and the error message.
Deactivate the paused plugin or switch theme
Deactivate it, then check the public site in a private window. If the site works, the cause is confirmed.
Decide: update, replace or remove
Look for an update to the plugin, ask its developer, or replace it with an alternative. Do not just reactivate it.
Exit recovery mode
Use the Exit Recovery Mode button in the admin bar when finished.
If the admin email is wrong or nobody reads it, the email never arrives. Developers can set a separate address with the RECOVERY_MODE_EMAIL constant in wp-config.php so recovery emails go to whoever maintains the site.
Step 2: Turn on the debug log safely
If there is no email, the error log tells you what broke. WordPress's debugging guide describes three settings in wp-config.php:
- WP_DEBUG set to true turns on debug mode.
- WP_DEBUG_LOG set to true writes errors to wp-content/debug.log.
- WP_DEBUG_DISPLAY set to false keeps errors off the screen, so visitors do not see file paths.
Open wp-config.php through your hosting file manager or SFTP, add the three lines above the line that says "That's all, stop editing!", save, then reload the broken page once. A debug.log file appears in wp-content. Download it and look at the last lines that start with "PHP Fatal error".
Reading the debug log: common fatal errors and fixes
The fatal error line names a file path. The folder after wp-content tells you who is responsible: plugins/plugin-name, themes/theme-name, or wp-includes and wp-admin for WordPress itself.
| Error in debug.log | What it usually means | What to do |
|---|---|---|
| Allowed memory size of ... bytes exhausted | PHP ran out of memory | Raise the memory limit or ask the host; find the heavy plugin |
| Call to undefined function ... | Plugin or theme needs a function that is missing | Update or reinstall the plugin; check PHP extensions |
| Uncaught Error: Class ... not found | Incomplete update or missing dependency | Reinstall the plugin cleanly from a fresh copy |
| syntax error, unexpected ... | Broken code, often from editing functions.php | Undo the last code change or restore the file |
| Maximum execution time exceeded | A task ran too long for the server | Retry, then ask the host to raise the limit |
If the path points to a plugin and you cannot log in, rename that plugin's folder in wp-content/plugins (for example add -off to the name). WordPress deactivates it on the next load. The troubleshooting FAQ also describes renaming the whole plugins folder to disable every plugin at once, then reactivating them one by one.
When the cause is PHP version, memory or the theme
Hosts upgrade PHP on shared servers, sometimes with little notice. A site with old plugins can break overnight with nobody touching it. WordPress's requirements page recommends PHP 8.3 or greater and notes that PHP 7.4 still works but has reached end of life and may expose the site to security problems.
Roll PHP back temporarily if
- The error started right after the host changed PHP version
- You need the site up today while a developer looks
- The host lets you choose PHP per site in the control panel
Fix forward instead if
- The old PHP version is past end of life
- Updates for the plugin or theme already support the new PHP
- The plugin is abandoned and needs replacing anyway
Memory errors usually show up on busy WooCommerce stores, page builders and backup or security plugins. The common errors page says you can increase the limit in wp-config.php, but on shared hosting the host may have to raise it for you.
If the log points to themes/your-theme, switch to a default theme by renaming the active theme's folder. WordPress falls back to an installed default theme. Corrupted core files are fixed by re-uploading fresh wp-admin and wp-includes folders from the same WordPress version, never wp-content.
After the fix: stop it happening again
Most critical errors are avoidable with a small routine.
WordPress fatal error prevention checklist
Do it yourself or get help?
If you can reach your hosting file manager and follow the steps above, most critical errors take under an hour to clear. Get help if the log points to WordPress core, a custom theme, or the database, or if you have no backups and are nervous about editing files.
Our Quick Fix (S$119, one hour of remote work) covers diagnosing and clearing one critical error, with a written note of the cause. Care (S$129 a month) adds tested updates, backups and monitoring so it is less likely to happen again. For budgets, see website maintenance costs in Singapore.
Frequently asked questions
A PHP fatal error that stops WordPress from loading. WordPress's documentation lists the common causes as plugin conflicts, theme compatibility problems, an incompatible PHP version, hitting the memory limit and corrupted WordPress files. The exact cause is in the recovery email sent to the admin address, or in wp-content/debug.log once logging is turned on.
The email goes to the site's admin email address, which may belong to a former developer or be filtered as spam. Without it, turn on WP_DEBUG and WP_DEBUG_LOG in wp-config.php, reload the site, and read wp-content/debug.log. Then rename the folder of the plugin or theme named in the fatal error to disable it.
No. Renaming a plugin folder only deactivates the plugin; posts, pages and settings stay in the database. WordPress's troubleshooting FAQ notes that renaming the plugins folder preserves plugin settings, but you will need to reactivate plugins manually afterwards. Reactivate one at a time to find the one causing the error.
WordPress recommends PHP 8.3 or greater as of October 2026. It still runs on PHP 7.4, but that version has reached end of life and no longer gets security fixes. Before moving to a newer version, check that your theme and plugins support it, ideally on a staging copy of the site.
They come from the same kind of problem. Both PHP errors and database errors can produce a blank white page. Since WordPress 5.2, most PHP fatal errors show the critical error message and send a recovery email instead. A truly blank page today often means the error happens before WordPress can show its message, or display of errors is off.