Diagnostics answers the question that comes before every other one: is everything alive. The website responds, the certificate has not expired, the domain is paid for, the ad account still lets KO fetch data, leads are arriving.
Any “why did leads drop” starts here: while the website is down or a connection has lost its authorization, the numbers in the report are not explained by the market.
What you see here
On the left — the diagnostics panels. There are two: Website — availability, domain and certificate expiry; Connections — integration health: authorization, data access, incoming leads.
At the top — the section toolbar: period, Filter and search across objects and messages. The period starts at 14 days.
The What we check block (Website panel) comes first — it answers “what are we watching”, and that question comes before “what is going on with it”. It lists the domains under watch: Domain, its Source, On the list since which day, and when it was last Checked. The Add domain button lives here too, and the row’s commands sit in the ··· menu on the right: Remove from checks.
Domains found automatically and the ones you added sit in the same list, because they are checked the same way. The Source column tells them apart, and any of them can be removed: a junk host picked up by discovery goes away through the same menu item and does not come back.
The Status block shows how many objects there are and what state they are in: With errors, With warnings, Data health. The count is in large type and the share underneath: two failures out of twelve are two broken objects, not “83% healthy”. It sits right above the table whose rows it counts.
The Objects and checks block is the current state as a table:
- Domain on the Website panel, Object on Connections — what was checked. The column is pinned: scroll right and the row is still recognisable.
- State — a badge: OK, Warning, Error, Note. The colour answers “is anything wrong” before the text is read.
- What happened — a ready sentence about the result of the check.
- Measure — the headline number of the check: response time in milliseconds for availability, days left for the domain and the certificate.
- When — date, time and age (
28.08 07:57 · ~3h). It comes last: in a section about state, “when” means “how fresh”.
A row is one object and one of its checks. A domain checked for availability, page content, certificate and registration produces four rows. Rows are ordered by object: every check of one domain or connection sits together instead of drifting apart because the checks run on different schedules.
Click a row to open its history on the right: every run of that check within the period and what the server answered. The snapshot shows what is broken; the history shows since when.
What gets checked
A website has four checks. Availability and page content run every five minutes, certificate expiry and domain expiry once a day. The frequency follows the nature of the check: availability changes any minute, a domain’s expiry once a year.
KO suggests the domains, you decide. Whatever it finds in visit statistics and in your connection settings lands in the list marked “found in statistics” or “listed in the connection” — what gets checked is where people actually arrive. The list is still yours: Add domain puts any domain of yours under watch, ··· → Remove from checks takes the extra ones out.
When neither the statistics nor a connection knows about the site, KO looks at the project name: projects are often named after the client’s domain. Such a domain joins the list marked “from the project name”, and only if it really exists — a name with no live address behind it is never put under checks.
Add by hand where even that has nothing to go on: a landing page before launch, a redirect domain, an admin or customer-portal subdomain. They have no traffic, often no tracker either, and their outages are the ones noticed last.
Paste the link as it is. The field takes an address in any shape — scheme, port, path and
campaign tail included: https://app.example.com/panel?utm_source=ya becomes app.example.com.
A non-Latin domain is converted to its technical form on its own. www. and the plain address
are the same site and will not become two rows. The check covers the whole site, not the
particular page you pasted.
A removed domain does not come back. Take out a mirror or someone else’s subdomain and the next round of checks will not restore it, even if it shows up in the statistics again. Its checks stop at once, and it leaves the Objects and checks table together with its errors in Status: the section shows what you are watching. Add domain brings it back if you change your mind — the row’s source then reads “added by hand”.
The first checks of a new domain run within five minutes; until then the list says “not checked yet”.
Connections are checked exactly as before: does authorization pass, does the service return data, are leads coming in. Every connection check lands here as a run, so you see not only “broken now” but since when.
How to read it
A warning is a deadline, not a failure. A domain warns 30 days before its registration ends, a certificate 14. The difference is deliberate: a certificate is renewed by automation in minutes, while a domain is paid for at a registrar and sometimes needs the owner to act — two weeks is not enough for that.
One error outweighs a good share. This section exists for each individual failure: one domain down out of twelve is a website that is down, not “92% healthy”.
A Status card is a way into its own rows. Clicking it leaves exactly what it counted in the table; clicking again clears the selection. The cards themselves keep counting the whole period.
A “Note” is not a problem but a recorded fact of the check: it asks for nothing and is not counted as an error.
If there are no checks
- “No checks in the selected period” — the round has not run for this object yet, or the period is too narrow. Widen the period and clear the filter.
- “This project has no diagnostics panels yet” — the project has neither a website nor connections to check.
- The Website panel is empty while the site exists — KO has not found the domain in visit statistics, which means the tracking script is not on the pages. No need to wait: type the address into Add domain and availability, certificate and registration will be checked even before the tracker is in place.
Related
- Journals — the neighbouring section: the records those connections bring in.
- How a report works — what happens to that data next.
- Connect a website — the tracking script and webhook everything this section checks starts with.