Features

One URL
tells you far more than "it loads".

Everything below is fully usable during the 90-day trial. No "upgrade for premium" popups.

Uptime

A look every few minutes, like a real visitor

One GET request checks the status code, response time, and page content. You can require the page to contain a keyword (like a copyright line) or forbid a phrase (like "under maintenance").

  • Every 1–10 minutes, depending on plan
  • Status-code whitelist, keyword include / exclude, blank-page detection, slow-response threshold
  • N consecutive failures before calling it an incident (default 3), tunable per site
  • Connection fingerprint recorded: the actual peer IP, response time for the four segments DNS / TCP / TLS / TTFB, HTTP version, CDN clues
probe — www.example.com
Status
Up · HTTP 200
Response
244 ms (DNS 12 · TCP 31 · TLS 58 · TTFB 143)
Connected IP
103.30.40.229 · HTTP/2 · Alibaba Cloud CDN
Keyword
Contains "© 2026 Example" ✓
Certificate
87 days left · Let's Encrypt
Next check
in 4m 12s
Page error detection

HTTP 200, but the page is an error page

For aaPanel users this is the most common "site broken": PHP prints a Fatal error right on the page, WordPress says "Error establishing a database connection" — and the status code is still 200. Ordinary monitoring calls it fine. We recognize 15 classes of server-side errors and show you the actual text — usually pointing straight to file and line.

  • PHP fatal/warning, database connection and query errors
  • Laravel, ThinkPHP, WordPress, Yii, Django, Spring, Tomcat, ASP.NET, Express, Rails error pages
  • 502 pages wrapped as 200 by a reverse proxy, default panel pages / unbound domains
  • Deliberately conservative: a blog post about PHP errors won't be flagged
alert — vip.example.com
▲ Membership system · page shows error (server-side)vip.example.com · lasting 4 min
PHP fatal error: Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Connection refused in /www/wwwroot/vip/includes/db.php on line 12

Check the database service and recently changed code first. You'll be notified again when it recovers.
HTTPS certificate

Reminders before expiry, alerts the moment it lapses

Certificate expiry is the most preventable — yet most frequent — incident. We read the certificate during checks and remind you in stages before expiry, once per stage.

  • Reminders 30 / 7 / 3 / 1 days before expiry (stages customizable)
  • Expired, handshake failure, connection cut — alert immediately
  • For sites checked via self-hosted nodes, the node reports the certificate and the controller computes the days uniformly
certificates
Website
87 days
Mall
61 days
API
6 days
Existing sites
Expired

The API site was already reminded at the 7-day stage; remind again tomorrow at the 3-day stage.

Content watch

Watch things that change on a page

A competitor's price, a version number on a vendor's site, stock availability, whether a notice changed. Say "watch the price" and AI reads the page structure, generates a locator rule, fetches once to verify, and asks you to confirm. Not happy? Click the element right on the page.

  • CSS / XPath / regex / JSON-LD / API JSON — many ways to locate a value
  • Price: recognizes currency and numbers, with "notify only below / above a value"
  • A change must appear twice in a row to count — fetch flapping never becomes a false alarm
  • Every change keeps a snapshot — history stays reviewable
watch — offers.price
Found it
¥ 299.00

The page ships JSON-LD structured data; we read the official price field (offers.price) — more stable than styling-based locators, and survives redesigns.

What counts as changed
Notify when the price drops below ¥ 259
How often it checks
every 6 hours
Multi-region observation

Is the site down, or did the network blip?

After the monitoring machine calls a failure, another vantage point confirms it; multi-region speed tests measure the response time in segments — DNS, TCP, TLS, TTFB — showing which region is slow and in which segment. You can also deploy observation nodes on your own servers (a single PHP file).

  • Built-in vantage points in Hong Kong and the mainland; Pro adds up to 3 self-hosted ones
  • For sites our monitoring probes can't reach, route checks through a node or proxy
  • DNS check: public authoritative resolution vs. the IP actually connected — for confirming a DNS change took effect
speedtest — 4 locations
Hong Kong
212 ms
Shanghai
298 ms
Beijing
347 ms
Frankfurt
1 940 ms

Frankfurt is slow in the TLS handshake (1210 ms) — typical of a cross-border link, not a server problem.

Resource check

The 404s in a browser console, seen without opening a browser

