Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Errors & Diagnosis

WordPress 503 Service Unavailable: Causes and Fixes

A 503 means the server is temporarily unable to handle the request. It is usually resource exhaustion, a stuck maintenance state or a fatal error under load.

Short answer: a 503 Service Unavailable means the server received the request but cannot handle it right now. In WordPress it is usually PHP resource exhaustion, a maintenance state that never cleared, or a fatal error that only appears under load.

Constant or under load?

A 503 that appears only at busy times points at capacity — PHP-FPM workers exhausted or the server hitting memory limits. A constant 503 usually means a stuck maintenance file, a crashed service, or a fatal error on every request. Establish which before changing anything.

Check the maintenance file first

WordPress creates a .maintenance file at the site root during updates and deletes it when finished. If an update was interrupted, the file remains and forces a 503. Delete .maintenance over SFTP and reload — this clears the most common WordPress 503 in seconds.

The rest of the checklist

  • Logs: enable WP_DEBUG_LOG and read /wp-content/debug.log plus the server error log for a fatal error or exhausted memory.
  • Plugins/theme: rename /wp-content/plugins to plugins_off, or the active theme folder, to isolate an offending component.
  • Resources: if it is load-related, check PHP-FPM max_children and memory with your host; a 503 at peak is a sizing problem.
  • External: a hosting maintenance window or a failing upstream service can return a legitimate temporary 503.

Verify

Re-request the URL, confirm the admin loads, and if the cause was capacity, test under realistic concurrency rather than a single quiet request. If the 503 only appeared during an update, confirm the update actually completed and re-run it cleanly with a backup in place.

WP REPAIR INCIDENT STANDARD

How to narrow the fault without guessing

A 503 means the service is intentionally or temporarily unavailable. A stuck WordPress maintenance file, exhausted PHP pool, upstream maintenance and application failures require different responses.

WP RepairDiagnostic model
1Request2PHP / server3WordPress4Component
Follow the chain until you find the first point that stops behaving as expected.
01

Determine whether the response is constant, intermittent or only under load.

02

Check for .maintenance only when an update was interrupted.

03

Read PHP-FPM pool, memory and web-server logs for capacity signals.

04

Confirm whether a proxy, host or upstream service generated the 503.

What must be verified

  • The service remains available through the original peak or controlled load.
  • Interrupted updates are completed or restored cleanly.
  • PHP-FPM and upstream logs show no new saturation or fatal events.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident