WordPress fatal errors
There Has Been a Critical Error on This Website
That white page is WordPress catching a PHP fatal. The recovery email is optional. The log is the source of truth. Do not delete wp-config to “reset” it.
Direct answer
Since WordPress 5.2, an uncaught fatal in a plugin, theme, or drop-in is wrapped as “There has been a critical error on this website.” The site may still send a recovery-mode link to the admin email. If that email never arrives, you still have debug.log, the host error log, and file-level plugin rename.
Safe diagnostic sequence
- Take a backup or snapshot before you rename anything. If you cannot, stop and get hosting file access first.
- On staging or via SFTP, add temporary logging in
wp-config.php:WP_DEBUGtrue,WP_DEBUG_LOGtrue,WP_DEBUG_DISPLAYfalse. Reload once. Readwp-content/debug.log. Turn display off so you do not leak paths to the public. - The last PHP fatal names a file. If it is a plugin, rename that plugin folder. If it is the active theme, switch to a default theme via the database
template/stylesheetoptions only when you understand the risk. - If the fatal is in
object-cache.phporadvanced-cache.php, those drop-ins survive “disable all plugins.” Rename the drop-in, not the wholewp-contentdirectory. - PHP version jumps (7.4 → 8.2) surface old plugins. That is an update problem. See broken after a plugin update.
What not to do
- Do not leave
WP_DEBUG_DISPLAYon in production. - Do not delete the database to “start clean.”
- Do not paste random
functions.phpsnippets from a forum into the live theme.
Critical Error Rescue starts from $149. Final quote after we see the log line. CTA: Fix My WordPress Site.
