Skip to content

WordPress White Screen and 'There Has Been a Critical Error': Step-by-Step Fix

The site loads blank or says 'There has been a critical error on this website'. The cause is almost always a plugin, theme or PHP version. Diagnose it with recovery mode, the error log and the plugins folder.

Kodyva5 min readWebsite Maintenance and Security
WordPress White Screen and 'There Has Been a Critical Error': Step-by-Step Fix

If your WordPress site loads as a blank white page or says 'There has been a critical error on this website', PHP hit an error and stopped before it could build the page. The cause is almost always a recently updated plugin, theme, or a PHP version change on your hosting. The fastest order is: use the recovery mode link sent to the admin email, and if it didn't arrive, rename the plugins folder to bring the site back, then find the culprit plugin one by one.

Your data isn't lost. Posts, products and orders stay in the database; what broke is the code that displays them.

When did it start?

Half the diagnosis is in this answer. What changed in the last 24 hours?

  • Was a plugin or theme updated? If WordPress auto-updates, it may have happened without you noticing.
  • Was a new plugin installed?
  • Did the host upgrade the PHP version? Hosts migrate everyone at once when old versions reach end of support.
  • Was code added to the theme's functions.php file?

If the answer is yes, you have probably found the culprit. The steps below disable it safely.

1. Check for the recovery mode email

Since WordPress 5.2, a fatal error triggers an email to the admin address with a subject like 'Your Site is Experiencing a Technical Issue'. It names the plugin or theme that caused the error and includes a recovery mode link.

When you click the link and log in, WordPress pauses the faulty plugin for your session only. Deactivate it from the Plugins page, then exit recovery mode. In most cases that's the end of it.

If the email didn't arrive, check spam. It may never arrive; if the site's email sending is already broken, this message won't get through either. In that case the SMTP setup in contact form emails not arriving will help you later.

2. Turn on the error log

Guessing without seeing the error wastes time. Open wp-config.php in the site's root folder with your hosting file manager or FTP. Above the line 'That's all, stop editing', add these three lines:

  • define( 'WP_DEBUG', true );
  • define( 'WP_DEBUG_LOG', true );
  • define( 'WP_DEBUG_DISPLAY', false );

Refresh the page once. A file named debug.log appears in the wp-content folder. Look at the last lines for one starting with 'PHP Fatal error'. It contains a file path; if the path starts with wp-content/plugins/plugin-name/, that plugin is the culprit; if it starts with wp-content/themes/, it's the theme.

Once fixed, delete these lines or change true to false. Leaving the error log on can leak information about your site's internals.

3. Disable all plugins at once

If there's no recovery mode and the log isn't clear, the most reliable method is to switch off all plugins. In the file manager, rename the wp-content/plugins folder to plugins-off. When WordPress can't find the plugins, it treats them all as deactivated.

If the site loads, a plugin is to blame. Rename the folder back to plugins, then activate plugins one at a time from the dashboard, refreshing the site each time. When the error returns, you've found it. On a site with 20 plugins this takes 10 to 15 minutes.

If you suspect a single plugin, renaming just its folder is enough.

4. Check the theme

If the plugins are innocent, check the theme. Rename the active theme's folder inside wp-content/themes. WordPress falls back to a default theme (such as Twenty Twenty-Five) if one is installed. If the site loads, the problem is in the theme or in code added later to its functions.php.

If no default theme is installed, this won't work; upload a default theme from the official WordPress directory into the themes folder first.

5. PHP version and memory limit

If your host moved PHP to a newer version, an old, unmaintained plugin may not run on it. Switching back one version in the hosting panel's PHP settings brings the site back temporarily. The lasting fix is to update the plugin or replace it with a maintained alternative; old PHP versions don't receive security updates.

If the log says 'Allowed memory size exhausted', PHP's memory limit is too low. Adding define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php is usually enough. If your hosting plan's ceiling is lower, ask the host to raise it.

If it says 'Briefly unavailable for scheduled maintenance'

This is a different situation. An update was interrupted and WordPress left a file called .maintenance in the root folder. Show hidden files in the file manager and delete .maintenance. Then run the unfinished update again from the dashboard.

If nothing works: restore a backup

If you can't find the problem, or the site must come back urgently, restoring a backup from before the error is the fastest route. Check your host's automatic backups in the panel. After restoring, try the update that triggered the error on a test copy. We explain why backups need to be regular and tested in website backups.

Making sure it doesn't happen again

Turning off updates entirely isn't the answer; outdated plugins are the most common reason sites get hacked. A more balanced approach:

  • Try major updates on a test copy first.
  • Take a backup right before updating.
  • Delete plugins you don't use. Every plugin is a chance of failure.
  • Don't update on a Friday evening; do it when you can respond if something breaks.

Doing this regularly and carefully is the core of our maintenance and support plan. If your site is down right now and digging into files feels out of reach, write to us; we'll look first and tell you what broke.

#wordpress #beyaz ekran #kritik hata #sorun giderme

Frequently Asked Questions

Will my posts and orders be deleted by a white screen error?

No. Content lives in the database. The error is in the PHP code that builds the page; once the faulty plugin or theme is disabled, everything comes back as it was.

I can't get into the dashboard. How do I disable a plugin?

Use your hosting file manager or FTP to rename the plugin's folder under wp-content/plugins. WordPress automatically treats that plugin as deactivated.

Why is only the dashboard showing a white screen?

Some plugins run code only in the dashboard, so the error only shows there. The same steps apply: turn on the error log and check plugins one by one.

Is it safe to roll PHP back to an older version?

As a temporary fix it brings the site back, but unsupported PHP versions get no security updates. Once the site is up, update the incompatible plugin and return to a current PHP version.

Blog posts are for general information only and are not a substitute for legal, financial or technical advice.

Want a quote for your project?

Browse our services or request a quote directly.

View Services