Help / Analytics & insights / Site health
Site health
For everyone who opens the hub · ~6 min read · Last reviewed 22 July 2026
The Site Health hub shows “technical crawl health from SeoSwift” — how crawlable, well-labelled, and indexed a client’s site actually is. Its defining feature is restraint: when a number cannot be trusted, the hub says so instead of showing it. This page explains the tabs, and — more importantly — how to read a missing number.
Before you start
- The client must be connected to the SeoSwift crawler — see SeoSwift & Linear. Unconnected clients get a one-click Connect SeoSwift button right on the hub.
- At least one completed crawl. Run crawl in the hub header queues one on demand (“Crawl queued — health will refresh once it completes.”).
The five tabs
- Health — the overall health gauge, its trend over time, Core Web Vitals, top pages at risk, per-indicator drill-downs, structured-data findings, and AI-generated recommendations.
- Changelog — what changed between crawls: page-level changes and crawl events, filterable, so a sudden score move has a paper trail.
- Metadata — titles, descriptions, and other on-page fields per page, with the problems flagged.
- Indexation — what the crawl detected on the site, and what Google itself has decided about inspected pages (more below).
- Report — a print-ready summary of the above for sharing outside the app.
The honesty rules — a feature, not a bug
Every figure the hub renders arrives with the supplier’s own verdict about its trustworthiness, and the UI maps each verdict to a distinct visual state:
- Confident — plain numbers. The crawl census card is labelled “via SeoSwift crawl · full coverage”.
- Sample-labelled — a Sample badge plus a coverage banner in the form “N of ~M inspected · via SeoSwift crawl · a sample of inspected pages, not a site total”. Sampled Google verdicts are never inflated into site-wide percentages.
- Stale — the section greys out and carries the supplier’s own staleness note, so an old number cannot impersonate a fresh one.
- Suppressed — a designed empty state. If the data format itself is unrecognised, the tab says “SeoSwift’s indexation data format changed and this tab won’t guess at it” and renders nothing numeric.
The rule behind all four: this hub can never be more confident than the crawler supplying it.
Reading the Indexation tab
- Detected on the site — the crawl census: how many pages exist and in what state. Before the first crawl it reads “No completed crawl yet — the census appears after the first SeoSwift crawl finishes.”
- Google’s decision — verdicts from Google’s own URL inspections, explicitly scoped: “Google’s verdict (inspected pages only)”. While coverage is still accruing you may see spot-checks on recently changed pages — “a handful of per-page verdicts, never a site total”.
- A bucket with no measurement renders “not measured”, never 0 — an unmeasured thing and a zero are different facts.
- If the crawl’s scope shifted between censuses, a note warns you to “compare counts with care; this is a scope move, not an indexation trend.”
Good to know
- An empty or greyed card is the system working, not failing — the alternative is a confident number the supplier itself would not stand behind.
- Triggering a crawl while one runs returns “A crawl is already in progress for this site.” — wait for it to finish rather than queueing more.
- Features gated by the SeoSwift workspace plan show a clear banner (“… isn’t included in the SeoSwift workspace plan.”) instead of silently missing sections.
FAQ
- Why is my indexation card empty or greyed out?
- Because the supplier does not currently trust that figure. Empty means no completed crawl yet, or Google-verdict coverage still accruing; greyed means the census is stale. In both cases the honest answer is "not yet", and that is what the card says.
- The tab says the data format changed and it won’t guess. What happened?
- SeoSwift shipped a data-contract change SeoKestrel does not understand yet. The tab suppresses everything numeric until a matching SeoKestrel update ships — by design, since rendering an unknown format is how wrong numbers are born.
- A number here disagrees with what I see elsewhere. Which wins?
- Read the labels first: a "Sample" badge, "not measured", or a stale note each change what a figure means. Site Health never shows a sampled Google verdict as a site-wide percentage, so a mismatch is usually two different denominators, both labelled.