WordPress 503 Service Unavailable: 7 Fixes in Order (2026)
Disclosure: some links on this page are affiliate links. We may earn a commission at no extra cost to you. How we test and rate hosts.
A 503 is "open but can't serve you." The server is running - it's just too overloaded or too broken to respond right now. Two diagnosis paths: constant 503 = something crashed or stuck; intermittent 503 under load = resource limits. Work the list; most cases resolve by fix 2 or 6.
1. Refresh and Check the Pattern
503s during traffic spikes often clear in a minute. Hard refresh, test from mobile data, check downdetector for your host. Constant for 10+ minutes? Something is broken, not busy - keep going. Only at peak times? Skip ahead to fix 6.
2. Check for a Stuck .maintenance File
A failed auto-update leaves a .maintenance file that can trigger 503-like behavior. Via FTP or file manager, look in your site root (next to wp-config.php). File there but no update running? Delete it. Full walkthrough in our maintenance mode fix.
3. Deactivate All Plugins
A plugin crash or an infinite loop is the most common constant-503 cause. FTP in, rename wp-content/plugins to plugins_off, reload. Site returns? Reactivate one by one until the 503 comes back - the last one reactivated is your hog. Pay special attention to plugins added or updated in the last 48 hours.
4. Switch to a Default Theme
Plugins ruled out? The theme's functions.php can crash PHP the same way. Via FTP, rename your active theme's folder in wp-content/themes - WordPress falls back to a default theme automatically. If the 503 clears, your theme (or its bundled plugins) needs an update or replacement.
5. Enable Debug Logging, Read the Error
Still guessing? Make WordPress tell you. In wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Reload once, then read wp-content/debug.log. Fatal errors name the file and line - usually a specific plugin file. Disable that plugin, then turn debug back off.
6. Resource Exhaustion: The Load Pattern
Intermittent 503 under traffic = your plan is undersized. Shared hosts cap PHP workers, memory, and CPU per account; a spike saturates them and the server 503s everyone else. Confirm via the host's resource usage metrics (cPanel > Resource Usage - look for CPU/IOPS faults). Mitigate first: enable page caching so repeat visitors don't hit PHP, then decide if the plan itself is the ceiling.
7. CDN, Firewall, Contact Support
Bypass Cloudflare (Development Mode) to isolate CDN vs origin. Then open a support ticket with specifics: exact timestamps, error log lines, whether it's constant or load-dependent, what you already ruled out. That detail skips tier-1 scripts and gets to someone who can check server-side process limits.
Capacity, Not Crashes
Bluehost measured 99.98% uptime across our 90-day monitoring. If recurring 503s mean you've outgrown entry-level limits, their VPS tier scales the same control panel you already know. From $3.99/mo.
Get Reliable HostingRelated: 502 bad gateway fix - 500 internal server error - stuck in maintenance mode - memory limit fix.
What are you building?
Tell us about your project so we can match the perfect hosting plan.
Hosting Cost Calculator
See exactly how much you'll spend on hosting over time. Compare Bluehost vs popular alternatives and discover your potential savings.
Used to calculate transaction fees (Shopify charges 2% on sales)
Frequently Asked Questions
What does a 503 error mean in WordPress?
The server is online but can't handle the request right now. Unlike a 500 (crash) or 502 (bad response), 503 signals temporary unavailability: PHP workers exhausted, a plugin eating resources, server overload/maintenance, or a stuck .maintenance file after a failed update.
What's the difference between 502 and 503?
502 means the gateway got a bad/invalid response from PHP. 503 means the server actively refused because it's overloaded or unavailable. 503s under traffic spikes almost always mean resource limits - your hosting plan can't keep up.
What's the fastest fix for a 503?
Hard refresh first - 503s are often momentary. If persistent, deactivate all plugins via FTP (rename wp-content/plugins) and reload. Site back? A plugin is eating resources. Still down? Check for a leftover .maintenance file in the site root and delete it.
Why do I get 503 only at busy times?
Peak-time 503s mean resource exhaustion: PHP worker limit (max_children), memory, or CPU caps on your shared plan. The fix is server-side - more resources or better infrastructure, not a WordPress setting.
Can Cloudflare cause a 503?
Yes - if Cloudflare can't reach your origin or your origin throttles Cloudflare's IPs, visitors see a 503. Temporarily bypass via Development Mode; if the site loads directly, whitelist Cloudflare's IP ranges on your server.
How do I stop recurring 503 errors?
Find the resource hog: a plugin running heavy cron jobs, unindexed database queries, or image processing on upload. If the site is clean and still 503s under normal traffic, the hosting plan is undersized - upgrade or move.
Ready to launch?
Get Bluehost from $3.99/month with a free domain, free SSL, and 30-day money-back guarantee.
Related Articles
Bluehost vs Competitors: The Technical Deep Dive
We ran 47 benchmarks over 90 days. Here's the raw data on why Bluehost dominates.
Fix ERR_TOO_MANY_REDIRECTS in WordPress (2026): The 6 Real Causes
ERR_TOO_MANY_REDIRECTS means an infinite redirect loop. Match your Site URLs, fix Cloudflare SSL mode, reset .htaccess, kill plugin conflicts - step-by-step with code.
WordPress 403 Forbidden Error: 7 Fixes That Actually Work (2026)
403 means the server understood you but refuses to serve the page. Fix file permissions (755/644), regenerate .htaccess, kill security plugin blocks - in the right order.
Fix 502 Bad Gateway in WordPress (2026): Diagnose First, Then Fix
502 means the gateway got a bad response from your server - usually PHP timeouts, CDN issues, or overload. A 9-step diagnostic workflow from browser checks to server logs.
Fatal Error: Maximum Execution Time Exceeded - 6 Fixes (2026)
max_execution_time kills slow updates at 30-60s. Fix the culprit plugin/theme first, then raise the limit via wp-config, .htaccess or php.ini - with exact code.
HTTP Error Uploading Images in WordPress: 9 Fixes Ranked (2026)
The vague 'HTTP error' on image upload usually means memory limits or Imagick. Fix order: rename the file, bump memory, force GD library, check permissions - with code.