WordPress Tutorial

How to Debug and Fix 503 Service Unavailable Error in WordPress

We think you’ll agree when we say: A 503 service unavailable error is one of the most baffling errors you can ever encounter on your WordPress site.

503 Service Unavailable Error Example

Main reason being the error doesn’t make it clear what’s wrong. The fact that it can be caused by a number of things makes matters worse. Moreover, depending on the server configuration this error can be displayed differently. For example, you can see these error codes instead:

Turns out fixing a 503 service unavailable error is relatively easy and in this post we show you exactly how.

Note: In this tutorial, we will show how to debug and fix the error for WordPress based websites. However, similar steps can be applied to any CMS.

Causes of 503 Service Unavailable Error in WordPress

A 503 service unavailable error can be caused by  a number of things including (but not limited to):

  • Buggy plugins or themes
  • A misbehaving custom PHP script
  • Insufficient server resources
  • Server glitches
  • Malicious attacks such as the infamous Distributed Denial of Service (DDoS) attack

We will go over each of these causes and offer various solutions regarding how you can fix the 503 service unavailable error.

Buggy Plugin

Faulty plugins are responsible for most of the errors you will encounter in WordPress. In fact, a buggy plugin is the leading cause of the 503 service unavailable error in WordPress.

If you encountered the 503 error after installing or updating a particular plugin, you most definitely know the culprit. All you have to do is delete the plugin in question and your job is done.

If, however, you have no idea which plugin (or what exactly) is causing the 503 error, you should begin the diagnosis by deactivating all plugins.

But how do you deactivate all plugins considering you can’t access your WordPress admin dashboard?

Deactivating All WordPress Plugins

Login to your WordPress directory either via FTP or File Manager. For this tutorial, we will use a nifty FTP program known as FileZilla:

WordPress Home Directory in FileZilla

This is how our test WordPress directory looks via File Manager in Hostinger:

WordPress home directory view in file manager

Inside your WordPress directory, locate and open the wp-content folder, which contains your plugins, themes and media among other things.

Right-click on your plugins folder and rename it to plugins-old:

rename WordPress plugins foler filezilla

This deactivates all plugins at once. Now rename plugins-old back to plugins and reload your website. If the 503 error is gone, a plugin is the cause of your current predicament.

All you have to do now is identify and delete the problematic plugin.

You should now be able to login to your WordPress admin dashboard via the browser and activate the plugins one by one.

Every time you activate a plugin, reload your site to pinpoint the buggy plugin. Once you find the naughty plugin, login into your plugins folder via FTP and delete it:

Delete Faulty WordPress Plugin to Fix 503 error

If deactivating plugins didn’t fix the 503 service unavailable error, read on for more solutions. Now, let’s check if your theme is the problem.

Problematic WordPress Theme

At times, buggy PHP script that throws up a 503 error could be part of your theme. For this part, we will switch to a default theme such as Twenty Seventeen. By the way, it’s advisable to keep the default theme even after installing a new theme since it (default theme) acts as the fallback theme should your theme fail.

Deactivate WordPress Theme

Before we deactivate (or delete your theme should it be the problem) we must create a backup of the same. Connect to your WordPress site via FTP and navigate to the wp-content -> themes folder.

Locate your active theme and download it as shown below:Download WordPress Theme with FileZilla

Next, delete your active theme and reload your site. If the 503 error is gone, your need to fix/update your theme. When this is not an option, get a new copy or a different theme.

If the 503 service unavailable error persists, perhaps a broken custom PHP code snippet somewhere on your site is responsible.

Faulty Custom PHP Code

At times, 3rd party code by external services or code snippets you add to your site could cause a 503 error. But how do you determine if the code is the problem.

On normal days when you’re site is working, you can use a debugging plugin such as Query Monitor and Debug Bar.

Enable WP_DEBUG

But since the 503 error often locks you out of your WordPress admin, we shall use WP_DEBUG and WP_DEBUG_LOG, WP_DEBUG_DISPLAY and @ini_set constants available to WordPress.

