Upgrading your server’s PHP version is often necessary for security, performance, and compatibility with the latest frameworks and plugins. However, with major updates—like the transition to PHP 8.3—site owners are encountering the dreaded message: “There has been a critical error on this website.” This cryptic error is not only frustrating but potentially damaging if not resolved promptly. In this article, we will dissect why this issue might occur after updating to PHP 8.3 and guide you through several reliable strategies for resolving it.
Contents
Understanding the “Critical Error” Message
WordPress websites commonly display this message when a fatal PHP error prevents page rendering. PHP 8.3 introduces various changes that may not be compatible with older themes, plugins, or even core functionalities. As a result, previously functioning code may now throw exceptions, breaking your site and triggering this generic error message.

Common Causes After PHP 8.3 Update
PHP 8.3 brings improved performance and modern syntax but also removes or modifies functions that older codebases depend upon. Some typical problems include:
- Deprecated or Removed Functions: Functions used by outdated plugins or themes may be removed or altered.
- Strict Typing Errors: PHP 8.3 enforces stricter typing compared to earlier versions.
- Third-Party Plugin Incompatibility: Not all plugins have updated their codebases to support PHP 8.3.
- Coding Standards and Warnings: Previously ignored warnings may now escalate to fatal errors.
Initial Steps to Diagnose the Problem
Fixing this error requires a systematic debugging process. Begin with the following measures to uncover the underlying issue:
1. Enable Debugging Mode in WordPress
Edit your wp-config.php
file and set the following:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
This configuration logs errors to /wp-content/debug.log
without displaying them publicly, preserving user experience while giving you access to error details.
2. Check the Debug Log
With debugging enabled, reproduce the error and examine the debug.log
file. You’re likely to find a PHP error message pointing to a specific file and line. Focus on error types like:
Fatal error
TypeError
Parse error
Once you’ve located the problematic plugin, theme, or core function, you’ll be better prepared to take corrective action.
Step-by-Step Guide to Fix the Error
1. Deactivate All Plugins via SFTP or Hosting File Manager
Often, incompatible plugins are the root cause. To disable them:
- Use an FTP client or your hosting provider’s File Manager.
- Navigate to
/wp-content/
. - Rename the
plugins
folder to something likeplugins_old
.
This will deactivate all plugins. Reload your website. If the error disappears, this confirms a plugin mismatch with PHP 8.3.
To isolate the problematic plugin:
- Rename the
plugins
folder back toplugins
. - Rename and activate plugins one-by-one to identify the culprit.
2. Switch to a Default Theme
If plugins aren’t the issue, your theme might be. If you can’t access your admin dashboard:
- Navigate to
/wp-content/themes/
. - Rename your current theme folder.
- This forces WordPress to use a default theme like Twenty Twenty-Three.
If the site loads, your theme is incompatible with PHP 8.3 and may require updates or replacements.

3. Restore Compatibility Manually or Revert PHP Version
If the above steps identify the faulty component but no updates are available, consider:
- Manual Code Fixes: If you or your developer have the necessary skills, refactor deprecated code. Search the PHP 8.3 migration guide for removed and changed functions.
- Revert to PHP 8.2 or 8.1: Most hosting providers allow you to easily switch to a previous PHP version via their control panel. This buys time while you update or replace the problematic code.
How to Prevent Future Errors
To avoid surprises with future updates, adhere to these best practices:
1. Test in a Staging Environment
Before updating PHP or major plugins, replicate your site in a staging environment and test it thoroughly. This allows you to identify and fix errors without risking downtime on your live site.
2. Use Actively Maintained Themes and Plugins
Choose components that are regularly updated and supported. Check the plugin changelog or WordPress.org listings for indications of compatibility with PHP 8.3.
3. Implement Monitoring and Backup Systems
Use application monitoring tools like New Relic or uptime monitors. And always create a full backup (database and files) before performing any system updates.
Alternative Diagnostic Tools
If WordPress’ native debug features aren’t providing enough detail, consider these advanced tools:
- PHP Error Logs: Located on your server, these logs display lower-level issues not captured in WordPress’ default logs.
- Query Monitor Plugin: When accessible, this plugin can provide real-time error debugging information in the admin panel.
- Local Development Tools: Tools like Local or XAMPP allow you to create a local copy of your site and test changes in a secure environment.

When to Contact Professional Support
If you’ve gone through these steps and still cannot determine or resolve the issue, it may be time to bring in professional help. A qualified WordPress developer can audit your site, pinpoint the issue, and update code as needed. Additionally, many managed WordPress hosting providers offer support services specifically for handling version compatibility issues.
Conclusion
The “There has been a critical error” message following a PHP 8.3 update often stems from incompatibility with outdated plugins, themes, or code. By following a structured debugging approach—disabling plugins, switching themes, reviewing logs, and even temporarily reverting PHP versions—you increase your odds of resolving the issue quickly and safely.
Make sure to always back up your site, maintain a staging environment for testing updates, and choose high-quality, supported components for your WordPress installation. Being proactive, rather than reactive, is your best defense against future compatibility errors.