What 503 means — vs 502 and 500
A 503 Service Unavailable response means the server is up but temporarily unable to serve requests — it is overloaded, restarting, or in maintenance mode, and the condition is by definition temporary (a Retry-After header, when present, states when it should recover). Diagnose in this order — most 503s resolve at step three:
- Pattern-match — constant 503 (backend down or maintenance mode), intermittent (resource limits), only behind Cloudflare (origin issue masked).
- Check maintenance mode — look for
.maintenancein the WordPress root; delete it if an update timed out. - Check resource limits — cPanel stats for Entry Processes and RAM; a throttled account 503s under load.
- Disable plugins — rename the plugins folder via File Manager; if the site returns, re-enable one by one.
- Read error_log — the exact failing module or fatal names itself.
The 503 family decode (vs 502 and 500) is below, with fixes per cause. Related errors: the 500 error guide and the 403 fix.
| Code | What it means | Where the fault is |
|---|---|---|
| 503 Service Unavailable | Server temporarily cannot serve requests — overloaded, restarting or in maintenance mode | Server capacity or state; usually clears when the pressure drops (watch Retry-After) |
| 502 Bad Gateway | A proxy or gateway got an invalid response from the backend behind it | The backend process (PHP, app server) crashed or miscommunicated |
| 500 Internal Server Error | The application threw an unhandled error while building the page | Your site's code, .htaccess or a plugin |
Symptom patterns — constant vs intermittent vs Cloudflare
Constant 503 on every URL — including static files — points at the backend or maintenance mode: work through Cause 5 first, then Cause 3. Intermittent 503 that appears under traffic and clears in quiet hours is the classic resource-limit signature: go straight to Cause 1. A 503 that shows only through Cloudflare or another proxy, while the origin answers directly, is Cause 4. Name the pattern first — it cuts five possible causes down to one.

Cause 1 — resource limits (Entry Processes, RAM)
Cause one, resource limits — the most common 503 on shared hosting. CloudLinux caps each account on Entry Processes (concurrent PHP handlers), Virtual Memory and CPU; when a traffic spike, a runaway plugin loop or a bot swarm hits the cap, the stack answers with 503 until the pressure drops.
- Open cPanel → Resource Usage (or the host's stats panel) and read the snapshot history — hits against the Entry Processes line confirm the diagnosis.
- Find the driver: a crawler storm, a backup job colliding with peak hours, or an inefficient plugin.
- Stagger heavy jobs (backups, imports) to quiet hours.
- If legitimate traffic now exceeds the cap, upgrade the plan — the limit is doing its job.
On WebJi® plans the resource graph lives in the client area, and the desk reads it with you on request. These caps apply on every cPanel hosting plan; if the graph shows sustained red lines at honest traffic levels, the fix is capacity, not tuning.
Cause 2 — WordPress plugin or theme crash
A fatal PHP error inside a plugin or theme can throw every page of the site into a 503. Confirm it fast: rename wp-content/plugins to plugins_off via cPanel File Manager or FTP — if the site returns, re-enable plugins one by one to name the culprit. If it still fails, rename the active theme folder the same way so WordPress falls back to a default theme. A "memory size exhausted" line in error_log instead means the PHP memory limit is too small for the plugin set — raise the limit or trim plugins.
Cause 3 — LiteSpeed/Apache backend down
When the web server or PHP backend itself is down, every request 503s — static files included. On shared hosting this is host-side: open a ticket and let the desk restart the service. On a VPS you can restart it yourself — systemctl restart lsphp on LiteSpeed, systemctl restart php-fpm or systemctl restart apache2 — and check dmesg for out-of-memory kills. On Windows/IIS, a 503 almost always means the site's application pool is stopped: IIS's Rapid Fail Protection stops the pool after repeated worker-process crashes (5 crashes within 5 minutes by default). Restart the pool in IIS Manager, then read the System event log — the WAS error names the module or crash that stopped it.
Cause 4 — proxy 503 with origin status headers
A 503 page served by Cloudflare or another proxy means the edge could not get a healthy answer from your origin server. Read the error page: it usually carries the origin's status, or a cf-ray reference support can trace. Test the origin directly — if it answers, a firewall or CDN rule is blocking or challenging the edge's requests. A Retry-After header on the response states when the service expects to recover; scheduled-maintenance 503s use exactly that mechanism.
Cause 5 — stuck maintenance mode
A WordPress core update that timed out leaves a .maintenance file in the site root; until it is deleted, the site serves its "briefly unavailable for scheduled maintenance" page. Remove the file with cPanel File Manager (enable "show hidden files") or FTP and the site returns immediately. The ASP.NET equivalent is app_offline.htm — delete or rename it and the site serves traffic again.
Frequently Asked Questions
How do I fix a 503 service unavailable error?
Work the page's order: match the symptom pattern (constant, intermittent, or only behind Cloudflare), delete a stuck .maintenance file, check cPanel Resource Usage for Entry Processes and RAM caps, then isolate plugins by renaming the plugins folder. Most 503s clear at the resource or maintenance step.
Why does my website show 503 randomly?
Random, load-time 503s are the resource-limit signature: the account briefly hits its Entry Processes or RAM cap under a traffic spike, a crawler storm or a backup job, then recovers in quiet minutes. Check Resource Usage history in cPanel — hits against the limit line at the same timestamps as the errors confirm it.
Is a 503 error from my site or the server?
Test from another network or an online checker: if everyone sees it, the fault is server-side. If static files also fail, it is the backend or the host (Causes 3 and 5); if only PHP pages fail, look at your own code and plugins (Cause 2). error_log settles it — a fatal there is yours; nothing there is the host's.
Does Cloudflare cause 503 errors?
Cloudflare returns a 503 when it cannot get a healthy response from your origin server, or when a firewall rule challenges the edge's requests. If the origin answers directly while the proxied URL 503s, check the Cloudflare firewall rules and the origin status printed on the error page; the cf-ray on that page lets support trace the exact request.
How do I fix 503 in WordPress?
In order: delete a stuck .maintenance file from the site root, rename wp-content/plugins to isolate a fatal plugin, switch to a default theme, and read error_log for the named fatal. If the log shows memory exhaustion, raise the PHP memory limit or trim the plugin set.
What is the difference between 503 and 502?
503 means the server is temporarily unable to serve requests — overloaded, restarting or in maintenance. 502 means a gateway or proxy received an invalid response from the backend behind it. 503 points at server capacity or state; 502 points at a crashed or miscommunicating backend process.
Is WebJi® an Indian company?
Yes. WebJi® is headquartered in Jaipur, Rajasthan and has operated since 2005. Billing, support and governance all run from India.
Do you provide GST invoices?
Every purchase and renewal gets a GST invoice with our GSTIN, and hosting prices are quoted exclusive of 18% GST. Claim input credit as applicable.