The page returns 200 but renders broken — a script 404'd, the CDN is down, or an HTTPS page references HTTP resources the browser blocks. We parse every script, style, and image the page references and confirm each one loads.

  • Resources that failed to load and mixed content, listed by type
  • Once a day plus on-demand — the request load on your server stays under control
resources — 21 checked
2 problems18 / 21 resources checked3 minutes ago
script · 404
/static/js/app.7c1e.js
Mixed content
http://img.example.com/banner.jpg
Real-browser check

Page JS errors curl can't see

Status 200, resources 200, yet the page is broken: the JS throws a TypeError, an XHR keeps returning 500, CORS or CSP blocked a critical script. You only know by actually running the page's JS. A platform browser node really opens your site once a day and records console errors and failed requests in the site detail.

  • console.error, page runtime exceptions, failed requests, abnormal response codes
  • 404s on dynamically loaded resources, CORS / CSP blocks
  • Once a day: a real browser is heavy (3–10s per page) — deliberately not high-frequency
  • Compared against the last good run; you are only notified of new problems — no repeat bombardment
chromium — daily check
› GET / HTTP/2 200 · 1.9s · 34 requests
› TypeError: Cannot read properties of null — app.js:412
› XHR /api/cart 500 — Consecutive occurrences
› Mixed Content:http://img.example.com/a.jpg
Logged to the site detail · Come back at the same time tomorrow
Notifications and team

Disciplined alerts, divided duties

Email, DingTalk groups (@all or specific phones), webhooks (custom templates into any system), and browser push (no app, straight to the device notification center). One incident sends one down alert + one recovery; flapping sites fold into the daily digest; quiet hours and severity-only routing at night.

  • Site groups and severity tiers decide which notification channel fires, by level and time of day
  • Members come in owner / member / read-only roles; an on-call rotation decides who gets this week's alerts
  • Inbox: alerts grouped by incident — a morning scroll misses nothing important
  • Daily report: yesterday's uptime, incidents, slowest sites
  • Public status page: one link for clients or the office wall screen
status — acme.corp
Websitewww.example.com
99.99%Up
Mallshop.example.com
99.97%Up
APIapi.example.com
99.82%Slow

Status page: no sign in needed, a per-tenant link, ready for a second screen.

Beyond monitoring

The business ledger for your whole site fleet

Monitoring answers "is it down?"; these tools answer "how is the business doing?" Same console, same alert channels.

Traffic analytics: the cookie-free kind

Embed a <3KB script and see today's visitors, pageviews, currently online, referrer domains, UTM params, search terms, visited and 404 pages, time on page, and scroll depth for every site. No cookies, no raw IP storage — the visitor ID is an HMAC recomputed daily, so yesterday's ID is already useless. A sudden traffic drop triggers an alert too.

Page snapshots: a verifiable record of "right now"

A platform browser node really opens the page and keeps a full-page screenshot, the rendered DOM, the capture environment, and per-file hashes; sealing adds a platform signature and a public timestamp (TSA). A competitor's price, a promise on someone's page, what your own site looked like before it was edited — months later you can prove "this is how it was". Preview first, seal when satisfied.

Server inventory

With many machines it's easy to lose track of "which one is on which cloud, when it expires, how to sign in". Sites are grouped under the server their IP actually connects to; register the provider, expiry date, and notes. Renewal reminders via alert channels 30 / 14 / 7 / 3 / 1 days ahead; when a whole machine has an incident, its alerts merge into one — "single-site problem" vs "whole-machine outage" at a glance.

Stability

Last 7 / 30 / 90 days, all sites ranked by uptime; incident cause breakdown (their problem vs. the line) and incident-duration archive. Postmortems, monthly reports, and disputes with your provider — all documented.

Site tools: indexing, authority, keywords

Third-party business data API (chinaz): Baidu index count, PC authority weight, ranked keyword count. Read trends, not single points — a sliding keyword count usually means lost rankings. Billed per query against your quota; every plan includes a monthly allowance, top up if needed.

Bulk import · groups · Trash

One spreadsheet imports hundreds of sites at once; group by client, by datacenter, by importance; a mistakenly deleted site sits in Trash for 30 days. The order problems that come with scale were thought through from day one.

Every feature, free for 90 days.

No credit card. Configuration and history are kept when it ends.