What counts as a WordPress emergency?
Not every glitch qualifies. A broken contact form is frustrating. A site returning a 500 error to every visitor, that is an emergency. The distinction matters because emergencies require a different response: faster action, fewer diagnostic steps before intervening, and sometimes accepting a temporary workaround to restore service while you investigate the root cause.
Situations I categorize as genuine emergencies:
| Scenario | Impact | Typical Cause |
|---|---|---|
| Complete site down (500 or connection refused) | All visitors affected, revenue stops | Server crash, PHP fatal, database gone |
| Homepage redirecting to spam site | Brand damage, Google penalty risk | Active hack / malware injection |
| SSL certificate expired | Browser blocks all visitors | Certificate renewal failed |
| Domain not resolving | Site unreachable entirely | DNS misconfiguration or expired domain |
| Admin dashboard locked out | Cannot manage or fix anything | Corrupted user table, changed credentials |
If your problem is on this list, keep reading. If it is something narrower; a white screen on specific pages or 404 errors after an update then those have dedicated guides.
How do you diagnose why your WordPress site went down?
Before you touch anything, spend 60 seconds confirming what is actually broken. I have seen people reinstall WordPress when the problem was their ISP blocking port 443. Quick triage saves hours.
Check 1: Is it just you?
Load your site from a different network; use your phone on cellular data, or a free tool like downforeveryoneorjustme.com. If the site loads elsewhere, the problem is your network, DNS cache, or ISP.
Check 2: Is the server responding at all?
Try loading the server’s IP address directly (skip DNS). If you get a response (even an error page), the server is alive and the problem is either WordPress-level or DNS-level.
curl -I http://YOUR.SERVER.IP
A connection timeout means the server itself is down or unreachable. A fast error response (403, 500, 502) means the server is up but something higher in the stack is broken.
Check 3: What does the error say?
| Error | What It Means | Next Step |
|---|---|---|
| 500 Internal Server Error | PHP crashed or .htaccess is malformed | Check error logs |
| 502 Bad Gateway | Web server is up, PHP processor is down | Restart PHP-FPM |
| 503 Service Unavailable | Server overloaded or in maintenance mode | Check resource usage |
| 504 Gateway Timeout | PHP process is hanging | Kill hung processes |
| ERR_CONNECTION_REFUSED | Nothing is listening on port 80/443 | Server down or firewall |
| ERR_NAME_NOT_RESOLVED | DNS failure | Check DNS records |
Check 4: What changed recently?
This is the question I always ask first when someone calls about a downed site. In twelve years of WordPress work, the answer is almost always something changed. An update was applied. A plugin was installed. DNS records were edited. Hosting was migrated. The server ran out of disk space from accumulated backups.
If nothing changed on your end, the cause is usually hosting infrastructure (server hardware failure, network issue, or your host ran into capacity problems).
How do you fix a WordPress site that is completely down?
The approach depends on the error code from your triage. Here are the most common paths:
Server not responding (connection refused/timeout)
You cannot fix what you cannot reach. Your options:
- Log into your hosting control panel (cPanel, Plesk, or your VPS provider’s dashboard) and check server status
- If you have SSH access, try connecting and if SSH works but HTTP does not, the web server (Apache/Nginx) is down
- Restart the web server if you have access:
sudo systemctl restart nginx
# or
sudo systemctl restart apache2
- If you cannot connect via SSH either, the server is genuinely down. Contact your host immediately. On shared hosting, you are dependent on their response time. On a VPS, you can force-reboot from the provider dashboard.
500 Internal Server Error
This is the most common WordPress emergency. The server is running but PHP is crashing.
Quick fixes in order of likelihood:
- Rename .htaccess via FTP: if a plugin wrote bad rewrite rules, this instantly bypasses them
- Check disk space: a full disk prevents PHP from writing temporary files, which triggers 500 errors on every request
df -h
- Check PHP error log: the actual error is logged somewhere. On most hosts it is in
/var/log/or in your site’s root directory aserror_log - Increase PHP memory in wp-config.php if the log shows memory exhaustion
- Rename the plugins folder via FTP (wp-content/plugins to wp-content/plugins-disabled) – this deactivates all plugins at once without needing wp-admin access
The PHP error log is your single most valuable diagnostic tool. Every 500 error writes a message there. Find it and read it before trying random fixes.
502 Bad Gateway
This means your web server (Nginx or Apache reverse proxy) is running, but the PHP processor behind it has died.
sudo systemctl restart php8.2-fpm
Replace the PHP version with whatever your server runs. If PHP-FPM keeps dying after restart, check for a recurring fatal error in the PHP-FPM log that is crashing the process pool.
Database connection errors
If you see the WordPress message about being unable to establish a database connection:
- Is MySQL/MariaDB running?
sudo systemctl status mariadb
- Has the database password changed? Check wp-config.php credentials against your actual database user.
- Has the database hit its connection limit? Common on shared hosting during traffic spikes.
- Is the database corrupted? WordPress has a built-in repair tool:
Add this to wp-config.php temporarily:
define('WP_ALLOW_REPAIR', true);
Then visit yoursite.com/wp-admin/maint/repair.php — remove the constant after repair completes.
What should you do about DNS or SSL emergencies?
DNS not resolving
If your domain stopped resolving entirely, check:
- Domain expiration: log into your registrar and confirm the domain has not expired
- Nameserver records: are they pointing to the correct hosting provider?
- DNS propagation: if you recently changed nameservers, allow 24-48 hours (though most propagation completes within 2-4 hours)
DNS issues are deceptive because you cannot fix them instantly even once you identify the problem. If your domain expired, most registrars have a grace period for renewal without penalty. Renew immediately — do not wait.
SSL certificate expired
Browsers will block all visitors from reaching your site if SSL is expired. It looks like a complete outage to non-technical users.
If you use Let’s Encrypt (most common on VPS):
sudo certbot renew --force-renewal
sudo systemctl reload nginx
If renewal fails, check that port 80 is accessible (Let’s Encrypt needs it for HTTP-01 validation) and that your DNS still points to the correct server.
On managed hosting, SSL renewal is automatic. If it failed, contact your host — it is usually a configuration issue on their end.
How do you prevent WordPress emergencies in the first place?
After recovering from an emergency, the question becomes: how do you stop this from happening again? Patterns I have observed over hundreds of incidents:
Sites that go down repeatedly share common traits:
- No monitoring: the owner finds out from customers, not alerts
- No pre-update snapshots: updates that break things cannot be rolled back quickly
- Disk space never checked: backups accumulate until the server fills up
- PHP and WordPress versions left outdated: known vulnerabilities get exploited
- Single point of failure: one plugin controlling a critical function with no fallback
What actually prevents emergencies:
- Uptime monitoring that alerts you within 60 seconds of downtime (UptimeRobot, Hetrix, or similar)
- Full-site snapshots before every update; if the update breaks something, restore in under a minute
- Automated SSL certificate renewal with monitoring for renewal failures
- Regular disk space and database size monitoring
- A documented recovery procedure so you are not figuring it out under pressure
A WordPress maintenance plan handles all of this proactively. But if you prefer managing it yourself, the key is monitoring. You cannot fix what you do not know is broken.
When should you call for professional emergency WordPress help?
Handle it yourself if the cause is clear and the fix is within your technical comfort zone. Resaving permalinks, restarting a service, renewing an SSL certificate – these are straightforward for anyone comfortable with a terminal or FTP client.
Escalate when:
- You cannot identify the cause after 20 minutes of diagnosis
- The server is completely unreachable and your host is not responding
- You suspect a security breach (redirects to spam, unknown admin accounts)
- The site keeps crashing after you fix the immediate issue
- You are losing revenue every minute and cannot afford trial-and-error
The cost of extended downtime almost always exceeds the cost of professional help. A site earning even modest revenue loses more to a four-hour outage than a one-time fix costs.
Frequently Asked Questions
If you cannot diagnose the cause within 15-20 minutes of active troubleshooting, the problem is likely beyond a quick self-fix. Extended downtime compounds: search engines re-crawl and record the error, customers lose trust, and cached pages expire. For revenue-generating sites, every hour matters.
Yes. A plugin or theme update can introduce a PHP fatal error that crashes the entire site. This is why pre-update snapshots exist — they let you roll back to the exact state before the update in under 60 seconds. Without snapshots, you are stuck diagnosing and fixing the conflict manually while the site stays down.
A full-site snapshot restore. If you have a recent backup (database and files), restoring it bypasses all diagnosis entirely. The site returns to its last working state in one to two minutes. This is why snapshots before every change turn a potential hours-long emergency into a 60-second rollback.
Site down and need it fixed now?
We diagnose and resolve WordPress emergencies with priority response.