WordPress Critical Error After Enabling Plugins: Complete Troubleshooting Guide for Plugin Conflicts and Fatal Errors
One of the most frustrating issues WordPress administrators encounter is the "There has been a critical error on this website" message. This error usually ap...
One of the most frustrating issues WordPress administrators encounter is the "There has been a critical error on this website" message. This error usually appears after installing, updating, or activating a plugin, theme, or PHP version. In many cases, administrators discover that renaming the plugins folder restores access to the WordPress dashboard, confirming that a plugin conflict or fatal PHP error is responsible.
This guide explains how to safely identify the problematic plugin, recover your website, and prevent similar issues in the future.
Understanding the Critical Error
Since WordPress 5.2, PHP fatal errors are displayed as:
There has been a critical error on this website.
Learn more about troubleshooting WordPress.
Instead of showing raw PHP errors, WordPress displays this user-friendly message to protect sensitive server information.
Common Causes
1. Plugin Compatibility Issues
The most common reason.
Examples include:
- Outdated plugins
- Plugins incompatible with latest WordPress
- Plugins incompatible with PHP 8.x
- Corrupted plugin files
2. Theme Conflicts
A theme may call deprecated PHP functions or conflict with installed plugins.
3. PHP Version Upgrade
Many websites stop working immediately after upgrading:
- PHP 7.4 → PHP 8.1
- PHP 8.1 → PHP 8.2
- PHP 8.2 → PHP 8.3
Older plugins often become incompatible.
4. Memory Limit Exhausted
Example error:
Allowed memory size exhausted
Increase:
memory_limit = 256M
or
512M
5. Corrupted WordPress Core Files
Interrupted updates or malware may damage WordPress files.
6. Malware or Unauthorized PHP Files
Unknown PHP files like:
create_autologin_xxxxxxxxx.php
should always be verified.
If not intentionally created, remove them immediately.
First Recovery Method
Rename Plugins Folder
Navigate to
public_html/wp-content/
Rename
plugins
to
plugins_old
Now visit
https://yourdomain.com/wp-admin
If login works, the problem is definitely inside a plugin.
Restore Plugins
Rename
plugins_old
back to
plugins
Identify the Faulty Plugin
Disable plugins one by one.
Rename
plugin-name
to
plugin-name_disabled
Test the website.
Repeat until the website starts working.
The last renamed plugin is the culprit.
Faster Binary Search Method
Instead of testing every plugin:
Disable half.
Test.
If website works:
The bad plugin is in the disabled group.
Otherwise:
It's in the enabled group.
Repeat.
This reduces troubleshooting time dramatically.
Enable WordPress Debugging
Edit
wp-config.php
Replace
define('WP_DEBUG', false);
with
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Now reproduce the error.
Open
wp-content/debug.log
Typical output:
PHP Fatal error:Uncaught Error:
Call to undefined function
plugin-name/file.php
The log identifies the exact plugin and file.
Check PHP Version
Compare your plugin requirements with the server PHP version.
Examples:
PHP 7.4
PHP 8.0
PHP 8.1
PHP 8.2
PHP 8.3
Many older plugins fail on PHP 8.x.
Check Server Error Logs
View:
error_log
or
Apache Error Log
or
Nginx Error Log
They usually contain complete PHP stack traces.
Reinstall WordPress Core
If plugins are not responsible:
Download the latest WordPress.
Upload only:
wp-admin
wp-includes
Replace existing folders.
Do NOT overwrite:
wp-content
or
wp-config.php
Verify File Permissions
Recommended:
Directories
755
Files
644
wp-config.php
600
or
640
Increase PHP Limits
Example:
memory_limit=512Mmax_execution_time=300
upload_max_filesize=256M
post_max_size=256M
max_input_vars=5000
Disable Recently Installed Plugins
Ask yourself:
Did the problem begin after:
- Plugin installation?
- Plugin update?
- WordPress update?
- PHP upgrade?
Start there first.
Use WP-CLI
Disable all plugins:
wp plugin deactivate --all
Enable one:
wp plugin activate plugin-name
Check Custom PHP Files
Files like
create_autologin_xxxxxxxxx.php
should be reviewed carefully.
Check for:
eval()
base64_decode()
gzinflate()
shell_exec()
system()
exec()
Unexpected usage may indicate malware.
Restore From Backup
If troubleshooting fails:
Restore:
- Website files
- Database
from the latest working backup.
Prevent Future Problems
Always:
- Keep WordPress updated.
- Update plugins regularly.
- Remove unused plugins.
- Keep PHP supported.
- Maintain daily backups.
- Test updates on staging.
- Use reputable plugins only.
- Enable automatic backups.
- Monitor error logs.
Troubleshooting Checklist
✔ Rename plugins folder
✔ Login to wp-admin
✔ Enable debug mode
✔ Check debug.log
✔ Disable plugins individually
✔ Verify PHP version
✔ Check server logs
✔ Reinstall WordPress core
✔ Verify permissions
✔ Scan for malware
✔ Restore backup if necessary
Conclusion
A WordPress critical error is almost always recoverable. If renaming the plugins folder restores access to the dashboard, the issue is almost certainly a plugin conflict or fatal PHP error. Using WordPress debugging, reviewing server logs, checking PHP compatibility, and testing plugins systematically will help you quickly isolate and resolve the problem while minimizing downtime. Regular maintenance, backups, and timely updates are the best defenses against future critical errors.
#WordPress #WPAdmin #WordPressError #CriticalError #PluginConflict #PHP #WebDevelopment #WebsiteMaintenance #WordPressSupport #WPDebug #DebugLog #Hosting #cPanel #FTP #WebHosting #WebsiteRepair #ServerAdmin #TechSupport #WordPressTips #WebsiteSecurity #Malware #PHPError #WordPressDeveloper #WPCLI #CMS #WordPressPlugins #Backup #DisasterRecovery #Webmaster #SiteRecovery #Performance #Optimization #CloudHosting #LinuxHosting #Apache #Nginx #Database #MySQL #WebSecurity #SystemAdministrator #Troubleshooting #Programming #ITSupport #Developer #WordPressGuide #HostingSupport #FatalError #WebsiteManagement #Server #TechGuide
Was this guide useful?
Your answer helps us keep BISONKB accurate and practical.