Web Development

Fix error “500 Internal Server Error” in WordPress

10 Tips to Fix "the 500 Internal Server Error" in WordPress:

500 Internal Server Error

Seeing a “500 Internal Server Error” right where your website should be is enough to panic anyone. If your website goes down, you will lose potential traffic and revenue. Being offline for a while can also negatively impact your search engine optimization (SEO) efforts.

Fortunately, there are many ways to fix this error. Many of these solutions are fairly simple and you don’t need much technical knowledge to start troubleshooting.

We have compiled a list of solutions that you can try and one of them will help you resolve it. See how to fix internal server error in WordPress.

What is Internal Server Error 500?

Internal Server Error 500 is frustratingly unspecific. Usually, when an error occurs, you don’t get much detailed information about it. In fact, you may not get any information at all.

What Is the 500 Internal Server Error

A 500 error is a general problem that is not specific to WordPress. You may have seen it on internet exploration before. Despite the name, it doesn’t necessarily mean there’s anything wrong with your server. This may be an issue with your website or browser.

If you see this error on your website, you should fix it as soon as possible. If the 500 error persists, it can affect your SEO. If your site is crawled offline, Google may interpret the error as a problem with your site.

This error also affects your user experience (UX) and gives visitors the impression that you are unprofessional. A bad user experience can not only affect your site’s ranking on Google, but it can also cause you to lose customers. After all, if your website is inaccessible, you can’t do business.

Multiple situations can lead to a 500 error, and it’s a little tedious to sort out. Possible causes of Internal Server Error 500 in WordPress are:

  • Plugin compatibility issues
  • Exhausted PHP memory limit
  • Corrupt file
  • Coding or syntax error

The fact that the error message itself is rather vague doesn’t help. Fortunately, with a little know-how, you can solve many of these problems yourself.

How to Fix “the 500 Internal Server Error” in WordPress:

Now that you’ve had an introduction to the 500 internal server error, it’s time to discuss how to resolve it. Let’s take a look at ten tips you can use to fix this issue in WordPress.

1. Secure your website.

It’s always wise to back up your website before you tinker with the hood. If HollandsWeb hosts your website, you can take advantage of our one-click backup feature. You can create a full backup That is provided by our Plesk obsidian.

Once your website is secure and created a full backup, you can start to fix this 500 error.

2. Try reloading the page.

Let’s start with the best case. Some situations that cause Internal 500 errors resolve themselves within a few minutes. For example, you may see server errors if you have just made changes to plugins or themes, or if your host is experiencing unusually high traffic. If this applies to your situation, you’re in luck, as a simple page refresh should get things back to normal.

So the first thing to try is to simply wait a minute or two, during which time the error will hopefully resolve itself. You can then try pressing F5 or (Command + R if you’re on a Mac) to reload the page.

3. Clear your browser cache.

Another quick and easy server fix is ​​to clear your browser cache. The cache may be corrupted, which may cause problems when trying to access the site.

First, you can tick for everyone or just for me. This will determine if this is a common problem or if you are the only one having the problem.

If you’re alone and frustrated with 500 errors, the problem might be your browser. Try accessing your website using a different browser. If the alternative works, the problem is with your cache.

In Google Chrome, you can clear the cache by pressing Ctrl + Shift + Del. Alternatively, you can click the three vertical dots in the upper right corner, then click More Tools > Clear Browsing Data.

Be sure to check the Cached images and files box. Then click the Clear Data button.

In Firefox, you can clear the cache with the Ctrl + Shift + Del shortcut. This will open the Clear Recent History window. From the Periods to delete drop-down menu, select All. Check the Cache box and click OK.

In Safari, you can navigate to the History menu item and select Clear History. Remember, this will delete all content, including cookies and pages visited.

After clearing your browser cache, you can try to visit your website again. If you’re still seeing Internal Server Error 500, it’s time for a more complicated solution.

4. Access your error logs.

Your site’s error logs may provide insight into what’s causing the 500 error. Depending on your host, these logs may be cycled quite often, so you’ll want to take a look as soon as possible.

You can check your error logs by accessing your site’s files via SFTP and looking for the /logs directory. Next, select the site that’s experiencing the error. You may see several directories at this point. You’ll want to check the one with the most recent date.



You can view the log by downloading it and opening it with your preferred text editor. Hopefully, your error logs will provide you with some additional context for the 500 error.

Another option is to enable the WordPress debug log. You can do this by connecting to your site via SFTP and opening your wp-config.php file. Within it, look for the following line:

define('WP_DEBUG', false);

Once you find it, replace it with the following:

define( 'WP_DEBUG', true );

define( 'WP_DEBUG_DISPLAY', false );

define( 'WP_DEBUG_LOG', true );

This will create a debug.log file, which you can find under the /wp-content/ directory. Just be sure to change the WP_DEBUG value back to “false” when you’re done troubleshooting.

