How to Fix WooCommerce Internal Server Error on Checkout

As a store owner, you may have encountered several types of errors, some of which are really frustrating because they don’t give you many details. 

500 internal server error is one of them. It is not a WordPress or WooCommerce specific error. It can happen on any website running on a server. 

A 500 internal server error can prevent the site from loading differently depending on the web server, operating system, and web browser. Here are some of the many ways it can be presented online:

  • Internal Server Error 500
  • Faulty HTTP response (500)
  • Failure to load internal server error
  • 500 error
  • Internal server error (HTTP status code: 500)
  • HTTP 500

It doesn’t give you much information about its cause which is why some users find it difficult to fix. 

Don’t worry, I got you covered here!

In today’s article, I’ll share a few methods to fix the WooCommerce internal server error on checkout and other pages. 

Before diving into the tutorial, let’s dive in and see the causes of 500 internal server error. 

What is the 500 Internal Server Error?

When a server encounters an unexpected problem, it may respond to the browser with HTTP status code 500, which indicates an internal server error. The HTTP status codes 403 (Forbidden), 404 (Not Found), and 503 (Service Unavailable) are just a few others.

When a client (a web browser, for example) sends a request to a server, but that request cannot be fulfilled due to an unexpected error, the server returns an error code of 500. 

The server cannot provide any additional details regarding the nature of the issue.

500 Internal Server Errors are displayed as messages when a server encounters problems. This is because there are countless potential reasons for a server to malfunction, and pinpointing a single cause may be next to impossible in some cases.

Despite this, some of the most frequent causes of 500 internal server errors on your WooCommerce site are

  • Corrupt .htaccess file.
  • Conflicts between themes and plugins.
  • Browser cache.
  • Invalid username or password for database access.
  • File system corruption.
  • Your WordPress installation has corrupted files.
  • The WordPress core files were corrupted.
  • Problems caused by external components and templates.
  • When PHP times out or crashes and unexpected behavior from external PHP modules
  • Incorrect permissions on files and folders.
  • Scripting problems with CGI and Perl.

Now we know a bit about the 500 internal server error and other errors, so let’s dive in and explore a few methods to fix the WooCommerce internal server error on checkout and other pages. 

How to Fix the WooCommerce 500 Internal Server Error?

500 internal server error is fatal as it will affect the users visiting your site. It can occur on any page on your site. And if a user sees this error, he might get annoyed and won’t return to your site. 

Note: If you and your users are experiencing the error only on the checkout page, it is probably a conflict between WooCommerce and your theme. Try contacting theme support for further assistance. And if the issue persists, please contact your hosting provider

Please read on to try fixing it yourself. 

Sometimes, you see this error while logging in to the WordPress dashboard, so you can’t log in to the admin dashboard to fix the error, making it more challenging to tackle the 500 internal server error or any 500 series error. So you need the FTP credentials of your site to follow along with the tutorial. 

Ensure you have the credentials and FTP software installed on your computer. If you do not have them, you can get them from the Cpanel or ask for hosting support, and they’ll assist you. 

Once you have the prerequisites, follow the following methods to fix the WooCommerce 500 internal server error. 

1. Check for Corrupt .htaccess File

The first thing you need to do is to check for the corrupt .htaccess file. You can check it by creating a new .htaccess file. 

It seems complicated to create a new .htaccess file, but it isn’t. You can create it in two ways.

1.1. Using the Cpanel

To create it using the cPanel, you need to navigate to your cPanel and go to the file manager to rename the existing .htaccess file. 

After renaming it, visit your site and see if the error disappears. 

If it is fixed, update the permalinks by navigating to Settings » Permalinks from your WordPress admin dashboard. It will generate a new .htaccess file. 

1.2. Using the FTP

If you don’t have cPanel access, you can do it using the FTP client. Please follow the following steps to access your site files using the FTP and create a new .htaccess file. 

1.2.1. Create a Backup of Your Site

To follow along, please create a backup of your site to avoid any loss. You can create a backup from your hosting panel or cPanel. 

1.2.2. Download FileZilla

Now download the FileZilla client software to your computer. You can download it from the official FileZilla site. After downloading it, please install it.

1.2.3. Connect to Your Site/Host Via FTP

Open the FileZilla software, and you’ll see a blank screen. 

You’ll need the FTP address provided by your web host and your FTP username and password to access your site via File Transfer Protocol (FTP). 

Your hosting account information will include your login credentials. The host may provide information on where the FTP address is stored if you request it. It’s also possible to get in touch with them directly.

Once you have all the details, please fill in the information inside the FileZilla and connect with your host. Once the connection is successful, you’ll see a similar message as in the following image. 

1.2.4. Rename the .htaccess File

From the right column, right-click the .htaccess file and click the Rename option to rename the file. You can rename it whatever you want, for example, .htaccess_old.

1.2.5. Update the Permalinks

Now, if the error is gone, congratulations. 

You just need to go to your WordPress admin dashboard, navigate to Settings » Permalinks, and update the permalinks. This will create a new .htaccess file and avoid any 404 errors. 

2. Deactivate all Plugins

If the above method doesn’t work for you, it could be a plugin conflict with the theme or another plugin. 

You need to deactivate all the plugins on your site and activate them one by one to see which plugin is causing the site breakdown. 

I have assumed you can’t log in to your WordPress admin dashboard due to the error. To deactivate the plugins, you’ll need to use the FTP, or if you have Cpanel access, you can use the file manager. 

