Skip to content
RU
← All articles

Website Not Loading: Why It Happens and a 10-Step Fix Checklist

A browser stuck on a blank page, a paper checklist and a router on the shelf

A website not loading is caused by one of five layers: your device or browser, your network or DNS resolver, the site's DNS records, its TLS certificate, or its server. Open the site on mobile data first: if it loads there, the fault is on your side; if it fails everywhere, the site itself is down.

Most guides that rank for this problem stop at "clear your cache and restart the router." That fixes a stale browser, but it does nothing for an expired certificate, a dead origin behind Cloudflare, or a domain nobody renewed. This checklist covers both sides: the first half is for visitors who just need the page to open, the second half is a 10-step diagnosis for site owners, with the exact commands and the error strings each layer produces.

Why can't I access a website all of a sudden?

When a site that worked yesterday stops opening today, something changed in one of the layers above. The error your browser shows usually names the layer, so read it before trying fixes at random:

What you seeLayerMost likely causeFirst thing to try
DNS_PROBE_FINISHED_NXDOMAIN, ERR_NAME_NOT_RESOLVED, "Server Not Found" (Firefox), "Safari can't find the server"DNSDomain expired, DNS records removed, or your resolver is failingCheck the domain from outside; switch to a public resolver
ERR_CONNECTION_TIMED_OUT, spinner that never endsNetwork / serverServer down, firewall dropping packets, routing problemTest from mobile data and from other regions
ERR_CONNECTION_REFUSEDServerNothing is listening on port 443/80, or a local firewall rejects itCheck the port from outside
ERR_CONNECTION_RESET, ERR_CONNECTION_CLOSEDNetwork / TLSMiddlebox, antivirus HTTPS scanning, or a filter cutting the connectionDisable HTTPS scanning, try another network
"Your connection is not private", NET::ERR_CERT_DATE_INVALIDTLSExpired certificate, or your device clock is wrongCheck the device date; check the certificate from outside
Error 5xx page (500, 502, 503, 504) or Cloudflare 52xServer / applicationThe site's backend or origin is failingNothing on your side; wait or tell the owner
Error 403 or Cloudflare 1020 "Access denied"Server policyA firewall or WAF rule blocks your IP, country, or browserTry another network; contact the site
Page loads partly, images or styles missingContent / networkA blocked third-party domain, an extension, broken IPv6, or an MTU problemPrivate window, then the "stuck loading" checks below

The meaning of every status code is defined in RFC 9110; the MDN status code reference is the readable version.

Why are some websites not loading today?

If several unrelated sites fail at the same moment, the common factor is usually shared infrastructure rather than each site: a large CDN or cloud provider having an incident, your ISP's DNS resolver going down, or a routing problem between your ISP and a hosting region. The quick test is to open the same sites on mobile data. If they load there, your ISP or home network is the common factor. If they fail on every network, the shared provider is, and all you can do is wait. An external availability check tells you in seconds whether a given site answers from the outside at all; the fork between "down for everyone" and "down just for me" is covered in detail in how to check if a website is down or it is just you.

Why do some websites not load but others do?

This is the classic "my internet works, but this one site won't open" case, and it almost always comes down to one of these:

  • Your DNS resolver fails for some names. The ISP resolver may return a stale address or nothing at all for one domain while resolving popular ones from cache. Switching to a public resolver (see below) is the fastest test.
  • Broken IPv6. If a site publishes an AAAA record and your network advertises IPv6 but does not actually route it, the browser tries IPv6 first and stalls. Sites without IPv6 load fine, which makes the fault look random. Compare curl -4 -I https://example.com with curl -6 -I https://example.com; if only -6 hangs, the problem is your IPv6 path. Background: IPv4 vs IPv6.
  • A filter on your network. Router parental controls, a DNS-based ad blocker, a corporate firewall or an antivirus web shield can block specific domains, including a CDN domain a site needs to render.
  • The site blocks you, not everyone. A WAF rule, a rate limit or a country block answers with 403, 429 or a Cloudflare 1020/1015 page for your IP only.
  • A stale HSTS or certificate state. A site that recently changed its certificate or HTTPS setup can fail in one browser profile and work in another.

