Shopify store uptime monitoring
Shopify keeps its own servers up, so the useful thing to monitor is what Shopify does not watch for you: your storefront on your custom domain and any app or webhook endpoint you host yourself, each with an HTTP check that sends a Telegram alert when it stops answering.
Shopify runs the servers, the checkout and the CDN, and it does that well. Its status page at shopifystatus.com reports platform components such as Storefront, Checkout and Admin, and you can subscribe to it. What it does not report is your store. Shopify can be fully operational while your custom domain points somewhere else after a registrar change, or the app that syncs your orders has been returning 500 since Tuesday. Those are the failures worth an uptime check, because nobody at Shopify is watching them for you.
What Shopify status covers, and what it does not
On Cyber Monday 2025, merchants were locked out of Admin and POS for several hours while storefronts and checkouts kept selling. Shopify called it a system degradation. That is the right level of detail for a platform page and the wrong one for you: it tells you Shopify is having a bad day, never that your store is the one with the problem.
What is worth a check
- Your storefront on the primary domain. It fails when the domain stops pointing at Shopify, which is usually someone editing records at the registrar.
- One product page. It runs more of the theme than the homepage, and it is the page your ads send people to.
- Your app backend, if you built one. The Shopify app template is a React Router app with Prisma, and it runs on your server, not on Shopify.
- Your webhook receiver. Shopify waits 5 seconds, retries 8 times over 4 hours, then deletes subscriptions created through the Admin API. One dead afternoon can cost you the subscription, not just the events.
See what a monitor will see
# Status code, final URL after redirects, total time
for url in \
https://yourstore.com/ \
https://yourstore.com/products/best-seller \
https://your-app.example.com/healthz; do
curl -sL -o /dev/null \
-w "%{http_code} %{url_effective} %{time_total}s\n" "$url"
doneIf you built an app from the template, give it a health route that touches the session database. With flat routes, this file answers at /healthz and sits outside the authenticated app routes.
import prisma from "../db.server";
export async function loader() {
const headers = { "Cache-Control": "no-store" };
try {
// One cheap query: the session database answers
await prisma.$queryRaw`SELECT 1`;
return Response.json({ ok: true }, { headers });
} catch {
return Response.json({ ok: false }, { status: 503, headers });
}
}What Logdash cannot see on Shopify
A password-protected store redirects every page to /password, and that page answers 200. Logdash follows up to 5 redirects and has no keyword checks, so a store someone locked by accident stays green. The curl loop above shows it as a final URL ending in /password. The same goes for a sold-out product or a broken theme section: the page loads and the status code is fine. If that is the failure you fear, a keyword monitor is the right tool and Logdash does not have one.
- Add the storefront Create a service in Logdash and point its HTTP monitor at your primary domain. Each check records the status code and the response time, so slow theme days show up next to outages.
- Add the app Create a second service for https://your-app.example.com/healthz. That is 2 of the 5 services on the free plan, each checked every 5 minutes. Builder checks every minute, Pro every 15 seconds.
- Break it on purpose Stop the app database or deploy a healthz that returns 503. On the next check the monitor flips to down and a Telegram message lands with the monitor name, the status code and the error, then another when it recovers.
Logdash vs the Shopify status page
| Feature | Logdash | shopifystatus.com |
|---|---|---|
| Watches your own domain | Yes, an HTTP check on your URL | No, platform components only |
| Watches your app and webhook endpoints | Yes, any public URL you host | No |
| Explains platform incidents | No, you see the failure, not the cause | Yes, written by Shopify while it happens |
| Alert channels | Telegram and webhook | Email, webhook and RSS subscriptions |
| Catches a password page left on | No, it answers 200 | No |
| Price | Free for 5 services | Free |
When shopifystatus.com is the better pick
- Your store runs on a domain bought through Shopify and you host no app. Almost everything that can break is Shopify, and their page will say so.
- You want to know why checkout is failing, not only that it is. Only Shopify can tell you that.
- You want alerts by email. The status page sends them, Logdash sends Telegram messages and webhooks only.