# 503 errors explained: Why they happen and how to fix them

> A 503 error means your site's code couldn't complete a request - here's why it happens and how to fix it.

Source: https://www.kualo.com/knowledgebase/cpanel-account/503-errors-explained-how-to-fix
Updated: 2026-06-11

---

Seeing a "503 Service Unavailable" message on your website is unsettling, especially if visitors or customers are reporting it too. The good news is that a 503 is almost always temporary, it has a findable cause, and in most cases it can be fixed without drastic action. This guide explains what the error actually means, the most common reasons it happens, what you can check yourself, and the options available to you - from optimisation through to resource boosts and upgrades.

## What a 503 error actually means

A 503 does not mean the server is down. In fact, it means the opposite: the web server received the request and replied, but the part of the system that runs your website's code (PHP, in most cases) couldn't complete that particular request at that moment.

Think of it like a restaurant. The doors are open and the waiter took your order, but every chef in the kitchen was busy, so your order couldn't be cooked right then. The restaurant isn't closed; it just couldn't serve that one request at that one moment.

That's why 503s are often intermittent. The site may work perfectly for most visitors and then show errors during busy spells, when a heavy task runs, or when something in the site's code misbehaves.

It's also worth addressing the wording of the error page itself, because it causes a lot of understandable confusion. The standard message often mentions the server being unable to respond due to "maintenance" or "capacity problems", which reads as though the hosting itself is failing. In almost all cases, that's not what's happening. The "server" in that message simply means the software that answered your request, and the actual server is nearly always healthy, with every other website on it loading normally. Hosting accounts are isolated from one another, so what the error usually reflects is something specific to your own website: your account momentarily reaching the resource allocation included with your plan, or a problem within the site's own code or plugins. The isolation works in your favour too - another customer's busy website can't cause 503s on yours.

## The most common causes

### 1. Your account briefly needed more resources than it has

This is the most common cause on shared and reseller hosting. Every hosting account has an allocation of memory, processing power and simultaneous PHP processes, which keeps the server fast and fair for everyone. If your website is working harder than its allocation allows, requests start to queue up, and some can't be completed in time, so visitors may see a 503. (Running out of memory specifically tends to produce a different message - a memory error - rather than a 503.)

This doesn't necessarily mean your plan is too small. Very often it means the website is working much harder than it needs to for each visitor, which is why we always look at optimisation first (more on that below). You can read about how allocations work and how to view your own usage in [Understanding Resource Usage in cPanel](/knowledgebase/cpanel-account/understanding-resource-usage-in-cpanel).

### 2. A problem within the website itself

A misbehaving plugin or extension, an update that didn't complete, or inefficient code can all cause PHP processes to fail or to consume far more resources than they should. If your 503s started right after you installed or updated something, that's a very strong clue.

A related case is maintenance mode, though platforms behave very differently here. WordPress shows a 503 with the message "Briefly unavailable for scheduled maintenance" while an update runs, but its maintenance flag expires by itself after about ten minutes, so it rarely explains errors that persist. Magento's maintenance flag is the opposite: it stays in place until it's removed, so an interrupted Magento update can leave the site showing a 503 indefinitely.

### 3. Traffic spikes and bots

A surge of visitors, a successful marketing campaign, or aggressive bots and crawlers hammering your site can all exhaust your account's capacity at once. Bot traffic is a particularly sneaky one: a crawler requesting thousands of pages - especially pages that don't exist, triggering your site to generate error pages over and over - can create heavy load with no real visitors at all.

### 4. Heavy background tasks

Imports, exports, backups running through the website, and scheduled tasks like WordPress's built-in wp-cron can compete with your visitors for the same resources. On busy sites, wp-cron firing on every page load is a classic cause of resource exhaustion.

## What you can check yourself

You can often narrow down the cause in a few minutes:

1. **Check Resource Usage in cPanel.** Log into cPanel and open Resource Usage. The first screen tells you whether your account has hit any limits in the last 24 hours. Click into Current Usage and look back over the last few days too, because a quiet day today doesn't rule out faults earlier in the week. If you see faults that line up with when the errors happened, resources are your answer. Faults on CPU, disk activity or processes are the ones that line up with 503s; memory faults usually appear as memory errors on the site instead.

2. **Check your site's error logs.** In cPanel, the Errors tool and your site's `error_log` file can reveal PHP problems happening at the same time as the 503s.

3. **Think about what changed.** New plugin? Theme update? Newsletter just sent? Featured in the press? A timeline of recent changes is one of the most useful diagnostic tools there is.

4. **Check for stuck maintenance mode.** If the error page says "Briefly unavailable for scheduled maintenance", WordPress is mid-update. This normally clears itself within ten minutes, and if it doesn't, delete the `.maintenance` file in your site's root folder using [cPanel's File Manager](/knowledgebase/cpanel-files-ftp/how-to-use-file-manager-in-cpanel). For Magento, the flag is `var/.maintenance.flag` and it never clears itself, so after a failed update it must be removed manually.

5. **Check whose error page it is.** If your site sits behind a [CDN such as Cloudflare](/knowledgebase/domains-dns-ns/how-to-set-up-cloudflare-with-your-kualo-hosting-account), a Cloudflare-branded error page (or an error code in the 520s) means the problem may sit between the CDN and the website rather than with the hosting account itself. Mention this in your ticket, as it changes where we look first.

If you'd rather we did the digging, that's exactly what we're here for. Skip to "How we can help" below.

## Notes for specific platforms

**WordPress.** Beyond the maintenance behaviour described above, the usual WordPress culprits are a heavy or faulty plugin (especially if the errors began right after installing or updating one) and the built-in scheduler, wp-cron, which runs on the back of visitors' page loads and can pile up on busy sites. Replacing wp-cron with a real scheduled task and enabling [LiteSpeed Cache](/knowledgebase/wordpress-optimisation/configuring-litespeed-cache-with-wordpress) are the two highest-impact fixes we see, and our support team can help you set up both.

**Magento.** Magento does far more work per request than most platforms, so caching isn't optional: full page caching should be enabled and working, and the site should run in production mode. Some URLs that look like static files are actually generated through PHP, and features like layered navigation, site search and admin grids are particularly heavy. If errors started after an update, an incomplete upgrade is a common cause and `var/log/exception.log` will usually say so. For persistent 503s on a busy store, involve your developer early - we'll supply the log evidence to point them in the right direction.

**Node.js applications.** If your site runs on Node.js, your application is a separate program managed through Setup Node.js App in cPanel. If that application has stopped, crashed, or is pointing at the wrong startup file, every page will return a 503 even though the hosting account is healthy. Check its status in cPanel and use Restart, which is also needed after every code deployment. The application's own log files, in its project folder, will show why it stopped.

## Start with optimisation, not upgrades

It's tempting to treat a 503 as a sign that you simply need a bigger plan. Sometimes that's true. But in our experience, the majority of resource-related 503s are resolved or dramatically improved by making the website more efficient - and an optimised site is also faster for your visitors and cheaper to run as you grow. Upgrading an unoptimised site just postpones the problem.

The optimisations with the biggest impact:

- **Enable page caching.** Without caching, every single visit makes your site rebuild the page from scratch using PHP and the database. With caching, most visitors are served a ready-made copy almost instantly, using a tiny fraction of the resources. For WordPress we strongly recommend LiteSpeed Cache, which is available on our hosting and stores cached pages at the web server level for the best possible efficiency.
- **Use a current PHP version.** Each new major PHP version is significantly faster than the last. You can change your PHP version in cPanel's [Select PHP Version](/knowledgebase/cpanel-php/how-to-manage-the-php-version-in-cpanel-using-the-select-php-version-tool) tool - check your site is compatible first (your developer can confirm).
- **[Replace wp-cron with a real scheduled task](/knowledgebase/wp-security/how-to-disable-the-wordpress-wp-cronphp-and-set-it-as-a-real-cron-job-within-cpanel)** (WordPress). This stops background jobs piggybacking on your visitors' page loads.
- **[Audit your plugins and extensions](/knowledgebase/wordpress-optimisation/managing-and-auditing-wordpress-plugins-for-performance).** Remove anything you don't use, and be wary of plugins known to be heavy. If the errors began after a specific plugin arrived, test with it disabled.
- **Tame the bots.** A sensible [`robots.txt`](/knowledgebase/perf-speed/guide-to-robotstxt-optimising-web-crawling) and static or cached error pages stop crawlers from generating heavy load on pages that don't matter.
- **Tidy the database.** Old revisions, expired sessions and bloated log tables make every query slower.

If you're not sure where to start, ask us. We can usually see from your account's usage data exactly what is consuming resources, and we'll give you specific recommendations rather than a generic list.

## When more resources are the right answer

If your site is well optimised and genuinely busy, or you need errors stopped immediately while optimisation work happens, increasing your resources is a perfectly good solution. Your options depend on the type of service you have.

**Shared hosting plans.** You can upgrade to a higher plan at any time, which permanently increases your account's resource allocation. We can also apply a short [temporary boost](/knowledgebase/cpanel-account/how-to-use-resource-boosts-in-cpanel) to your account, which raises your limits for a few days. This is genuinely useful in two ways: it stops the errors immediately, and it proves whether the higher allocation actually resolves the problem before you commit to an upgrade. The allocations for each plan are published in our [Resource Usage Policy](https://www.kualo.com/webhosting/resource-usage-policy).

**Reseller hosting.** Each cPanel account you create has a standard allocation, and individual accounts can be boosted to higher levels (Level 1 to Level 4) whenever a particular customer's site needs more. This means you only pay for extra resources on the accounts that need them. The levels are detailed in our [Reseller Resource Usage Policy](https://www.kualo.com/resellers/resource-usage-policy).

**Your own VPS or dedicated server.** If you have your own server with us, resource limits are entirely flexible. We can adjust the per-account limits to whatever suits your sites, since you're not sharing with other customers. If the server as a whole is reaching capacity, we can talk about scaling it up. Just open a ticket and we'll review the right settings with you.

**Outgrowing shared hosting altogether.** If your site is consistently busy and well optimised, moving to a VPS or dedicated server gives you a large, dedicated pool of resources and room to grow. We're happy to advise on whether and when that step makes sense - we won't recommend it before you need it.

## When it isn't about resources

If your resource usage looks healthy and the 503s persist, the cause is usually within the application itself: a fault in a plugin, theme or custom code, a stuck maintenance state, or a slow external service (such as a payment or shipping API) that your site waits on. In these cases the fix lies in the website's code rather than the hosting, and your web developer will usually need to be involved. We'll help you pinpoint where the problem is, share the relevant log evidence, and point you (or your developer) in the right direction.

## How we can help

Our support team can investigate 503 errors for you, including reviewing your resource usage history, checking the server logs around the exact times the errors occurred, and identifying what was running at those moments. To help us get you an answer quickly, include in your ticket:

- The domain affected
- The date and time you saw the error, as precisely as possible, including your timezone
- The page or URL where it happened
- A screenshot of the error if you have one
- Anything that changed recently (updates, new plugins, campaigns, imports)

With that information we can usually tell you exactly what happened and what we recommend, whether that's a specific optimisation, a temporary boost, an upgrade, or pointing your developer at the precise line in a log.

## Related reading

- [Understanding Resource Usage in cPanel](/knowledgebase/cpanel-account/understanding-resource-usage-in-cpanel)
- [Error Codes Explained](/knowledgebase/dev-server/error-codes-explained)
- [Resource Usage Policy (shared hosting)](https://www.kualo.com/webhosting/resource-usage-policy)
- [Resource Usage Policy (reseller hosting)](https://www.kualo.com/resellers/resource-usage-policy)


---

_Source: Kualo Knowledgebase — https://www.kualo.com/knowledgebase/cpanel-account/503-errors-explained-how-to-fix · © Kualo Ltd._