But I’ll be using the FTP for this tutorial. 

Note: If you can log in to your WordPress dashboard, you can deactivate all the plugins from the dashboard and activate them one by one to find the culprit. 

As we have made the FTP connection in the previous step, I won’t repeat those steps and will jump straight into the fix. 

2.1. Rename the Plugins Folder

Once connected to your site using FTP, you need to navigate to the /wp-content/ folder. 

Inside it, you’ll see a folder named ‘plugins’; you need to rename this folder to anything you want, for example, plugins_deactivate.

Once you do that, all the active plugins on your site will be deactivated. 

This is because WordPress loads the plugin files from a folder named “plugins.” If the folder is missing, the plugins in the database will be deactivated immediately.

Now, if the internal server error was due to one of the activated plugins, you’ll be able to log in to your WordPress dashboard after all the plugins are deactivated. 

2.2. Rename the Folder Again to the Default

Now, you need to go back to the FTP client software and rename the plugins_deactivate folder to plugins. 

2.3. Activate the Plugins

After that, go back to your WordPress admin dashboard and activate the plugins one by one to find the culprit. Once you have found it, you can delete the plugin or ask for its support. 

3. Re-Install the WordPress Core

If deactivating all the plugins didn’t fix the error, re-upload the wp-admin and wp-includes folders from a fresh WordPress install.

This won’t delete your data, but it may fix corrupted files.

3.1. From WordPress Dashboard

You can reinstall WordPress from the admin dashboard if you have access. You can go to your WordPress dashboard, click the Updates tab from the left column, and then click Re-install WordPress. 

This will reinstall WordPress without affecting your data and files. 

3.2. Manually Re-install WordPress

If you don’t have access to log in to your WordPress admin dashboard, then you need to re-install WordPress manually. You can download WordPress by visiting the WordPress website. 

Once the file is downloaded, extract it on your computer and open the FTP client software. After connecting the software with your site, go to the root folder, which is usually the public_html. It will have the wp-admin and wp-content folders in it. 

From the left window inside FileZilla, open the WordPress folder you just downloaded, and select the wp-admin and wp-includes folders while pressing the Ctrl. Now, right-click and select Upload to upload the files to your site. 

Once you upload the files, a pop-up will appear. Select Overwrite and click OK to upload the files. 

As soon as you update WordPress, your FTP client will overwrite the old files with brand-new ones. This would resolve the internal server error if WordPress files were damaged.

4. Increase the PHP Memory Limit

If you don’t want to get into the technical stuff, you can simply ask your host to increase your PHP memory limit and see if the errors disappear. 

But if the hosting is taking time longer than usual, then you can do it by yourself. 

4.1. Download the wp-config.php File 

First, you need to download the wp-config.php file to your computer. You can download it via FTP or the file manager in your hosting control panel. 

I’ll be downloading it via FTP. 

To download it, please connect with your host via FTP. You can follow the steps mentioned in the very first step of this tutorial. 

Once connected, you’ll find the wp-config.php file in the site’s root folder. Right-click it and select Download to download it to your computer. 

4.2. Edit the File

Once the file is downloaded, edit the file in notepad and place the following code just before the line that says, ‘That’s all, stop editing! Happy blogging.’

define( ‘WP_MEMORY_LIMIT’, ‘256M’ );

After that, save the file. 

4.3. Upload the File to Your Site

Now we need to upload the updated file to the site. To upload it, open FileZilla, and from the left column, please select the file by right-clicking it and then selecting Upload to upload it. 

Again you’ll see a pop-up where you need to select Overwrite and click OK to upload the file. 

Now visit your site and see if it fixed the error. 

If increasing the maximum amount of memory helped, that’s great, but remember that it’s only a temporary solution. Still, you have to determine what’s causing your memory to overload.

A faulty plugin or theme feature could be to blame. If you need help pinpointing the problem, ask your WordPress web hosting company to explore the server logs.

Unfortunately, further investigation is required if increasing the PHP memory limit did not resolve the problem.

5. Update the PHP Version

As with themes, plugins, and WordPress, ensure you’re using the latest version of PHP.

WordPress uses open-source PHP. PHP processes database information and runs functions. To prevent vulnerabilities, your web hosting provider updates it like themes, plugins, and WordPress.

An outdated PHP version may cause an internal server error. Using an older version of PHP may cause theme and plugin conflicts.

You can contact your hosting provider if you don’t know how to update the PHP version from the cPanel. 

6. Contact the Hosting Provider

Contact your hosting company’s technical support staff if you continue to receive the internal server error even after trying all the above fixes. They will know precisely what is wrong and how to help you best.

If you have to wait a long time for a response from the support team, you can visit the appropriate forums to either seek out the answer to your question(s) or read existing threads about similar issues.

Conclusion

That’s it for today’s article. 

I hope this article was helpful to you and you were able to fix the WooCommerce internal server error on checkout and all the other pages. 

To avoid this error, use the updated version of all WordPress themes, plugins, and PHP. You can also try to clear your browser’s cache and switch the themes. You can also try refreshing the page to eliminate the internal server error on checkout

Also, ensure a site backup before making changes to fix the internal server error.

Share on facebook
Share on linkedin
Share on twitter
Brian
Brian

Welcome to the Woosuite blog, where we discuss all things WooCommerce. I hope we can help you achieve something today...