All posts
Blog

Is My Website Down? How to Check, Find the Cause, and Fix It Fast

By Dakshesh14 min read

  • website down checker
  • website not loading
  • 503 service unavailable
  • SSL certificate expired
Continue with GoogleFree plan · No credit card required

In short

Your site won't load. Here's how to tell if it's down for everyone or just you, what each error means (502, 503, DNS, SSL, database), and how to get back online fast.

Summarize with AI

Opens the assistant in a new tab with a link to this post.

Is My Website Down? How to Check, Find the Cause, and Fix It Fast

Your website won't load. Maybe a customer emailed. Maybe you tried to open it and got an error, or a blank page, or a spinner that never stops. Your first question is simple: is my website actually down?

Your second question is the one that matters: why, and how fast can I fix it?

This guide walks through both, in the order that gets you back online fastest. First, confirm whether the site is down for everyone or just for you. Then work out which part is failing from the error you see. Then fix it. And once you're back up, set things up so the next outage reaches you before your customers do.

Step 1: Is it down for everyone, or just you?#

A surprising share of "my site is down" moments turn out to be a problem on the viewer's side. Before touching your server, spend two minutes ruling that out.

Try a different network and device. Open the site on your phone using mobile data, with Wi-Fi turned off. If it loads there, the problem is likely your local network, your computer, or your internet provider, not your website.

Use an online down checker. Services like "Down for everyone or just me" and "Is It Down Right Now" check your site from their servers. If they can reach it, your site is up for the world.

Check the HTTP status. A status checker tells you what your server actually returns: 200 means OK, 3xx means a redirect, 4xx means the request was refused or the page wasn't found, 5xx means the server itself had a problem. MyKavo's free Bulk URL Status Checker does this for up to 20 URLs at once, so you can also see whether the whole site is affected or only some pages.

Clear your cache or try a private window. Browsers and some networks cache old versions of pages, including error pages. A private window with a hard refresh rules that out.

If the site loads for others but not for you, the culprits are usually your DNS cache, a browser extension, a firewall or VPN, or your IP address being blocked by the site's own security settings (common after several failed logins). If it's down for everyone, keep going.

Step 2: Read the error, because it tells you where to look#

The exact thing you see narrows the cause enormously. Here's what the common ones mean.

"This site can't be reached" or "Server not found"#

The browser couldn't even find your server. This almost always points to DNS or your domain.

  • Expired domain. Check your domain registrar. If the renewal failed (expired card, old email address, auto-renew switched off), the domain stops resolving. Many registrars give a grace period, so act immediately.
  • DNS records changed or broken. If someone changed nameservers, moved hosting, or edited DNS records recently, the records may point to the wrong place. Check them in your DNS provider's dashboard.
  • DNS still propagating. After DNS changes, it can take a while for the whole internet to see the new records. If you just changed them, some visitors may see the old or no result for a period.

"Your connection is not private" or certificate errors#

The site responds, but the browser doesn't trust its SSL certificate. The usual reason is simple: the certificate expired. Most hosts renew free certificates automatically, but renewal fails more often than people expect, for example after a DNS change or when a domain points somewhere new. Check the certificate's expiry date (click the padlock or warning icon in the address bar), then renew or reissue it from your hosting panel.

To visitors, an expired certificate looks like a scary security warning, which is effectively an outage: almost nobody clicks through.

500 Internal Server Error#

The server hit an error it couldn't handle. On WordPress and similar platforms, the usual suspects are a plugin or theme conflict, a corrupted .htaccess file, or hitting a PHP memory limit. If this started right after an update, that update is the prime suspect. Check your server's error log, which your host usually makes available in its control panel, for the exact message.

502 Bad Gateway#

A server in the middle, like a proxy, load balancer, or CDN, got a bad response from the server behind it. Often the application server crashed, is overloaded, or is restarting. Check your hosting dashboard for server status, restart the service if you can, and look for a traffic spike or a process that ran out of memory.

503 Service Unavailable#

The server is up but temporarily can't handle the request, because it's overloaded, in maintenance mode, or out of resources. On WordPress, a stuck maintenance mode after a failed update shows up this way: a ".maintenance" file left in the site's root folder keeps the site in maintenance. Deleting that file brings the site back.

