Before You Start: Confirm It’s Actually Down
Sometimes the site is fine and the problem is on your end. Before troubleshooting WordPress, rule out local issues:
- Try a different browser and device. If the site loads on your phone but not your laptop, it’s a local caching or DNS issue.
- Check from an external tool. Use downforeveryoneorjustme.com or UptimeRobot to verify the site is genuinely unreachable.
- Try a VPN or different network. If your IP is blocked by a firewall rule or your ISP’s DNS cache is stale, the site appears down only for you.
If external tools confirm the site is down, proceed with the checklist.
The Diagnostic Checklist
1. Check Your Hosting Provider’s Status Page
Before digging into WordPress, check if the problem is infrastructure. Every major host has a status page:
- If there’s an ongoing incident, your site is affected and the fix is on the host’s side. Monitor the status page and wait.
- If the status page shows all green but your site is down, the problem is specific to your account or site.
Also check if your hosting account is active. Expired credit cards, exceeded bandwidth limits, or unpaid invoices cause hosts to suspend accounts without warning.
2. Check DNS
DNS translates your domain name to your server’s IP address. If DNS is misconfigured, browsers can’t find your server at all.
Run a DNS lookup: use dig yourdomain.com from a terminal, or check with a free tool like MxToolbox. Verify that the A record points to your hosting server’s IP address.
Common DNS issues:
- Domain expired. Check your registrar (GoDaddy, Namecheap, Cloudflare). If the domain lapsed, renew it immediately.
- DNS records changed accidentally. Someone updated DNS and pointed the domain to the wrong server.
- DNS propagation. If you recently changed DNS records, it can take up to 48 hours for changes to propagate globally — though most resolve within 2-4 hours.
3. Check the Server Error
Load your site in a browser and note the exact error:
- 500 Internal Server Error: Something on the server is failing. Most likely a PHP error, corrupted .htaccess, or exhausted memory. Check your server’s error log.
- 502 Bad Gateway: The web server (Nginx/Apache) can reach the host but the application (PHP) isn’t responding. Usually a PHP-FPM crash or timeout.
- 503 Service Unavailable: The server is overwhelmed or in maintenance mode. Could be a traffic spike, a resource limit, or your host throttling your account.
- 504 Gateway Timeout: The server took too long to respond. Often a slow database query, an API call that hangs, or PHP hitting its execution time limit.
- ERR_CONNECTION_REFUSED: The server isn’t accepting connections on port 80/443. The web server (Apache/Nginx) may have crashed or the firewall is blocking connections.
- ERR_NAME_NOT_RESOLVED: DNS problem. The browser can’t find the domain. See step 2.
4. Check .htaccess
A corrupted .htaccess file is a surprisingly common cause of 500 errors. If a plugin wrote broken rewrite rules, the entire site goes down.
Via SFTP, rename .htaccess to .htaccess-backup. If the site comes back, the .htaccess was the problem. Go to WordPress Settings > Permalinks and click Save Changes — WordPress will regenerate a clean .htaccess.
5. Check the Database
If you see “Error establishing a database connection,” WordPress can’t connect to MySQL. Causes:
- Database server is down. On shared hosting, the MySQL server might be overloaded or crashed. Contact your host.
- Wrong database credentials. If someone changed the database password without updating
wp-config.php, the connection fails. VerifyDB_NAME,DB_USER,DB_PASSWORD, andDB_HOSTin your config file. - Database tables corrupted. Log into phpMyAdmin, select your database, and run “Repair Table” on any table that shows errors.
- Database disk quota exceeded. On budget hosting, your database has a size limit. Large log tables or spam comments can push you over.
6. Check PHP
If the server returns a blank page or a 500 error without a clear message, PHP may be crashing:
- Enable WP_DEBUG in wp-config.php to surface the actual error
- Check the PHP version — a recent server upgrade might have broken compatibility
- Look at PHP error logs in your hosting control panel
7. Check for Resource Limits
Many hosting providers impose CPU, memory, and I/O limits per account. If your site exceeds these — common during traffic spikes, cron jobs, or backup processes — the host temporarily suspends service.
Your hosting control panel usually shows current resource usage. If you’re hitting limits regularly, it’s time for a hosting upgrade, not more optimization on the same plan.
When to Escalate
If you’ve worked through this checklist and the site is still down — or if you identified the problem but don’t know how to fix it safely — it’s time for professional help. Guessing at fixes on a production site can make things worse.
Parameter’s emergency diagnostic is designed for exactly this situation. We get access to your site, identify the root cause, and deliver a clear action plan within 2 hours. The $250 diagnostic fee credits toward an annual Protect plan — which includes 24/7 monitoring so you find out about problems before your customers do.
Want WordPress to feel handled?
Self-serve onboarding takes minutes. Parameter takes care of the rest — hosting, ops, and improvements when you need them.