// blog

How to Fix the 500 Internal Server Error in WordPress: Complete Troubleshooting Guide

August 11, 2026 · by CLIQHOST

How to Fix the 500 Internal Server Error in WordPress: Complete Troubleshooting Guide

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.


What Does the 500 Internal Server Error Mean?

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.)


Step 1: Check the Server Error Logs

The first and most important step is to read the error logs. They will tell you exactly what happened.

In cPanel

  1. Log in to cPanel → Error Logs (or Logs → Errors).
  2. Look for recent entries that match the time the error occurred.
  3. Note the full error message — it typically includes the file name and the offending line of code.

On a VPS or Dedicated Server

# 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.


Step 2: Enable WordPress Debug Mode

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_DISPLAY enabled on production sites — it can expose sensitive information to visitors.

After saving, reproduce the error and inspect /wp-content/debug.log for details.


Step 3: Deactivate All Plugins

Faulty or incompatible plugins are the #1 cause of the 500 error in WordPress.

Via FTP or File Manager (cPanel)

  1. Navigate to wp-content/.
  2. Rename the plugins folder to plugins_backup.
  3. Visit the site — if the error disappears, a plugin is the culprit.
  4. Rename the folder back to plugins.
  5. Reactivate plugins one by one through /wp-admin/plugins.php to identify the problematic one.

Via WP-CLI (on a VPS)

wp plugin deactivate --all --path=/var/www/html/wordpress

Once you identify the offending plugin, check for updates or contact its developer.


Step 4: Test with the Default Theme

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):

  1. Rename your active theme's folder from wp-content/themes/your-theme/ to your-theme_backup.
  2. WordPress will automatically fall back to the default theme.
  3. If the error disappears, the problem was in your theme.

Step 5: Regenerate the .htaccess File

A corrupted or misconfigured .htaccess file is another frequent culprit, especially on Apache-based servers (including WordPress shared hosting).

  1. Connect via FTP or open File Manager.
  2. Rename .htaccess to .htaccess_old.
  3. Visit the site — if it works, the .htaccess was the problem.
  4. Generate a new .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

Step 6: Increase the PHP Memory Limit

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.

Via wp-config.php

define( 'WP_MEMORY_LIMIT', '256M' );

Via .htaccess (Apache servers)

php_value memory_limit 256M

Via php.ini (VPS / Dedicated Server)

memory_limit = 256M

If you're on cPanel shared hosting, the PHP memory limit can be configured under cPanel → Select PHP Version → PHP Options.


Step 7: Fix File and Folder Permissions

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

Step 8: Check Your PHP Version

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.


Step 9: Check Disk Space and Server Resources

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.


Step 10: Contact Your Hosting Support

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.


Quick Reference: WordPress 500 Error Troubleshooting Order

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

Conclusion

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.

SHARE
// what clients say

What Our Clients Say

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."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău