August 11, 2026 · by CLIQHOST
The 500 Internal Server Error is one of the most frustrating issues a WordPress site owner can face. The screen goes blank or displays a generic error message with no clear indication of what went wrong. The good news: in the vast majority of cases, the problem has a straightforward fix — if you follow the right steps.
This guide covers the most common causes of the WordPress 500 error and shows you how to resolve each one, whether you're running your site on shared cPanel hosting or a NVMe VPS.
The HTTP 500 status code means the web server encountered an unexpected condition that prevented it from fulfilling the request. Unlike a 404 error (page not found), a 500 error is a server-side or application-level problem — in our case, something wrong with WordPress, PHP, or the server configuration.
This error can appear:
- Across the entire site
- Only in the admin area (/wp-admin)
- Only on specific pages or after a particular action (plugin update, file upload, etc.)
The first and most important step is to read the error logs. They will tell you exactly what happened.
# For Apache:
tail -n 50 /var/log/apache2/error.log
# For Nginx:
tail -n 50 /var/log/nginx/error.log
# Domain-specific log (cPanel):
tail -n 50 /home/username/logs/example.com-error_log
If you're on a managed SSD VPS, you can ask the support team to check the logs directly if you don't have root access.
WordPress has a built-in debug system that shows PHP errors instead of the white screen. Edit wp-config.php (located in the WordPress root directory):
// Enable debug mode
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // saves errors to /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // doesn't expose errors in the browser
⚠️ Warning: Never leave
WP_DEBUG_DISPLAYenabled on production sites — it can expose sensitive information to visitors.
After saving, reproduce the error and inspect /wp-content/debug.log for details.
Faulty or incompatible plugins are the #1 cause of the 500 error in WordPress.
wp-content/.plugins folder to plugins_backup.plugins./wp-admin/plugins.php to identify the problematic one.wp plugin deactivate --all --path=/var/www/html/wordpress
Once you identify the offending plugin, check for updates or contact its developer.
A WordPress theme with PHP errors can cause a 500 error just as easily as a bad plugin. Test by switching to a default WordPress theme (Twenty Twenty-Four or similar):
wp-content/themes/your-theme/ to your-theme_backup.A corrupted or misconfigured .htaccess file is another frequent culprit, especially on Apache-based servers (including WordPress shared hosting).
.htaccess to .htaccess_old..htaccess was the problem..htaccess: WordPress Admin → Settings → Permalinks → Save Changes.Standard WordPress .htaccess content:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
WordPress needs adequate PHP memory to run properly. A too-low memory limit can trigger a 500 error, especially on sites with many plugins or resource-heavy themes.
define( 'WP_MEMORY_LIMIT', '256M' );
php_value memory_limit 256M
memory_limit = 256M
If you're on cPanel shared hosting, the PHP memory limit can be configured under cPanel → Select PHP Version → PHP Options.
Incorrect permissions are a less obvious but surprisingly common cause of 500 errors, especially after site migrations or backup restorations.
Correct permission values for WordPress:
- Folders: 755
- Files: 644
- wp-config.php: 600 (recommended for security)
Quick fix commands on a VPS or dedicated server:
find /var/www/html/wordpress -type d -exec chmod 755 {} \;
find /var/www/html/wordpress -type f -exec chmod 644 {} \;
chmod 600 /var/www/html/wordpress/wp-config.php
An outdated or incompatible PHP version can trigger a 500 error. WordPress officially recommends PHP 8.1 or newer, and many modern plugins require it.
You can change the PHP version quickly from cPanel → Select PHP Version. If you're unsure which version is right for your setup, consult your plugins' documentation — or reach out to our server management team for professional guidance.
A full disk or an overloaded server can cause sporadic 500 errors. Check:
# Available disk space
df -h
# Inode usage
df -i
# Active processes
top
If your site has grown and your current plan no longer meets its demands, it may be time to upgrade to a NVMe VPS with dedicated resources and superior I/O performance.
If you've followed every step above and the error persists, the issue may be at the server level — mod_security rules blocking a request, PHP-FPM process limits, or server-specific configurations. At that point, contact your hosting provider's support team.
You can open a support ticket from the CLIQHOST contact page — our technical team responds quickly and will help you pinpoint the exact cause.
| Step | Action | Estimated Time |
|---|---|---|
| 1 | Check error logs | 2 min |
| 2 | Enable WP_DEBUG | 3 min |
| 3 | Deactivate plugins | 5 min |
| 4 | Test default theme | 3 min |
| 5 | Regenerate .htaccess | 2 min |
| 6 | Increase PHP memory limit | 2 min |
| 7 | Fix file permissions | 5 min |
| 8 | Check PHP version | 2 min |
| 9 | Check server resources | 3 min |
| 10 | Contact support | — |
The WordPress 500 Internal Server Error always has a findable cause. By working through this guide methodically — from reading error logs to checking permissions and PHP memory — you'll resolve the issue in most cases on your own in under 30 minutes.
If your site is growing and you need a more stable, high-performance environment, explore our optimised WordPress hosting plans or consider the power of a NVMe VPS with dedicated resources. For more practical guides, visit the CLIQHOST blog.
Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."