
Whether you're troubleshooting a potential outage, verifying a deployment, or setting up ongoing availability monitoring, knowing how to check website availability is a fundamental skill. This guide covers the tools and methods available — from quick one-off checks to continuous automated monitoring.
The simplest check: open your website in a browser. If it loads, it's available. If you get an error, note the error code — it tells you what type of failure you're dealing with (see the troubleshooting guide at is my website down right now).
Limitation: This only tests from your location. A working site for you might be down for users elsewhere.
Switch your phone to mobile data (disable WiFi) and visit the site. This tests from a different IP address and network, ruling out local network or ISP issues.
Web-based tools check your site from multiple geographic locations simultaneously. Domain Monitor provides this functionality — enter a URL and see results from monitoring nodes in different regions within seconds.
This answers the question: "Is the site down everywhere, or just for me?"
For developers and sysadmins, command-line tools provide more detail:
# Basic availability check
curl -I https://yourdomain.com
# Check with timing information
curl -w "%{http_code} | Time: %{time_total}s | DNS: %{time_namelookup}s\n" \
-o /dev/null -s https://yourdomain.com
# Follow redirects
curl -IL https://yourdomain.com
The -I flag fetches only headers — faster than a full page download and sufficient to confirm availability. A 200 status code means the server responded successfully.
# Check if URL is accessible
wget --spider https://yourdomain.com
# Save output to file
wget -O /dev/null https://yourdomain.com 2>&1
Before HTTP availability, check if DNS resolves:
# Check DNS resolution
nslookup yourdomain.com
# More detailed DNS check
dig yourdomain.com
# Check from a specific DNS server
dig @8.8.8.8 yourdomain.com
If DNS doesn't resolve, the site is unreachable regardless of whether the web server is running.
ping yourdomain.com
Tests network-layer reachability. Note that many servers block ICMP ping — no ping response doesn't necessarily mean the site is down, just that ICMP is filtered.
traceroute yourdomain.com # Linux/Mac
tracert yourdomain.com # Windows
Shows the network path to your server. Useful for identifying where in the network path connectivity is lost.
A valid SSL certificate is part of availability — an expired cert makes your site effectively unavailable for most users:
# Check SSL certificate details
echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | \
openssl x509 -noout -dates
# Quick expiry check
echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | \
openssl x509 -noout -enddate
For ongoing SSL monitoring with advance expiry alerts, see SSL certificate monitoring.
Your website might be available in Europe but inaccessible in North America due to:
A single-location check misses these regional failures.
Using online tools: Multi-location monitoring services like Domain Monitor maintain monitoring nodes in multiple continents and can test your URL from all of them simultaneously.
Manual multi-location testing:
For production websites, automating these multi-location checks is far more reliable than manual spot-checks. See the guide on multi-location uptime monitoring.
Web applications often depend on APIs that need their own availability checks:
# Check API endpoint availability
curl -X GET https://api.yourdomain.com/health \
-H "Content-Type: application/json"
# Check with authentication
curl -X GET https://api.yourdomain.com/v1/status \
-H "Authorization: Bearer your-token"
# Check POST endpoint
curl -X POST https://api.yourdomain.com/v1/check \
-H "Content-Type: application/json" \
-d '{"test": true}'
For comprehensive API monitoring, monitoring API uptime covers the full approach.
One-off checks tell you if the site is available now. Continuous monitoring tells you if the site is available at all times — and alerts you the moment it isn't.
Setting up automated availability monitoring:
This is the difference between reactive monitoring ("I noticed it was down") and proactive monitoring ("I was alerted the moment it went down"). The full setup process is in how to set up uptime monitoring.
| Result | What It Means |
|---|---|
| 200 OK | Available and responding normally |
| 301/302 Redirect | Available — redirecting to another URL |
| 403 Forbidden | Server available, but access denied |
| 404 Not Found | Server available, but page doesn't exist |
| 500 Internal Server Error | Server available, application error |
| 502 Bad Gateway | Proxy up, backend application down |
| 503 Service Unavailable | Server intentionally refusing requests (maintenance) |
| Connection timeout | Server unreachable — network or server issue |
| DNS resolution failure | Domain not resolving |
| SSL error | Certificate problem |
For 5xx errors and connection failures, see the full troubleshooting guide at how to check if website is down.
For automated availability monitoring from multiple global locations, start at Domain Monitor.
Generative AI creates new content — text, images, code, and more. This guide explains how it works, what tools are available, and where it's genuinely useful versus overhyped.
Read moreCursor AI is an AI-powered code editor built on VS Code. Learn what it does, how it works, and whether it's the right tool for your development workflow.
Read moreClaude Opus is Anthropic's most capable AI model, built for complex reasoning and demanding tasks. Learn what it does, how it compares, and when to use it.
Read moreLooking to monitor your website and domains? Join our platform and start today.