WordPress critical error: an emergency guide from the first symptom

The message “There has been a critical error on this website” means a plugin, the theme or PHP code stopped WordPress. Usually the culprit is a recently updated or installed plugin. First look for the email from WordPress with a link to recovery mode and deactivate the faulty plugin there. Without the email, do it in your host's file manager by renaming the plugin folder.

Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 7 min read

Three questions that decide everything else

Before you start clicking anything, answer three questions. The answers point you to the right route.

QuestionIf yesIf no
Is the error on the whole site, including the home page and /wp-admin?route A or B belowthe error affects part of the site, go to the section on diagnosis with the chat
Is there an email from WordPress about a technical issue in the administrator's inbox?route A: recovery moderoute B: your host's file manager
Is this a store where someone could have placed an order today?do not restore a database backup without talking to your hosta backup is the safer fallback

One thing straight away, so you do not lose time: when the whole site shows a critical error, no plugin running inside WordPress will respond. That includes the TellMyShop plugin. First aid then goes through WordPress in recovery mode or through your hosting panel.

Since version 5.2 WordPress detects a critical error by itself, identifies the faulty plugin or theme and sends an email with a link to the administrator address. How this mechanism works is described in the recovery mode announcement on make.wordpress.org.

  1. Open the email and check which plugin or theme WordPress named as the cause.
  2. Click the link and log in. The link works for a limited time, so do not put it off.
  3. In recovery mode the faulty plugin is paused only for you. Visitors still see the error.
  4. Go to Plugins, Installed Plugins and deactivate the named plugin.
  5. Exit recovery mode with the button in the top bar and open the site in a private window.

If the site works, the cause is known. Leave the plugin deactivated and check with the author whether a fix has been released.

Then you disable the plugin through your hosting panel. Most hosts have a file manager in the panel, so you do not need an FTP program. This route is described well in the dhosting knowledge base article on the critical error (in Polish).

  1. Log in to the hosting panel and open the file manager.
  2. Go to the site folder (often public_html or a folder named after the domain), then to wp-content, then to plugins.
  3. Find the folder of the plugin you most recently updated or installed. Rename it by adding “-disabled” at the end.
  4. Refresh the site. If it works, you have found the culprit.
  5. If you do not know which plugin is to blame, rename the whole plugins folder to “plugins-disabled”. Log in to the dashboard and open Plugins so WordPress marks them as deactivated. Then restore the folder name and activate plugins one at a time, checking the site after each one.

When the error stays after all plugins are disabled, the cause lies elsewhere: in the theme, the PHP version or WordPress files. Then you call your host.

A WooCommerce store: when a backup does harm

Many guides say “restore yesterday's backup”. On a blog that is sensible advice. In a store, restoring a full backup including the database wipes everything that happened afterwards: today's orders, payments recorded in the store, new customer accounts and stock changes.

So in a store the order is different. First deactivate the faulty plugin via route A or B. If a backup is necessary, ask your host to restore only the files, without the database. That is usually enough, because the critical error sits in the plugin code, and the orders in the database.

For whoever looks after the site

If emails from WordPress do not arrive, the recipient address can be set in wp-config.php with the RECOVERY_MODE_EMAIL constant. Error details are written to the debug.log file when WP_DEBUG and WP_DEBUG_LOG are on in wp-config.php and WP_DEBUG_DISPLAY is off. The settings are described in the WordPress debugging documentation, and a list of typical causes in the overview of common WordPress errors. In a WooCommerce store, critical errors also go to the WooCommerce logs named fatal-errors.

When the chat helps, and when it does not

Your chat (Claude or ChatGPT) connects to the site through the TellMyShop plugin for WordPress and WooCommerce, which runs inside WordPress. When the whole site is down, there will be no connection. It helps in two other situations: when the critical error shows only on part of the site, for example at checkout or on one subpage, and after the fix, when you need to work out what actually happened.