5. Check for the ‘Error Establishing a Database Connection.’

If there’s been a problem establishing a database connection, not only will your site be offline for visitors, but you won’t be able to access the WordPress admin dashboard either. There are a few possible causes of this:

  • Incorrect database login credentials
  • A corrupted WordPress database
  • A corrupted WordPress installation file

Let’s start with incorrect login credentials, as this is a common cause of the database connection error. you can find your database credentials in your Plesk panel. However, if you use a different panel, you’ll likely follow a similar procedure.

Navigate to Databases and find the one that corresponds to your website under the Database(s) on this server section. Here, you’ll find your database name under the Database heading. The username is listed under the Users Access column.

To find the password, click on the username. On the next screen, scroll down and click on the Show button next to the password field.

Next, you’ll compare these credentials to those in your wp-config.php file. You can access this file in your site’s main directory via SFTP. Once you have the file downloaded, open it and verify that the information under MySQL Settings matches what you found in your panel.

Next, if your database is corrupted, you can quickly repair it through phpMyAdmin. Log in and click on your database in the left panel. Select all of the tables in the database, and then choose the Repair table option from the drop-down menu.

Finally, let’s look at how to handle a corrupted WordPress installation file. Start by downloading a new copy of WordPress and unzipping the file. You’ll need to delete the wp-content folder and the wp-config-sample.php file.

Upload the rest of the files to your site via SFTP, overwriting any existing ones. You now have a brand new, uncorrupted WordPress installation. You’ll also want to clear your browser cache before checking your website again.

6. Look for permission errors.

If any of your files have permissions set incorrectly, you may see the 500 internal server error as a result. Again, you can check and change these permissions using SFTP.

Right-click on any file and select File permissions to open a new dialogue window. In this window, you can check and, if necessary, set new permissions for the file.

Typically, you’ll want to set files to “644” and directories and executables to “755”. However, you may want to check with your host if you’re unsure about the correct values.

7. Increase your PHP memory limit.

Another reason you might see the 500 internal server error is if you’ve exceeded your server’s PHP memory limit. There are several ways to increase your limit, and they all involve using SFTP.

Before you try increasing your memory limit, you may want to start by seeing what it’s currently set to. You can do this through the WordPress admin dashboard. Keep in mind that, with some variations of the 500 error, you won’t be able to access the dashboard. If that’s the case, you may have to skip this step.

From your WordPress dashboard, navigate to Tools > Site Health. Click on Info at the top of the screen, and scroll down to the Server section. You should see your PHP memory limit there.

To increase the PHP memory limit, there are a few files you can edit. One is your .htaccess file, typically located in your site’s root directory. Open the file and add the following code:

php_value memory_limit xxxM

You can replace the “xxx” with your desired amount of memory. Usually, 256M is plenty.

You can also increase your memory limit by editing your php.ini file. You should be able to find this file in your root directory. If not, you can go ahead and create one. Add or update its code to the following:

memory_limit = xxxM

Another option is to add in the following code at the top of your wp-config.php file:

define('WP_MEMORY_LIMIT', 'xxxM');

If this resolves the 500 error, your next task will be to figure out what is causing the memory limit exhaustion. It could be a problematic plugin or theme. You might consider reaching out to your host for help in finding the exact server diagnostics.

8. Check for problems with your .htaccess file.

Your .htaccess file is one of the core WordPress files. It contains rules for your server, so it could contribute to a 500 internal server error.

If your .htaccess file has become corrupted, you’ll want to go ahead and create a fresh one. Start by logging into your site via SFTP and finding your .htaccess file. Rename the file to .htaccess_old.

Now, create a new .htaccess file in your text editor and paste in the following:

# BEGIN WordPress

RewriteEngine On

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

# END WordPress

Go ahead and upload your newly created .htaccess file. Then refresh your site in your browser, and check to see whether the error message is showing.

9. Look for coding or syntax errors in your CGI/Perl script.

If you’re running Common Gateway Interface (CGI) scripts, any coding errors you’ve made could result in a 500 error. To unearth potential issues with your CGI scripts, log into your site using Secure Shell Access (SSH).

Once you’ve logged in, you can troubleshoot your CGI with this command:

[server]$ ./cgi_name.cgi

The terminal should return a general error message and the line number the culprit is located on. From there, you can work your coding magic!

When working with CGI, there are a few best practices to keep in mind to avoid problems. First, it’s wise to use a plain text editor to ensure that you maintain ASCII format. When you upload scripts, you should also be able to select ASCII mode in your FTP client.

Finally, if necessary, upload to the cgi-bin directory on your server. Then you can double-check your files’ permissions once you have them uploaded.

10. Ask your web host about potential server issues.

If all else fails, there may be a server issue, which only your host can confirm. Unfortunately, if your host’s server is experiencing a problem, you may have to wait out some website downtime.

Leave a Reply

Your email address will not be published. Required fields are marked *