Fix: 500 Internal Server Error on cPanel Hosting

Estimated reading: 2 minutes

A 500 Internal Server Error means something went wrong on the server side. It’s one of the most common errors on shared hosting and is almost always fixable without contacting support.

Cause 1: Corrupted .htaccess File

A broken .htaccess file is the #1 cause of 500 errors on WordPress sites. Fix it by resetting it:

  • Go to cPanel → File Manager
  • Navigate to your site’s root folder (usually public_html)
  • Find .htaccess, rename it to .htaccess_old
  • Visit your site — if it loads, the .htaccess was the problem
  • In WordPress, go to Settings → Permalinks and click Save Changes to regenerate a clean .htaccess

Cause 2: PHP Memory Limit Too Low

Add this line to your .htaccess or wp-config.php to increase the PHP memory limit:

php_value memory_limit 256M

Or in wp-config.php (above the /* That's all, stop editing! */ line):

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

Cause 3: Faulty Plugin or Theme

A recently installed or updated plugin/theme can break your site. To identify it:

  • Via File Manager, rename your plugins folder: public_html/wp-content/pluginsplugins_old
  • If the site loads, a plugin is the culprit — rename it back and deactivate plugins one by one
  • To test the theme, rename your active theme folder inside wp-content/themes/ — WordPress will fall back to a default theme

Cause 4: PHP Syntax Error

If you recently edited a PHP file manually, a typo can cause a 500 error. Enable WordPress debug mode to see the exact error. Add these lines to wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Then check wp-content/debug.log for the exact error. Disable debug mode after fixing by setting WP_DEBUG back to false.

Still Getting a 500 Error?

Check your cPanel → Errors log for the exact message, then contact Veerhost support at veerhost.com/support with the error details.