The chat then reads the PHP, WordPress and WooCommerce error logs from the last few days. It groups recurring messages and for each one names the plugin or theme it comes from. On top of that there is site health, meaning the PHP version, pending updates and whether errors are displayed to visitors, and the list of plugins with versions and requirements. All of this works in TellMyShop Free, because it only reads.

You: Customers say a critical error pops up at checkout. The home page works. What's going on?

Your chat: The logs from the last 2 days contain one critical error, 37 occurrences. It comes from the Sample Instalments plugin and appears on the checkout page. Plugin list: Sample Instalments 3.0 requires PHP 8.2, and the server has PHP 8.1.

Your chat: Two options: ask your host for PHP 8.2 or deactivate the plugin. Deactivating removes instalments from the cart, but the other payment methods will work. Preview of deactivation:

You: Deactivate it, I'll talk to my host in the morning.

Your chat: Deactivated. The home page responds correctly. You can undo the change from the change history.

Card status: waiting for your “yes”
change preview

old version: Sample Instalments: active

new version: Sample Instalments: inactive

Illustration: products, numbers and replies are examples.

Deactivating a plugin works in TellMyShop Pro once the Plugins switch is turned on in the panel. The switch lasts 24 hours and requires a database backup made the same day. Before the change the chat shows a preview and says what may stop working, for example with WooCommerce, the payment gateway or shipping. After the change it checks the home page.

In the conversation you can also just ask for a morning review. The chat then collects new errors from the logs, changes from the last day and URLs returning a 404.

The TellMyShop emergency page: what it is for

In TellMyShop Pro you can generate an emergency key in the plugin panel in advance. TellMyShop Free does not have this page, because it changes nothing. The plugin then sets up an emergency page at a random address. It works without WordPress and without the database, so you can open it even during a critical error.

Its scope is narrow. It restores only files changed by the chat, for example theme files, from copies made before the change. It does not undo plugin updates or installs, it does not undo database changes and it does not restore a backup of the whole site. When the critical error came from an update, you take route A or B.

When to hand it over to your host

Call your host when the error stays after all plugins are disabled, when you have no access to the hosting panel, or when the logs talk about a lack of memory or the PHP version. Your host sees the server logs, changes the PHP version and restores backups. The TellMyShop plugin does not repair the server and does not make backups of the whole site.

If the error appeared right after clicking Update, read also what to do when WordPress breaks after an update. You can read how the chat reads logs and site health on the TellMyShop for WordPress and WooCommerce page, and compare licences on the pricing page. There are more guides on the blog.

Questions and answers

What does the message “There has been a critical error on this website” mean?

The PHP code of a plugin, the theme or WordPress itself stopped with an error, and WordPress could not build the page. Most often it is a freshly updated or installed plugin, less often the theme, too old a PHP version or a lack of memory on the server.

How do I get into the dashboard when /wp-admin shows a critical error?

Use the link from the email WordPress sends to the administrator address. The link opens recovery mode, in which the faulty plugin is paused only for you and you can deactivate it. Without the email, disable the plugin in your host's file manager by renaming its folder.

Why did I not get the recovery mode email?

Most often the email went to an old administrator address from Settings, General, landed in spam, or the server does not send mail at all. Then the route through your host's file manager is left. Once the site is back, check the administrator address and mail sending so the link arrives next time.

Does a critical error mean someone hacked the site?

Usually not. In most cases it is a plugin conflict or a version mismatch after an update. If nobody changed anything, though, and unknown plugins or files appeared, ask your host or a security specialist to check the site.

With a WooCommerce store, can I just restore yesterday's backup?

Carefully. Restoring a full backup including the database removes everything that happened after it was made, including today's orders and new customer accounts. First try deactivating the faulty plugin. If a backup is necessary, ask your host to restore only the files, without the database.

WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.

TellMyShop for WordPress and WooCommerce

Your chat reads the site, shows every change before saving it and saves only after your yes. You can undo most changes with one sentence. Works with Claude or ChatGPT, free accounts included.

Read next