504 Gateway Timeout#

A server in the middle waited too long for a response. Slow database queries, a server under heavy load, or a long-running process are common causes. Check for a traffic spike, heavy background jobs, or a recent change that made pages much slower.

Cloudflare 52x errors#

If your site uses Cloudflare, errors in the 520s point to problems between Cloudflare and your server. 521 means your server refused the connection (often it's down). 522 means the connection timed out. 523 means Cloudflare couldn't reach your server at all. 525 and 526 relate to SSL between Cloudflare and your server. In each case, Cloudflare is usually working fine. Your origin server is the thing to check.

"Error establishing a database connection" (WordPress)#

WordPress can't reach its database. Either the database server is down, the login details in wp-config.php are wrong (often after a migration or a password change), or the database is corrupted. Check your host's status page first, then the database credentials.

A blank white page#

A white screen with no error usually means a fatal PHP error with error display switched off. On WordPress, since version 5.2, you'll often see "There has been a critical error on this website" instead, and the admin email receives a Recovery Mode link to log in and deactivate the broken plugin or theme.

403 Forbidden#

The server understood the request and refused it. If this appears across the whole site, check file and folder permissions (a migration or a security script sometimes sets them wrong), your .htaccess file, and any security plugin or firewall rule that might be blocking all visitors, or blocking a whole country or network by mistake.

"Too many redirects"#

The browser gave up because the page kept redirecting in a loop. This usually happens after changes to HTTPS settings, the site URL, or a CDN's SSL mode, where two rules keep sending visitors back and forth. Check your site URL settings (on WordPress, Settings > General), your redirect rules, and your CDN's SSL setting, then clear your browser cookies for the site and test again.

Step 3: Fix it, in this order#

With the error identified, here's the fastest path back online.

  1. Check your host's status page. If your host is having an outage, there's nothing to fix on your side. Your job becomes communicating with customers and waiting.
  2. Think about what changed. Most outages follow a change: an update, a deploy, a DNS edit, a new plugin, an expired payment method on the hosting or domain account. Whatever changed right before the outage is your first suspect.
  3. Undo the most recent change. Roll back the deploy, deactivate the plugin you just updated, revert the DNS edit. If you can't log into WordPress, rename the plugin's folder in wp-content/plugins using SFTP or your host's file manager to deactivate it.
  4. Check renewals. Domain, SSL certificate, and hosting account. Expired renewals are the most embarrassing outages because they're so avoidable.
  5. Check resources. Disk space full, memory limits hit, too many processes. Your hosting dashboard usually shows these.
  6. Restore from backup if you can't find the cause and the site needs to be back up now. Investigate after.
  7. Contact your host's support with the exact error, the time it started, and what you've already checked. That gets you to a real answer faster.

Step 4: Tell people while you fix it#

If the outage lasts more than a few minutes, communication matters almost as much as the fix.

A simple status page, hosted somewhere other than your main site so it stays up when the site doesn't, gives customers one place to check. A short post on your social channels helps too. For online stores, consider whether to pause ad campaigns so you're not paying for clicks that land on an error page.

Afterward, write down what happened: when it started, when you noticed, what caused it, and what you changed so it doesn't happen again. The gap between "when it started" and "when you noticed" is the number worth improving.

The outages uptime checks never catch: when the site is "up" but broken#

There's a second kind of outage that down checkers don't see at all. The server responds. Every status check returns 200 OK. The site is technically up. But the checkout button doesn't work, the contact form stopped sending, a page is blank where the main content should be, or the layout broke on mobile after an update.

For visitors, this is just as bad as the site being down, sometimes worse, because they try, fail, and leave without telling you. And because nothing looks down, it can last for days.

This is why "is my website down?" is really two questions: is the server responding, and are the pages that matter still working? A complete setup watches both.

How to know about the next outage before your customers do#

Most outages are discovered by customers. That's the thing to change. A solid setup has four parts.

Uptime checks every minute or few minutes. A dedicated uptime monitor pings your site on a short interval and alerts you when it stops responding. UptimeRobot's free plan covers 50 monitors at five-minute intervals, which is plenty for most sites. This is the layer that catches full outages fast.

Renewal alerts for SSL and domain. Expiry dates are the most predictable outages there are. Get warned weeks ahead, not on the day.

Checks on the pages that matter. Watch the content, scripts, forms, and layout of your key pages, so the "up but broken" outages are caught too.

Alerts somewhere you'll actually see them. An email you check twice a day is not an alert. Push notifications, Slack, or SMS for critical problems. And route by severity, so real emergencies don't drown in minor notices.

Where MyKavo fits into this#

MyKavo is our product, so here's exactly what it covers and what it doesn't.

MyKavo watches your sites' availability and HTTP status, shows uptime, and tracks SSL certificate and domain expiry dates on the dashboard, so the most avoidable outages come with warning. For agencies, public status pages and uptime badges come built in.

Where MyKavo goes further than a basic uptime checker is the "up but broken" problem. It compares your key pages against a baseline you approved and flags what changed: missing buttons, removed payment or analytics scripts, broken links, content that disappeared, layout changes, and SEO tags. Each alert shows the before and after and is ranked by severity, and alerts go to email, Slack, Discord, or a webhook. If you're in the Android app's early access, critical and high-severity alerts reach your phone as push notifications, and you can run a scan and watch it progress from wherever you are. (The iOS app is on the way. Until then, the web dashboard works in a mobile browser.)

On WordPress, the free MyKavo plugin checks your pages after every plugin, theme, and core update, which is when a lot of outages and breakages start.

What it isn't: MyKavo is not a minute-by-minute uptime pinger. If you need to know within a minute or two that your server stopped responding, pair it with a dedicated uptime tool like UptimeRobot's free plan. They do different jobs, and together they cover both kinds of outage: the site that's down, and the site that's up but broken.

A quick outage checklist#

  1. Test from another network and a down checker. Down for everyone, or just you?
  2. Check the HTTP status of your key pages.
  3. Read the error: DNS, SSL, 5xx, database, or blank page.
  4. Check your host's status page.
  5. Identify and undo the most recent change.
  6. Check domain, SSL, and hosting renewals.
  7. Check server resources.
  8. Restore from backup if needed. Contact support with specifics.
  9. Tell customers on a status page or social channels.
  10. Afterward, set up monitoring so you hear about the next one first.

Frequently asked questions

How do I check if my website is down for everyone?

Use an online checker like "Down for everyone or just me," or open your site on your phone with Wi-Fi turned off. If it loads from elsewhere, the problem is on your side: your network, browser, DNS cache, or a security block on your IP address.

Why is my website down?

The most common causes are an expired domain or SSL certificate, DNS changes, a hosting outage, a server overloaded or out of resources, and a recent update or deploy that broke something. The error message you see tells you which to check first.

What does a 502 Bad Gateway error mean?

A proxy, load balancer, or CDN in front of your server got an invalid response from the server behind it. Usually the application server crashed, is overloaded, or is restarting. Check your hosting dashboard and restart the service if you can.

How do I fix "Error establishing a database connection" in WordPress?

Check whether your host's database server is having problems, then confirm the database name, user, password, and host in wp-config.php are correct, especially after a migration or password change. If those are right, the database may need repair.

How can I get alerted when my website goes down?

Use an uptime monitor that checks your site every few minutes and alerts you by push notification, SMS, or Slack. For problems where the site is up but broken, add a tool that monitors the content and function of your key pages.

Can a website be up but still broken?

Yes. A server can respond normally while a checkout button, form, script, or page layout is broken. Basic uptime checks won't catch this. Monitoring the pages themselves for changes will.

The bottom line#

When your website is down, the error message tells you where to look: DNS and domain, SSL, the server, the database, or the most recent change. Work through them in order and most sites are back up quickly. The bigger win is what comes after: making sure the next outage, including the quiet "up but broken" kind, reaches you before it reaches your customers.

Check your key pages now with the free Bulk URL Status Checker, then pair a free uptime checker with MyKavo for SSL and domain expiry warnings and alerts on the pages that break while your server stays up. Start free and let the next outage come with a warning.

Share this post

Get alerted when your site breaks. Free, no card.

Start free