Skip to content

Common Critical WordPress Error Fixes

Fix database connection errors, 500/403/404 responses, memory limits, maintenance mode, redirect loops, and upload size issues.

Critical WordPress errors block access to the dashboard and may show a generic “There has been a critical error on this website” message. Most cases stem from PHP fatals, plugin conflicts, theme errors, or resource limits. This guide maps common scenarios to concrete fixes on SerVee IT hosting.

The Critical Error Message

WordPress 5.2+ emails the admin address with a recovery link when a fatal error occurs. Check that inbox first. Technical detail is in wp-content/debug.log when logging is enabled—see debug WordPress.

Recovery Mode and Plugin Conflict

Click the recovery link in the email to enter recovery mode and deactivate the failing extension. If no email arrives, rename the plugin folder via SSH/FTP:

mv wp-content/plugins/suspect-plugin wp-content/plugins/suspect-plugin.off

Guide: Rename a WordPress plugin via FTP/SSH.

White Screen (WSOD)

  • Enable WP_DEBUG_LOG in wp-config.php.
  • Increase PHP memory: define( 'WP_MEMORY_LIMIT', '256M' );
  • Check PHP-FPM and web server error logs.
define( 'WP_MEMORY_LIMIT', '256M' );

Requirements: WordPress requirements.

Error Establishing Database Connection

  1. Verify MySQL/MariaDB is running: sudo systemctl status mysqld.
  2. Confirm DB_NAME, DB_USER, DB_PASSWORD, DB_HOST in wp-config.php.
  3. Test login: mysql -u DB_USER -p DB_NAME -e "SELECT 1;"
  4. On crowded shared hosts, DB_HOST may be localhost or a socket path—use values from the panel.
Warning: Restoring an old database backup without matching wp-config.php credentials causes immediate connection failures.

500 Internal Server Error

Check .htaccess for corruption—regenerate WordPress rules:

wp rewrite flush --path=/var/www/vhosts/example.com/httpdocs

Or replace with default permalink rules from WordPress .htaccess. On NGINX, 500s often trace to PHP-FPM timeouts or permission errors.

403 Forbidden

  • Fix file permissions: directories 755, files 644.
  • Review security plugins and server ModSecurity rules.
  • Confirm index files exist in document root.

Max Upload and Memory Exhausted

Raise limits in php.ini or panel PHP settings, and in WordPress:

@ini_set( 'upload_max_filesize', '64M' );
@ini_set( 'post_max_size', '64M' );

SSL, Mixed Content, and Redirect Loops

Align home and siteurl with HTTPS and configure server redirects—see redirect HTTP to HTTPS. Clear browser cache and any CDN cache after fixes.

Corrupted Core

wp core verify-checksums --path=/var/www/vhosts/example.com/httpdocs
wp core download --force --skip-content --path=/var/www/vhosts/example.com/httpdocs

When to Restore Backup

If multiple layers are broken and logs are inconclusive, restore files and database from the last known-good backup (panel backup or SerVee IT backup service), then apply updates incrementally.

Tip: After recovery, update PHP, WordPress core, themes, and plugins on staging before production.

Summary

Critical WordPress errors are usually resolved by reading debug.log, using recovery mode, deactivating conflicting plugins, fixing database credentials, repairing .htaccess, and correcting PHP limits. SerVee IT customers with maintenance plans can escalate with the error timestamp and last change made before the outage.