"There has been a critical error on this website"

WordPress shows this when a plugin, the theme or the server's PHP stops it with a fatal error. The message by itself does not delete your posts or pages. The fix is to find what broke and turn it off, and it is free.

If your site opens for visitors and the error shows only while you edit a page, the public site is fine. Use the email or the error log below to find the plugin or theme; you do not need to turn every plugin off.

First, the email WordPress sent

  1. When a plugin or theme causes the error, WordPress usually emails the site's administration email address with what broke and a private link into recovery mode. Look for it in that inbox, and in spam.
  2. Click the link, then log in. In recovery mode the plugin or theme causing the error is paused for you only, and a notice at the top of the admin says which one it is and what the error was.
  3. Deactivate that plugin, or switch theme, or update it if an update is waiting. Then click Exit Recovery Mode in the admin bar and load the site.

The email goes to the address saved in the site's settings. If that was a former designer's address, or the server cannot send mail, or the link no longer opens, use the steps below, which need the login to your hosting account. If you cannot log in to WordPress at all, getting back into WordPress comes first.

Read the error log

The log names the file that failed, and its folder tells you which plugin or theme it was. Before you change any file, take a backup of the files and the database if your hosting has a backup tool (cPanel has one), so one wrong edit can be undone.

  1. Many hosting control panels show an error log of their own. If yours does, read its last lines first: you may need nothing below.
  2. Otherwise, open your hosting's file manager (or connect by FTP) and find wp-config.php in the folder WordPress is installed in.
  3. Most of these files already have this line: define( 'WP_DEBUG', false );Change false to true, and add these two lines under it:define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );If the file has no WP_DEBUG line, add all three above the line that begins /* That's all, stop editing!. Type true and false without quotes.
  4. Load the page that showed the error once more. Then open wp-content/debug.log and read the last lines. A path with wp-content/plugins/name or wp-content/themes/name in it names the culprit.
  5. When you are done, set WP_DEBUG back to false and delete debug.log. WordPress does not advise debugging on a live site, and WordPress calls a log left in a public folder a security risk.

Turn the plugins off without logging in

  1. In the file manager, open wp-content and rename the folder plugins to plugins_old. This turns every plugin off. Load your site.
  2. If the site loads, a plugin was the cause. With the folder still named plugins_old, log in and open the Plugins screen (/wp-admin/plugins.php). WordPress says the plugins are missing and marks them all inactive.
  3. Now rename plugins_old back to plugins. The plugins stay off. On the Plugins screen turn them on one at a time, loading the site after each. The one that brings the error back is the one to update, replace or leave off.
  4. If the log named a single plugin, you can rename just that plugin's folder inside wp-content/plugins instead.

If it is the theme

  1. Open wp-content/themes and rename the folder of the theme the site uses, for example by adding _old to its name. This works when a default WordPress theme, such as Twenty Twenty-One, is also in that folder.
  2. Load the site. If it comes back, the theme was the cause: update it, or ask its maker, before you name the folder back. Then log in and choose the theme again under Appearance, Themes.

If neither changes anything, the log usually says what is left: the PHP version on the server, the memory limit, or damaged WordPress files. Many hosting panels let you switch the PHP version yourself. The memory limit is a line in wp-config.php with a value higher than your host's current limit, for example define( 'WP_MEMORY_LIMIT', '256M' );. Damaged files are replaced by uploading the wp-admin and wp-includes folders from a fresh copy of WordPress. If none of that is open to you, the line from debug.log is what to send your host.

These steps follow WordPress's Common WordPress Errors (the Critical Error Message and White Screen of Death sections), its Troubleshooting FAQ (turning plugins off by renaming the folder), Debugging in WordPress, Editing wp-config.php (the memory limit and where the log is kept), and the core team's note on fatal error recovery mode, all read 26 October 2026.

If someone else holds the hosting

If a former designer or company set the site up, the admin email and the hosting login may both be theirs. Start from whoever sends you invoices for the site; they may resell hosting that sits with another company. Ask them to do the steps above for you today, and then for these, so it does not happen again:

  1. Your own login to the hosting account, not a shared one.
  2. An administration email address you read, set in the site's settings.
  3. A backup of the files and the database, copied somewhere you control.

If it cannot be brought back

If no one can reach the hosting, or the fix is more than you want to take on, a new site on your domain is one way through, as long as you can still change the domain's settings where it is registered. This is a new page, not a repair of the old site.

USD 150once

A one-page site on your own domain, live within 7 days of the day you approve the draft or every dollar back, first year of hosting included.

Terms at kortaga.com/sites

Or write to hello@kortaga.com with your domain.