When a website doesn't load, you need to know what happened. Is it your connection? The server? A specific feature? The answer determines your next move. A slow site might work fine in 30 seconds. A broken site loads but shows errors. A down site returns nothing. These aren't just different problems—they require different solutions. Understanding which one you're facing saves time and prevents false troubleshooting.
Slow: The Site Loads, Just Not Fast
A slow website responds, but takes longer than expected. You'll see the page start rendering, elements load progressively, or the browser's loading indicator spin. HTTP status codes return 200 (success), but the server takes 10+ seconds to respond. Check this by opening DevTools (F12 in Chrome), going to the Network tab, and refreshing. Look at the 'Time' column—anything over 5 seconds is noticeably slow for most users. Slow sites are usually caused by database queries, unoptimized assets, or server resource constraints. The site is alive; it's just struggling.
Broken: The Site Loads But Shows Errors
A broken site loads HTML and assets but displays error messages or partial content. You'll see HTTP status codes like 500 (server error), 502 (bad gateway), 503 (service unavailable), or 404 (not found). The page might render halfway, with missing images or blank sections. Sometimes JavaScript fails silently—the page loads but interactive features don't work. Check your browser console (F12, Console tab) for red error messages. A broken site is partially functional. Users can see something, but the experience is degraded. This often indicates a failed deployment, database connection issue, or misconfigured service.
Down: No Response, Just Silence
A completely down website returns nothing. Your browser either times out (waits 30+ seconds with no response) or immediately shows 'connection refused' or 'ERR_CONNECTION_REFUSED'. No HTML loads. No status code is returned because the server never responds. This is the clearest failure state. Use ping or curl from terminal to confirm: `curl -I https://example.com` will show connection errors or timeout. A down site means the server is offline, the domain isn't resolving, or the hosting infrastructure is unreachable. This affects all users globally—not a regional or user-specific issue.
The Non-Obvious Part: Your ISP Might Be Lying
Here's what most people miss: your ISP can inject fake HTTP responses or intercept connections without the server knowing. Some ISPs block sites and return a fake 'site down' page. DNS can be poisoned or redirected. Your local network might be blocking access while the site runs fine elsewhere. To verify the site's actual status, use an external monitoring service like WebsiteDown or third-party tools. Check from multiple locations. If you can't reach a site but others can access it fine, the problem is between you and the internet, not the site itself. This distinction matters for troubleshooting.
What to Do Right Now
First, check the site from your phone on mobile data—eliminates your home network. Second, open DevTools Network tab and refresh; look at response codes and response times. Third, use an uptime checker to see if others report the site down. Fourth, check the site's status page or social media for announcements. If the site is slow, wait or try again later. If it's broken, report it to the site owner but expect partial functionality. If it's down, there's nothing you can do—wait for the provider to fix it. Knowing which one you're facing prevents wasted troubleshooting time.