How to fix a website that won't load (visitor side)

Work in this order; each step rules out one layer and costs less than a minute.

  1. Check another site and another network. Open a different site, then the problem site on mobile data. This separates "my connection," "this site," and "my network."
  2. Private window, then another browser. If the page opens in a private (incognito) window, an extension or cached data is to blame. Disable extensions one by one, starting with ad blockers and privacy tools. In Firefox, Help → Troubleshoot Mode starts it with extensions off. Step-by-step cache clearing for each browser is in how to clear browser cache.
  3. Flush the DNS cache. Windows: ipconfig /flushdns. macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Linux with systemd-resolved: resolvectl flush-caches. Chrome keeps its own cache: open chrome://net-internals/#dns and click "Clear host cache." More in the DNS cache flush guide.
  4. Switch the DNS server to a public resolver if the ISP's resolver returns a stale or empty answer. To test without changing settings: nslookup example.com 1.1.1.1 and compare with plain nslookup example.com. If the answers differ, your resolver is the problem.
  5. Check the hosts file. An old entry pins the domain to a dead address. Look in /etc/hosts on macOS and Linux, C:\Windows\System32\drivers\etc\hosts on Windows.
  6. Turn off the proxy and VPN client for a test. On Windows: Settings → Network & Internet → Proxy, make sure no manual proxy you do not recognize is set. A stale proxy or a VPN client in a failed state is a common reason for "nothing loads in the browser but apps work."
  7. Check the date and time on the device. A clock that is off by days breaks certificate validation and shows "Your connection is not private" on every HTTPS site.
  8. Restart the router if several sites fail only on your home network. It clears the router's DNS cache and NAT table.

How do I force a website to load?

You can force the browser to fetch a fresh copy, but you cannot force a server that is down to answer. A hard reload skips the cache for that page: Ctrl+Shift+R or Ctrl+F5 on Windows and Linux, Cmd+Shift+R on macOS. In Chrome with DevTools open, right-click the reload button and choose "Empty Cache and Hard Reload." If the site returns a 5xx error or times out from every network, no browser trick helps; for reading static content in the meantime, a cached copy in a public web archive is the only option.

Why do some websites get stuck loading?

A page that starts rendering and then spins forever usually waits on one resource that never arrives: a third-party script, a font, an API call or an image host that is blocked or slow. Open DevTools (F12) → Network and look for requests stuck in "pending" or marked red; the domain tells you whether it is the site's own server or a third party. Two network causes produce the same symptom. First, broken IPv6 (see above). Second, an MTU problem on VPN or PPPoE links, where small packets pass but large ones are silently dropped, so the TLS handshake or big responses stall. A quick test sends a large packet with "don't fragment" set: ping -M do -s 1472 example.com on Linux, ping -f -l 1472 example.com on Windows, ping -D -s 1472 example.com on macOS. If that fails while smaller sizes pass, the path MTU is below 1500.

Site not opening on iPhone or Android

On phones the same layers apply, with different buttons. On iPhone, clear Safari data under Settings → Safari → Clear History and Website Data, check Settings → Screen Time → Content & Privacy Restrictions for web content limits, and toggle Private Relay or a configured VPN profile off for a test. On Android, clear the site's data in Chrome settings (Privacy and security → Delete browsing data) and check Settings → Network & internet → Private DNS: a custom Private DNS hostname that has stopped working breaks name resolution for the whole phone. If a site opens on Wi-Fi but not on mobile data, or the other way around, the network, not the phone, is at fault.

Website owner: 10-step checklist

