What a 503 error means
"503 Service Unavailable" tells the browser that the server is up but cannot serve the page at this moment. The HTTP standard describes it as a temporary overload or scheduled maintenance. On real hosting accounts it usually has one of four causes:
- A maintenance mode that was switched on and never switched off
- Your account hitting its resource limits (CPU, memory or simultaneous processes)
- A sudden traffic or bot spike, or a heavy scheduled task
- A stopped service on a VPS or Windows server (web server, PHP-FPM or an IIS application pool)
This article is for your own website. For a 500 error, see fixing a 500 Internal Server Error.
Steps for shared hosting (cPanel or Plesk)
- Check whether the error is everywhere. Open the site on mobile data and in a private window. If only one page fails, look at that page's code or plugin rather than the whole account.
- Remove a stuck WordPress maintenance file. WordPress creates a file named
.maintenancein the site root during updates. If an update was interrupted, it stays and the site keeps showing "Briefly unavailable for scheduled maintenance". In File Manager, show hidden files and delete.maintenance. Then rerun the update that failed. - Look at resource usage. In cPanel, open the resource usage or CPU and Concurrent Connection Usage page if your server offers one (the name and location vary by server software). Look for faults or limits reached around the time of the error.
- Check traffic in Metrics > Raw Access or Visitors. Hundreds of requests a minute to
wp-login.php,xmlrpc.phpor search pages usually mean bots. Block abusive IPs with Security > IP Blocker and add login protection. - Review scheduled tasks in Advanced > Cron Jobs and in plugins that run backups, imports or image optimisation. Move heavy jobs to quiet hours or reduce how often they run.
- Reduce load per visit. Enable a caching plugin, deactivate plugins you do not use, and remove heavy page builders from pages that do not need them. Our website speed guide lists more fixes.
- Recycle the application pool on Windows hosting. In Plesk, open the domain and look for the dedicated IIS application pool settings, where you can stop, start or recycle the pool if your plan allows it. An app that crashes on start will stop the pool again, so check the logs as well.
Steps for a VPS
These commands assume a Linux VPS. Service names differ between distributions, so adjust them to what you installed. See connecting to your VPS over SSH if you have not logged in before.
-
Check which services are running:
systemctl status nginx apache2 httpd php-fpm --no-pager -
Check memory and whether the kernel killed a process for lack of memory:
free -h sudo dmesg -T | grep -i -E "out of memory|killed process" -
Read the latest log lines for the failed service:
sudo journalctl -u nginx --since "30 min ago" --no-pager -
Restart the stopped service, for example
sudo systemctl restart php8.3-fpm(use the exact unit name from step 1). -
Raise worker limits carefully if logs show
server reached pm.max_children. Each extra PHP worker uses memory, so increase it only as far as your RAM allows.
How to confirm it worked
- The site loads repeatedly from different networks for at least 15 minutes.
- Resource usage pages show no new limit faults.
- On a VPS,
systemctl statusshows the services asactive (running).
If your account keeps hitting limits after tuning, compare shared and VPS hosting to decide whether you need more dedicated resources.
If it still fails
Open a support ticket and include:
- The URL, the exact error text and the times it happened (IST)
- Whether it is constant or comes and goes
- Any resource usage screenshots or log lines you found
- Recent changes: plugin updates, new campaigns, imports, cron jobs
- For a VPS: the output of the
systemctl statusandfree -hcommands
Frequently asked questions
Is a 503 error permanent?
No. By definition it is a temporary condition. It goes away when the overload ends, maintenance finishes or the stopped service starts again, but repeated 503s mean the cause needs fixing.
Does a 503 hurt my Google ranking?
Short 503 periods are treated as temporary by search engines. Long or frequent ones can lead to pages being crawled less or dropped, so fix the cause rather than waiting it out.
Why do I get 503 only at certain times of day?
That pattern points at load: a traffic peak, a scheduled task such as a backup plugin or cron job, or bots crawling heavily at that hour. Check access logs and scheduled tasks for that time.
When should I move from shared hosting to a VPS?
If your site keeps hitting resource limits after you have added caching and removed heavy plugins, it has likely outgrown shared hosting. A VPS gives you dedicated RAM and CPU cores.