One URL
tells you far more than "it loads".
Everything below is fully usable during the 90-day trial. No "upgrade for premium" popups.
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
- 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
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
/www/wwwroot/vip/includes/db.php on line 12Check the database service and recently changed code first. You'll be notified again when it recovers.
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
The API site was already reminded at the 7-day stage; remind again tomorrow at the 3-day stage.
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
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
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
Frankfurt is slow in the TLS handshake (1210 ms) — typical of a cross-border link, not a server problem.
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
- script · 404
- /static/js/app.7c1e.js
- Mixed content
- http://img.example.com/banner.jpg
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
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 page: no sign in needed, a per-tenant link, ready for a second screen.
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.