When your own site will not open, work from the outside in: scope, DNS, connectivity, TLS, response code, CDN, firewall, server, domain, regions. Most outages turn out to be DNS, an expired certificate, a downed origin, a firewall or Cloudflare block, or an expired domain, and each is visible within a couple of commands. The same order is laid out layer by layer in DNS, CDN, TLS or origin: how to isolate a web outage.

The first question is always the same: is it me or everyone? Don't spend time on the server if the outage is visible only from your point — and vice versa.

Steps 1–2. Just you or everyone? Check DNS

Step 1. Determine the scope. Open the site on your phone over mobile data (not office or home Wi-Fi) and check it from the outside via an availability check. If the site responds from outside but not for you, the problem is your network, cache or DNS resolver — not the site; go back to the visitor section above.

Step 2. Check DNS — does the domain resolve to an IP:

dig example.com +short        # should return an IP
dig example.com NS +short     # which nameservers are authoritative
nslookup example.com          # Windows and macOS alternative
Resolve-DnsName example.com   # PowerShell
# empty answer or NXDOMAIN — a problem with the DNS records or the delegation

No IP — go to the DNS check and the domain won't resolve breakdown. If there is an IP but the site fails only for you, a DNS cache is almost certainly to blame. After a recent DNS change, resolvers can disagree for the length of the old TTL; DNS propagation check shows what resolvers around the world currently return.

Steps 3–4. TCP connectivity and the SSL certificate

Step 3. Check connectivity:

ping example.com                              # does the host answer ICMP
curl -Iv --connect-timeout 10 https://example.com
Test-NetConnection example.com -Port 443      # PowerShell: is TCP 443 reachable

If ping works but curl hangs after "Connected" with no reply, the origin or the application isn't responding. If ping fails too, it's a network problem or the server is fully unreachable — although many servers block ICMP on purpose, so a failed ping alone proves nothing; the TCP test on port 443 is the one that counts. For a timeout, traceroute example.com (tracert on Windows) or mtr -rw example.com shows where along the route packets stop.

Step 4. Check the SSL certificate and expiry:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
# notAfter in the past = the certificate is expired

An expired certificate is one of the most common causes of "the site won't open" with a red browser warning. Faster to check via the SSL inspector: it shows the expiry, the issuer, and whether the server sends the whole chain. On fixing it — the expired-certificate breakdown.

Step 5. Look at the response code

The HTTP response code immediately narrows which side the problem is on. Get it without a browser:

curl -o /dev/null -s -w '%{http_code} connect=%{time_connect}s ttfb=%{time_starttransfer}s\n' https://example.com
CodeWhat it meansWhere to dig
NXDOMAINDNS won't resolveDNS Lookup, registrar, domain expiry
522 / 521Cloudflare couldn't reach the originOrigin down, firewall blocking Cloudflare — see Cloudflare 522
525 / 526SSL between Cloudflare and originOrigin cert, SSL mode in CF
1020Cloudflare WAF/Firewall blockSecurity rules, your IP banned
403 / 429Access denied / rate limitPermissions, rate limit, anti-bot
500 / 502 / 503App/backend errorApp logs, PHP/DB — see 502
504 / timeoutServer or upstream not responding in timeLoad, slow queries, network, origin down

Steps 6–7. Origin behind CDN and firewall

Step 6. Check the origin bypassing the CDN. If Cloudflare or another CDN sits in front, hit the origin's real IP directly, bypassing the proxy:

curl -Iv --resolve example.com:443:203.0.113.10 https://example.com

Origin answers directly but not through the CDN? The problem is the CDN configuration (or its block of your IP). Neither answers — fix the server.

Step 7. Check the firewall and blocks:

  • Has fail2ban banned your IP or Cloudflare's addresses? fail2ban-client status lists the jails; fail2ban-client status nginx-http-auth (or your jail name) shows banned IPs.
  • Are ports 80/443 open in ufw/iptables/the cloud security group? Check a port from outside with the port check.
  • Did a rate limit trip on the app, the reverse proxy or the CDN side?

