"My Website is Down" Checklist¶
A systematic guide to diagnose why a website isn't loading.
Quick Checks (30 seconds)¶
Before diving deep, rule out the obvious:
- Try a different browser - Could be a browser cache issue
- Try incognito/private mode - Rules out extensions and cache
- Try on your phone (mobile data) - Rules out your network
- Ask someone else to try - Confirms if it's just you
- Check isitdownrightnow.com - Third-party confirmation
Step 1: Is It Just You?¶
Check from multiple locations¶
Down for Everyone or Just Me: - isitdownrightnow.com - downforeveryoneorjustme.com
If it's just you:
- Clear browser cache
- Flush DNS: ipconfig /flushdns (Windows) or sudo dscacheutil -flushcache (Mac)
- Try a different network
- Check if your IP is blocked
Step 2: What Error Are You Seeing?¶
| Error | Likely Cause | See Section |
|---|---|---|
| "This site can't be reached" | DNS or network issue | DNS Checks |
| "Connection refused" | Server not running | Server Checks |
| "Connection timed out" | Firewall or server overload | Server Checks |
| "SSL certificate error" | Certificate issue | SSL Checks |
| 500 Internal Server Error | Application error | Application Checks |
| 502 Bad Gateway | Backend server issue | Application Checks |
| 503 Service Unavailable | Server overloaded | Server Checks |
Step 3: DNS Checks¶
DNS translates your domain name to an IP address. If this fails, the site won't load.
Check DNS Resolution¶
Using nslookup:
Using dig:
Expected: Should return an IP address
Common DNS Issues¶
| Problem | Symptom | Solution |
|---|---|---|
| No DNS record | "Server not found" | Check DNS configuration |
| Wrong IP | Wrong site loads | Update A record |
| DNS not propagated | Works for some, not others | Wait (up to 48 hours) |
| DNS provider down | No resolution | Check provider status |
Check DNS Propagation¶
Use whatsmydns.net to see if DNS has propagated globally.
Step 4: Server Checks¶
Can You Reach the Server?¶
Ping the server:
Check if port 80/443 is open:
Or use an online port checker.
Server Status¶
- Check hosting provider status page - Many providers have status.provider.com
- Check server resources - CPU, memory, disk space
- Check if services are running - Web server, database
Common Server Issues¶
| Problem | Symptom | Solution |
|---|---|---|
| Server offline | No response | Contact hosting provider |
| Web server stopped | Connection refused | Restart Apache/Nginx |
| Server overloaded | Timeouts, slow | Scale up or optimise |
| Firewall blocking | Connection refused | Check firewall rules |
| Disk full | Various errors | Free up disk space |
Step 5: SSL/HTTPS Checks¶
Check SSL Certificate¶
Using openssl:
Online checkers: - SSL Labs (ssllabs.com/ssltest) - SSL Shopper Checker
Common SSL Issues¶
| Problem | Error Message | Solution |
|---|---|---|
| Certificate expired | "Certificate has expired" | Renew certificate |
| Wrong domain | "Certificate name mismatch" | Get cert for correct domain |
| Self-signed | "Not trusted" | Use a proper CA |
| Mixed content | Padlock warning | Fix HTTP resources on HTTPS page |
| Chain incomplete | "Unable to verify" | Install intermediate certificates |
Quick SSL Fixes¶
Check expiry:
For Let's Encrypt, renew:
Step 6: Application Checks¶
If the server responds but you see an error page.
Check Application Logs¶
Apache:
Nginx:
Application logs: Check your app's log directory
Common Application Issues¶
| Problem | Symptom | Solution |
|---|---|---|
| Database down | 500 error | Restart database |
| Out of memory | 500/502 error | Restart app, add memory |
| Code error | 500 error | Check logs, fix code |
| Permissions | 403/500 error | Fix file permissions |
| Missing files | 404/500 error | Check deployment |
Database Checks¶
MySQL:
PostgreSQL:
Step 7: Quick Fixes to Try¶
Restart Services¶
# Restart web server
sudo systemctl restart nginx
# or
sudo systemctl restart apache2
# Restart application
sudo systemctl restart your-app
# Restart database
sudo systemctl restart mysql
Clear Caches¶
WordPress: - Clear cache plugin (W3 Total Cache, WP Super Cache, etc.) - Clear object cache
Cloudflare: - Dashboard → Caching → Purge Everything
Server-side:
Step 8: Still Down?¶
Gather Information¶
Before contacting support, collect:
- Exact error message
- URL that's failing
- When it started
- What changed recently (deployments, DNS changes, etc.)
- Screenshots
- Any relevant logs
Contact¶
- Hosting provider - Server issues, network issues
- Domain registrar - DNS configuration issues
- Your developer - Application issues
- CDN provider - If using Cloudflare, etc.
Prevention¶
Monitoring¶
Set up monitoring to catch issues early:
- Uptime monitoring - UptimeRobot, Pingdom
- SSL monitoring - Get alerts before certificates expire
- Server monitoring - CPU, memory, disk alerts
Backups¶
Ensure you have:
- Regular automated backups
- Tested restore procedure
- Off-site backup copies
Documentation¶
Keep records of:
- Server access details
- DNS configuration
- SSL certificate renewal process
- Contact information for all providers