To enable debug mode in WordPress and write errors to a log file,  follow these steps:

  1. Open your WordPress directory via FTP or File Manager.
  2. Open the wp-config.php file
  3. Scroll down to where WP_DEBUG is defined. It looks like this define ('WP_DEBUG', false);. If it is missing, we will add it just above the line that says /*That's all, stop editing! Happy blogging.*/
  4. Insert the DEBUG magic codes. Just change the above define ('WP_DEBUG', false); code to:
    define ('WP_DEBUG', true);
    define ('WP_DEBUG_LOG', true);
    define ('WP_DEBUG_DISPLAY', false);
    @ini_set ('display_errors', 0);
  5. Save changes

Enable Debug in wp-config.php

Now, reload your site to provoke the error. Next, locate a file known as debug.log inside your wp-content folder in your WordPress directory.

This file contains all the errors on your website. If your 503 service unavailable error is caused by a custom code snippet, it will show up somewhere with details of the error.

Eliminate/replace the problematic code and reload your site. If the 503 error persists, the problem could lie in your web server.

Server-Related Issues

A number of server-related issues can cause the 503 service unavailable error. Usually, 503 errors caused by server problems disappear automatically after a few minutes.

If the error persists after trying the solutions we’ve already covered, here are a couple of things you can try.

Increase Server Resources

Some shared hosting plans simply don’t have enough power to accommodate heavy usage. If your host has bottlenecks as far as server resources go, perhaps it’s time you switched to a new WordPress hosting service host or upgrade your hosting package.

Are you getting the 503 service unavailable error consistently? If so, check your Google analytics. If you’re getting more traffic than usual, you’re definitely short of server resources.

However, if you don’t have the extra traffic but still see the 503 error, your problem doesn’t stem from inadequate server RAM or memory.

Limit Google’s Maximum Crawl Rate

To index your content, Google uses specialized scripts commonly known as crawlers. They visit your site regularly to gather content and determine other ranking metrics.

While it is uncommon, this crawling process can take a toll on your server resources consequently slowing down your site. To circumvent this and get rid of the 503 error, you can limit Google’s crawl rate using Google Search Console.

Note: The changes you make will be in effect for 3 months. Additionally, if you have non-WWW and WWW versions of your site, you have to do this for both.

Login to Google Search Console and select your website. Next, click the gear icon and select site settings as shown below:

Google Search Console Site Settings

On the next screen, adjust the Google crawl rate by dragging the slider to the left side:

Google Search Console Crawl rate search console

Limit WordPress Heartbeat

According to WordPress.org, “…the Heartbeat API is a sample server polling API built in to WordPress, allowing near real-time, frontend updates.” It’s responsible for features such as post autosaving and so on.

The WordPress Heartbeat API fires a file known as admin-ajax.php among other queries at regular intervals when you’re logged into your site.

This functionality consumes your server resources, but you can limit or disable it completely. When you recover your site, you can use the Heartbeat Control WordPress plugin  to limit this functionality instead of completely disabling it.

To determine if WordPress Heartbeat is the cause of the 503 service unavailable error on your WordPress site, add the following code into your theme’s functions.php file right after the opening <?php tag:

Save your changes and reload your site. If the 503 error is gone, take a breather. But if the 503 service unavailable error is still there, it means the WordPress Heartbeat API is the least of your troubles.

If the above code didn’t fix the 503 error, don’t forget to remove the code from your functions.php file.

Final Remarks

If none of these solutions works for you, perhaps we missed a solution that could work for you. For this very reason, don’t hesitate sharing with us in the comments so we may find you the help you need.

Moreover, take note that the 503 service unavailable error is mostly the result of faulty PHP code such as a buggy plugin or theme.

Equally important is to note that 503 errors caused by server glitches oftentimes clear on their own, so always reload your site a while later to test if the error still persists.

Regardless of what happens, realize you can always fix a 503 service unavailable error without breaking a sweat. As such, there’s really no need to panic since it’s not a permanent situation.

Have you ever encountered the 503 service unavailable error? How did you fix it? Do you have a question or suggestion? Please share with us in the comments below. Thanks in advance!

Add Comment

Click here to post a comment

Join thousands of subscribers worldwide

and get awesome deals & the newest tutorials to your email

Please wait...

Thank you for sign up!

More in WordPress Tutorial
How to Move WordPress Site to a New Domain (Without Hurting SEO)
Close