Steps 8–9. Web server, application, and domain expiry

Step 8. Check the web server and app:

  • Is nginx/Apache running: systemctl status nginx (or apache2 / httpd).
  • Does the config still parse after the last change: nginx -t or apachectl configtest.
  • Is it listening on the ports: ss -tlnp | grep -E ':80|:443'.
  • What's in the logs: tail -n 50 /var/log/nginx/error.log.
  • Is the disk full: df -h. A full disk stops logging, sessions and databases at once.
  • Is the database alive and are the PHP-FPM workers not exhausted (a common cause of 502/503 under load).

Step 9. Check the domain expiry and hosting payment. A banal but regular cause: the domain registration expired or hosting went unpaid — and the site was simply switched off. Look at the date in WHOIS and at emails from the registrar and host. To prevent a repeat — put the domain on expiry monitoring.

Step 10. Check from several regions

A site can be down only from one country — a regional ISP outage, geo-blocking, or a routing problem. A check from several regions shows the scope. If it opens from the US but not from another country, it's not "the site is down" but a network or geo problem between that region and the server. For sites with a Russian audience, access from inside Russia has its own set of causes (state blocklists, restricted foreign CDNs); see checking availability from Russia.

How to check with enterno.io

enterno.io gathers most of this checklist onto one screen, checked from outside your network. The HTTP checker shows the response code, headers and redirect hops; the DNS check shows the records; the SSL inspector shows the certificate, chain and expiry; WHOIS shows the domain expiry. Uptime monitoring checks the site every minute (30 seconds on higher plans) from several regions and sends an alert to Telegram, Slack, email or a webhook before users report the outage — and the multi-region check answers "down globally or locally" at once. The free plan includes 10 monitors. enterno.io diagnoses and warns; the owner does the fixing on the server.

FAQ

Why are some websites not loading on my internet?

If the same sites open on mobile data, the cause is on your connection: the ISP's DNS resolver, broken IPv6, a router filter or parental control, or a block the site applies to your IP range. Flush the DNS cache, try a public resolver, and test curl -4 against curl -6.

Why does a site open in other browsers but not in Chrome?

Chrome has its own DNS cache, its own extensions and its own "secure DNS" setting. Try a private window, clear the host cache at chrome://net-internals/#dns, and check Settings → Privacy and security → Security → Use secure DNS. If Edge or Firefox opens the site, the problem is the Chrome profile, not the site.

Where to start if nothing is clear?

With step 1: open the site on your phone over mobile data and check it from outside. That instantly splits the problem into "local" and "global" and saves hours: in one case you fix your side, in the other the server.

The site opens for me, but a client complains?

Check from several regions and resolvers. The client may have a stale DNS cache, geo-blocking, a regional ISP outage, or DNS that hasn't updated yet after a site move.

How to tell a DNS problem from a server problem?

If dig returns no IP — it's DNS. If there is an IP but curl hangs or returns 5xx — it's the server or app. The in-between case (522/525) is a problem between the CDN and origin.

What to do if outages are short and elusive?

Set up monitoring at a 1-minute interval — it catches what a manual check misses. How to diagnose flapping availability is in the article on intermittent downtime.

Next step: run the site through the HTTP checker, DNS and SSL, then enable monitoring. See also the website monitoring guide.

Check your website right now

Monitor your site continuously →
More articles: Monitoring
Monitoring
Top 10 Website Monitoring Services 2026: Features and Pricing
01.04.2026 · 961 views
Monitoring
Check if Website Is Accessible from Russia: Blocks, TSPU, CDN
15.06.2026 · 882 views
Monitoring
How to Check if a Site Is Blocked in Russia (RKN)
15.06.2026 · 823 views
Monitoring
Best Free Uptime Monitoring 2026
15.06.2026 · 762 views