An Ultimate Guide to Fixing WordPress 500 Internal Server Errors

WordPress is not an exception when it comes to different types of errors. 500 internal server error is one of the most common WordPress errors. It completely stops all processes and can bring your entire site down. It never has a candid solution and requires a lot of troubleshooting that can kill your time and patience. It is not so difficult to fix 500 internal server errors in WordPress.

But as you know, where there an error there must be a solution for almost everything on WordPress. Here we guided how you can fix 500 internal server errors in WordPress with ease.

What is a 500 Internal Server Error?

As the name suggests, this is an error occurs on the server side when the server is unable to show the requested page.

500 internal server error in WordPress

Generally, when any visitors visit a website, your browser sends a request to the server where the site is hosted. The server takes-processes this request and sends back the requested resources like PHP, HTML, CSS, etc. along with an HTTP header. The HTTP also includes an HTTP status code. A status code is a way to notify visitors about the status of the request. It could be a 200 code which means “Everything is OK” or a 500 code which means something has gone wrong.

500 Internal Server Error Variations

Due to the various web servers, operating systems, and browsers, a 500 internal server error can appear in a number of different ways. But they are all communicating the same information. Below are the different variations you might see on the web:

  • 500 Internal Server Error
  • HTTP 500
  • Internal Server Error
  • HTTP 500 – Internal Server Error
  • 500 Error
  • HTTP Error 500
  • 500 – Internal Server Error
  • 500 Internal Server Error. Sorry, something went wrong
  • 500. That’s an error. There was an error. Please try again later. That’s all we know
  • The website cannot display the page – HTTP 500.
  • Is currently unable to handle this request. HTTP ERROR 500.

Related article: Get to know about the Best WordPress Themes for your personal/business website.

Common Reasons for 500 Internal Server Error in WordPress

500 Internal server errors in WordPress can be caused by many reasons. If you’re facing one, there’s a high chance one or more of the following factors is causing the error:

  1. Corrupted .htaccess file.
  2. PHP memory limit.
  3. Migrating an older site to a newer hosting
  4. Browser Cache.
  5. Incorrect database login credentials and a corrupt database.
  6. Corrupted files during WordPress installation.
  7. Problems with third-party plugins and themes.
  8. Fatal PHP errors with third-party plugins and themes.
  9. Errors in CGI and Perl script.

Caution: Create a WordPress Backup!

In most of the cases, you are not responsible for the errors that occur on your hosted server. Since servers are managed by human so the mistakes can occur on server side as well.

Some of these types of errors are severe and may end up compromising your whole website, therefore backing up website data on your server should be a mandatory regular practice before any attempt take to solve the errors.

And Don’t forget to rely on the best WordPress hosting like iThemes or Kinsta from the beginning.

itheme WordPress hosting
iThemes WordPress Managed Hosting

How to Fix 500 Internal Server Error in WordPress with ease

Where should you start troubleshooting when you encounter a 500 internal server error on your WordPress site? Sometimes you might not even know where to start.

I already mentioned the presumable cause of this error. Two common causes of this error are corrupt .htaccess files and PHP memory limits. So without further discussion, let’s see how to fix 500 internal server errors in WordPress.

how-to-fix-500-internal-server-error-in-WordPress

1. Fix .htaccess File

One of the important files in any PHP based application is the .htaccess file. Normally a .htaccess file contains server related configuration rules. If your .htaccess file is corrupted, then this can cause a 500 internal server error. This file is usually affected by a module or a broken installation of a theme.

To get access to your .htaccess file, login to your FTP account. In the root directory, you will get .htaccess file along with other folders such as wp-content, wp-includes, and wp-admin.

.htaccess file

Now download it from the live server to your PC. Next, open this file in your text editor like Notepad++, Dreamweaver, etc.

Visit WordPress codex and copy-paste the version of the code that fits best for your website. Then, save the .htaccess file and upload it to the live server again.

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Now, reload your website to see whether the 500 internal server error is fixed. If the error is fixed then that would be great, but if not then follow the next step.

2. Increase PHP Memory Limit

A 500 internal server error in WordPress could also be caused by exhausting the PHP memory limit on your server. You could try to increase the memory limit.

Some of the most common ways to increase the PHP memory limit in WordPress is by altering the code in one of these files:

  • Functions.php File
  • .htaccess File
  • PHP.ini File
  • wp-Config.php File

Follow the instructions below on how to change this limit in the above files.

Functions.php File

To get access to your function.php file, login to your FTP account. In the root directory, you will get the function.php file. Now download this file to your local PC. Open the file in your text editor like Notepad++, Dreamweaver and add the following code to your PHP tag:

@ini_set(‘upload_max_size’ , ’64M’);
@ini_set(‘post_max_size’, ’64M’);
@ini_set(‘max_execution_time’, ‘300’);

.htaccess File

You can also use a .htaccess file to increase the PHP memory limit. In similar way go to your root directory, and find .htaccess file. Download it on your PC and open the file in a text editor. Add the following code to the PHP tag:

php_value upload_max_filesize 64M
php_value post_max_size 64M

PHP.ini File

Ton increase the PHP memory limit in the php.ini file, you have to create a php.ini file and paste the below code in it. Upload the file in the wp-admin/ directory.

memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
file_uploads = On

WP-Config File

You can also use a wp-config.php file to increase the PHP memory limit. Just go to your root directory, and find the wp-config.php file. Download the file on your PC and open the file in a text editor. Add the following code to the opening PHP tag:

define(‘WP_MEMORY_LIMIT’, ’64M’);
ini_set(‘post_max_size’, ’64M’);
ini_set(‘upload_max_filesize’, ’64M’);

3. Migrating an Older Site to Newer Hosting

The best way to fix this error when you’re trying to migrate your WordPress site to new hosting is to make a complete copy of your plugins and the themes of your site. After that delete all the plugins from your site and reload them. If the error fix, it is almost sure that the error was generated by a newer version of PHP on your hosting that just simply refuses to execute the code on your older plugin. By re-uploading the plugin one by one you can easily find out which one was causing the error.

Repeat the same process for themes also. Because themes can implement extra PHP code in the functions.php and page.php files. An older theme without updates can break your site once migrated to a hosting with a newer PHP version, the only way to fix this is to change the theme and rebuild your site.

4. Clear Browser Cache

Clearing the browser cache is always another good troubleshooting option. Below are instructions for you on how to do the troubleshooting in the various browsers.

Force Refresh a Single Page

Before you go to removing your entire browser cache, one trick you can try is something called a force refresh.

Normally, when you refresh a page, your browser still serves up the cached version of the page, rather than downloading all of the resources again. But you can bypass the cache and force a complete refresh by using some simple hotkeys:

  • Windows and Linux browsers: CTRL + F5
  • Apple Safari: SHIFT + Reload toolbar button
  • Chrome and Firefox for Mac: CMD + SHIFT + R

This option will be great if you’re facing issues with just a single page. But if you want to completely reset your experience, it will be better to clear your entire browser cache.

Clear Browser Cache FROM Google Chrome

To clear the browser cache from Google Chrome, click on the Three Dots icon in the top right of your browser window. Then, go to the More Tools option and select Clear browsing data… from the submenu:

Clear Browser Cache from Google Chrome

Clear Browser Cache from Mozilla Firefox

To clear the browser cache for Mozilla Firefox, click on the Hamburger icon in the top right:

Firefox Browser Cache

Then click on Options>Privacy & Security>Clear History.

Clear History from Firefox

Firefox will then open a popup window. From the drop-down, select Everything. Then, only check the Cache box to avoid clearing important browsing data. Then, click on Clear Now to clear your cache:

Clear History from Firefox 1

5. Error Establishing a Database Connection

500 internal server errors can also occur from a database connection error in your WordPress site. Depending upon your browser you may see different errors. But both will generate a 500 HTTP status code regardless of your server logs.

Below is an example of what an “error establishing a database connection” message looks like in your browser. The entire page is blank because no data can be retrieved to show the page, as the connection is not working properly.

Browser Error Establishing a Database Connection

Here are a few common reasons:

The most common reason for that is that your database login credentials are incorrect. If a WordPress site uses separate login information to connect to its MySQL database, then this error may appear.

The WordPress database is corrupted. With so many plugins, themes, and users constantly deleting and installing them, sometimes databases get corrupted. This can be due to a missing or individually corrupted table, or perhaps some information was deleted accidentally.

6. Check Your Plugins and Themes

Third-party plugins and themes can also cause 500 internal server errors. A lot of times you could see the error immediately after installing something new or running an update. That’s why we always recommend utilizing a staging environment for updates or at least running updates one by one.

Otherwise, if you encounter a 500 internal server error you’re suddenly struggling to figure out which one caused it.

7. Syntax Errors in Your CGI or Perl Script

500 internal server errors being caused by errors in CGI and Perl is a less common than it used to be. Although it’s still worth mentioning, especially for those who are using cPanel where there are a lot of one-click CGI scripts still being used. 

Here are some few tips when working with CGI scripts:

  • When editing, always use a plain text editor, such as Atom, Sublime, or Notepad++. This ensures that they remain in ASCII format.
  • Ensure that correct permissions of chmod 755 are used on CGI scripts and directories.
  • Upload your CGI scripts in ASCII format into the CGI-bin directory on your server.
  • Confirm that the Perl modules you require for your script are installed and supported by your server.

8. Contact Your Hosting Provider

If the problem still remains even after the investigation of these common causes, then it is advised that you should contact your hosting provider. You can place a request to the technical experts can resolve your issue on behalf of you.

You can also find multiple error messages related to the 500 Internal Server Error as they are all server-side errors. Such an example of another 500 internal server error is the 502 Bad Gateway Error. 

Fix 500 Internal Server Errors in WordPress by Your Own

The 500 internal server error in WordPress is a frustrating issue as it doesn’t always have a clear cause and solution. It requires a lot of troubleshooting, as I mentioned above.

All in all, make sure to back up your site on a regular basis and update your plugins, themes, and WordPress core files as soon as they’re available. A great way to prevent this error is to ask your theme developer whether or not their theme or an update is compatible with the plugins you’re running on your site. Sometimes this may corrupt your .htaccess file.

I hope this article helped you to fix the 500 internal server errors in WordPress. 

Have you ever had this error? Share your experience in the below comments box!

Like it? Do let people know!

Leave a Comment