The “There has been a critical error on this website” message indicates that a fatal error was caught on the PHP side while WordPress was running, terminating the request. This guide explains the sequence of finding the error log, isolating plugin and theme sources, verifying PHP compatibility, and safely reopening the site.
There has been a critical error on this website.
PHP Fatal error: Uncaught TypeError
wp-content/plugins/ornek-eklenti/ornek.php on line 84
WordPress Critical Error Screen Does Not Indicate the Root Cause Alone. The actual cause is usually found in the PHP error log, WordPress debug.log, or the file and line information in the email sent to the administrator in Recovery Mode.
WordPress 5.2 and later, may display a general critical error screen to the visitor by catching fatal PHP errors originating from a theme or plugin. The recovery link sent to the administrator's email helps to disable the problematic component.
If it started immediately after a plugin update, the first suspicion is that plugin; however, PHP version change, missing PHP extension, broken opcode cache, or function collision within the theme can also produce the same result.
WP_DEBUG should not be left exposed to visitors on a production site. Error details should be stored in files, not on the screen, and debug settings should be reverted to a safe state after the issue is resolved.
If the management panel is not opening, disabling the suspicious plugin via FTP, file manager, or WP-CLI is a more controlled first step than restoring the entire site to a previous backup.
Removing critical error message is not a success. The issue should not be considered resolved until it is confirmed that the same URL does not produce a new fatal error in PHP and web server logs.
Search for the phrase you see in the email, browser, or SSH log. Each card includes meaning, probable cause, and safe initial action.
Meaning: WordPress has terminated the request on the PHP side with a fatal error.
Possible cause: Plugin, theme, PHP version or missing extension.
Meaning: The code execution has been terminated without being caught.
Possible cause: Undefined class/function, incorrect parameter or version incompatibility.
Meaning: A function has received an unexpected data type.
Possible cause: Old theme/plugin may be incompatible with new PHP version.
Meaning: The recovery connection has expired or has been used before.
Possible cause: Single-use link, cache, or incorrect site URL.
Meaning: PHP has consumed the defined memory limit.
Possible cause: Heavy plugin, loop, large query, or low limit.
Meaning: Code calls a non-existent function.
Possible cause: Missing PHP extension, unloaded file or incorrect plugin order.
Meaning: PHP file is not parseable.
Possible cause: Missing parenthesis, manual incorrect editing or half update.
Meaning: General fatal error notification in old WordPress versions.
Possible cause: Old text of the same critical error class.
No records matching this expression were found.
Commands are for root access. Collect only status and logs first; Do not change the permanent setting without seeing the reason.
wp core version
php -v
Displays core and CLI PHP version; note that web PHP may be different.
tail -n 150 wp-content/debug.log 2>/dev/null
tail -n 150 error_log 2>/dev/null
Finds the file and line information of the first file in the fatal error.
wp plugin list --status=active
Lists active plugins and their versions.
wp plugin deactivate EKLENTI-ADI
Only disables the specified extension in a controlled manner.
wp theme list
wp core verify-checksums
Shows the active theme and checks if core files have been modified.
php -m | sort
Missing mysqli, intl, mbstring or zip extensions.
The root cause of the WordPress error is the same, but log paths, PHP settings screens and service management vary depending on the hosting infrastructure used.
cPanel's MultiPHP, File Manager, and Metrics > Errors sections are used.
cd /home/KULLANICI/public_html && /usr/local/bin/wp plugin list --allow-rootPlesk PHP Settings, Logs, and WordPress Toolkit can be used together.
cd /var/www/vhosts/ALANADI/httpdocs && wp plugin listOn a server without panels, the web PHP, PHP-FPM pool, and application log are examined together.
sudo -u www-data wp plugin list --path=/var/www/htmlFirst record the error, then isolate the component; verify core and PHP compatibility and test the site in a controlled manner.
Home page, wp-admin, or only specific action, separate.
curl -sSIk https://example.com/Write errors to the wp-content/debug.log file without displaying them on the screen.
Focus on the first file and line information instead of the secondary error at the end of the chain.
tail -n 150 wp-content/debug.logDisable the component seen in the log instead of deleting all extensions.
wp plugin deactivate EKLENTI-ADICheck the version compatibility, extensions, and checksum results.
wp core verify-checksumsVerify that the error log does not produce new records and that cron tasks are running.
curl -sSIk https://example.com/wp-admin/Close the updated plugin, check the PHP requirements, and the change log.
wp plugin deactivate EKLENTI-ADIAdmin-specific extensions, high admin memory, and dashboard widgets are reviewed.
wp --skip-plugins user listVerify that the target PHP version is supported by the theme and extensions.
php -vWordPress mail system may not be working; proceed with file manager or WP-CLI.
wp option get admin_emailMemory limit, FPM worker, cron, and concurrent requests should also be investigated.
wp cron event listThe most common causes are fatal errors in plugin or theme code, PHP version incompatibility, missing extensions, and memory exhaustion. The exact cause is determined by the file and line information in the log.
WordPress's recovery mode, which provides a special link to the administrator to temporarily disable the theme or plugin causing a fatal error.
You can rename the related extension folder in FTP or file manager, or use the WP-CLI deactivate command for the plugin.
In a production environment, it should not be left open and display error messages on the screen. It should be switched to a safe mode after the inspection is completed.
May provide temporary diagnosis but the permanent solution is to update or replace the incompatible component.
Usually stops the request; does not delete data directly. However, incomplete orders, imports, or updates should be checked separately.
Firstly, check wp-content/debug.log, domain PHP error log and web server's error log file.
By analyzing cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim and security layers together, we fix the root cause of the failure instead of just removing the service.