You open your website and instead you're greeted with a blank white screen or the message " There has been a critical error on this website" . WordPress has encountered a fatal error and has stopped loading. The good news: there's almost always a specific, solvable cause behind that generic message.
The exact error you're seeing — and what it means
If you see one of these messages with debug enabled or in error_log / wp-content/debug.log , here is the translation:
- Call to undefined function json_decode() — PHP is missing an extension or the page is running the wrong/corrupted PHP version.
- Failed opening required '.../functions.php' — the theme file is missing or corrupted, usually after an upgrade that failed mid-way.
- Allowed memory size of ... bytes exhausted — spent PHP memory; heavy plugin or
memory_limittoo small. - Error establishing a database connection — the database is not responding (incorrect data, overload, or MySQL crashed).
- Cannot redeclare … / Uncaught Error — conflict between two plugins or plugin incompatible with your PHP version.
The "critical error" screen itself does not show the cause intentionally — the real clue is always in the log.
The most common causes
- Disk full / quota used up — the upgrade crashes in the middle and leaves corrupted files
- Plugin/theme conflict or error — most often immediately after an upgrade
- Wrong PHP version — too old or too new for your plugins/theme
- Too little PHP memory or corrupted
.htaccess/wp-config.php
Emergency steps (if you know how)
- Read the log. Turn on
WP_DEBUGandWP_DEBUG_LOGto read the actual message. - Check disk space. If the account is full, free up space — often that's the whole reason.
- Deactivate plugins. Rename
wp-content/pluginsand restore plugin by plugin. - Switch to the default theme to rule out the theme as the cause.
- Check the PHP version and revert it to the one the site was running on.
From our practice
Recently we were returning WordPress that was reporting exactly "Call to undefined function json_decode()" . The cause was not in the code — but a full disk : the upgrade of the theme (Astra) and Elementor broke in the middle and left empty, corrupted files, and the cache masked the real error. Returned the same day — full case here .
Don't want to look for the culprit while the site is down? Send us the link — the diagnosis is free, and we'll get back to you within 5 minutes. Urgent repair →
WMD — Super fast support.