Beamfar

Website monitoring for Shopify stores: what you still control

Shopify runs the storefront, so the servers are not the agency’s problem and not the agency’s to fix. A Shopify monitor therefore watches what the agency still controls: whether the store is open to visitors, the domain and its DNS records, the certificate, what a theme or app change did to the pages, and whether Shopify itself has an incident. Beamfar checks any public store over HTTP(S) and cannot see inside the Shopify admin.

Beamfar is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by Shopify or its owner. The name is used only to say which kind of site this page is about, and it belongs to its owner.

Who controls what

PartWho controls itWhat an outside monitor can tell you
Servers, scaling, the checkout engineShopifyWhether the storefront and checkout answer, and how fast
The store’s access settingYou or the clientWhether a launched store still shows a password page
The domain, its registrar and DNS recordsThe client or youWhether the records changed and when the domain expires
The theme and installed appsYou or the clientWhether a page now fails, slows down or loads http:// resources
Orders, payments, inventory, webhooksShopify and the appsNothing: use the admin and the apps’ own reports

What goes wrong on a Shopify store

The store stays closed after launch. Shopify’s private mode shows “a customizable landing page instead” of the store, and in that mode “all of your online store’s pages are hidden from visitors and search engines”. The password and the setting live under Online Store, Preferences. A store that was launched and then put back into private mode during a theme rebuild answers with a page, not an error. A status code check passes. A check that requires a phrase from the real storefront fails, and that is the check to add.

The domain points somewhere else. To connect a third-party domain manually, Shopify tells you to point the A record to the Shopify IPv4 address 23.227.38.65 and the CNAME record named www to shops.myshopify.com., and warns that “it might take up to 48 hours for your domain to be fully live”. Records get changed when a client moves DNS provider, when a new agency takes over or when someone tidies a zone. Beamfar reads the address records of the name and puts a change on the site’s timeline with its time, so you can tie an outage to it. See DNS changes that break client websites and the CNAME entry.

The certificate does not follow the domain. After a DNS change the certificate of the store can be missing for a while. The certificate check reports a name that does not match, an expired certificate and the days left. See SSL certificate expiry on client sites.

A theme or app change breaks a page. Themes are code and apps add scripts. A change can break the product page, slow the home page or load an http:// resource on an https:// page. The page check shows the status and timing; the site crawl finds mixed content and broken links within the limits of the plan.

Shopify has an incident. Shopify Status reports separate components, among them Storefront, Checkout, Admin and Third party services. If both of your monitoring regions fail at once, open that page before you write to the client. If the incident is there, the message to the client is about the platform; if it is not, the problem is in the store or the domain. See Incident communication to clients.

Set it up

  1. Add the store’s public host name in the portfolio. Page, certificate and DNS checks start.
  2. Set the page check’s required text to a phrase from the storefront, such as a footer link, never from the password page.
  3. Add an API check for the storefront’s cart endpoint. Shopify’s Cart API reference describes GET /{locale}/cart.js as the way to “get the cart as JSON”; expect status 200 and assert that the JSON value item_count exists. It shows that the storefront’s cart service answers.
  4. Add the store’s second address, such as the myshopify.com name, only if the client uses it; do not monitor addresses nobody visits.
  5. Alert the person on duty and subscribe to Shopify Status for the platform side.

What an outside check cannot see on Shopify

It cannot see the admin, an order that did not arrive, a payment that was declined, a stock count, an app’s webhook or a theme change that is only saved as a draft. There is no cron to watch: scheduled work belongs to Shopify and its apps. It does not click through checkout. Test the purchase path by hand after each theme release and keep the report to the client honest about what is measured.

How Beamfar helps

Beamfar is not a Shopify app and does not need one. It watches the public store from two regions and calls it down only when both agree, alerts when the certificate or the domain registration nears its end, and records a change in the DNS records, the certificate, the final address or the search settings on one timeline. It has been tried on test pages only and has no customers yet.

Questions

Do I need a Shopify app to monitor a store?

No. An outside monitor only needs the store’s public address. It cannot see the admin, which an app could, and it keeps working when the app or the admin is unavailable.

Why did a launched Shopify store show a password page?

The store’s access setting was still private, or was set back to private. Shopify says that in that mode all of the store’s pages are hidden from visitors and search engines. A page check that requires text from the real storefront catches it.

Is my Shopify store down, or is Shopify?

Compare your monitor with Shopify Status. If your regions fail together and Shopify reports an incident for the Storefront or Checkout component, it is the platform. If it does not, look at the domain, the certificate and the last theme or app change.

Which DNS records does a Shopify store use?

For a third-party domain, Shopify’s instructions name an A record for the root domain and a CNAME for www. Copy the current values from Shopify’s help page or your admin, because they can change.

Sources

Read on . Standards and vendor pages change; confirm the current text before you rely on it.

Terms used in this guide

  • DNS recordA DNS record is one entry in a domain’s zone that maps a name to data such as an address, a mail server or a text value. The common types and what breaks when one changes.
  • CNAMEA CNAME record makes one name an alias of another. Why a name with a CNAME cannot hold other records, which blocks it from the root of a domain.
  • TLS certificateA TLS certificate proves that a website holds the name in the address bar and enables HTTPS. What it contains, how long it lasts and what happens when it expires.
  • Domain expiryDomain expiry is the date a domain registration ends unless renewed. What happens in the days after it, why reminders fail and how to monitor the date.

Know first. Know why. Tell your client before they call.

Paste your client list. Both regions start checking.

No card for the trial.