Running your first scan
A scan is Site Health's core primitive. It runs Google Lighthouse against every published page of a Webflow site and stores the results.
Trigger a scan
From any site detail page:
- Click Run Scan in the header
- Choose a strategy:
- Mobile — faster, covers the CWV metrics that affect Google ranking
- Desktop — useful if your site is primarily used on desktop
- Both (recommended) — scans both strategies, takes ~2x as long
- Click Start scan
Watch the progress
A toast in the bottom-right shows live progress via Server-Sent Events:
- Pages scanned / total
- Estimated time remaining
- Option to email me when it's done (handy for big sites)
Scans typically take:
| Site size | Mobile only | Both strategies |
|---|---|---|
| 5 pages | ~1 min | ~2 min |
| 20 pages | ~3 min | ~6 min |
| 50 pages | ~7 min | ~14 min |
| 100+ pages | ~15 min | ~30 min |
Exact time depends on Google's PageSpeed API load. Site Health rate-limits at 3 req/sec to stay within quota.
What gets scanned
- Every published page in your Webflow site (published pages come from Webflow's sitemap)
- Including CMS collection template pages — we resolve them to a real live item URL so Lighthouse scans actual content, not an empty template
- Excluding password-protected, 404, or draft-only pages
What gets collected
Per page, per strategy:
Scores (0-100)
- Performance
- SEO
- Accessibility
- Best Practices
Core Web Vitals (lab + real-user)
- LCP (Largest Contentful Paint)
- CLS (Cumulative Layout Shift)
- INP (Interaction to Next Paint)
- FCP (First Contentful Paint)
- TTFB (Time to First Byte)
- TBT (Total Blocking Time)
- Speed Index
- Time to Interactive
- Chrome UX Report (CrUX) data for LCP/CLS/INP — real user 75th percentile
Diagnostic data
- Top 5 Lighthouse opportunities with estimated savings
- Per-page LCP element (which element is the slowest contentful paint)
- CLS culprits (which elements cause layout shift, with scores)
- Top 15 third-party scripts by blocking time + transfer size
- All failing accessibility audits with severity
- All failing Best Practices audits
- All failing SEO audits
- Performance diagnostics (DOM size, bootup time, etc.)
- Stack packs (framework detection: Webflow, React, Next.js, etc.)
- Final screenshot of the page
After the scan completes
- Toast notification with the final Health Score
- Dashboard + site detail instantly reflect the new data
- Trend charts update (after 2+ scans exist)
- If any regression was detected → regression alert email fires
- If the Health Score dropped below your alert threshold → alert email fires
- If any alert rules triggered → alert email fires
What if a scan fails?
Scans can fail for a few reasons:
- Google rate limited us — we retry 3 times with exponential backoff automatically
- Your site is down / unreachable — the scan marks as failed and you can retry
- Worker restart — mid-scan job got interrupted; we'll retry with idempotent cleanup
Failed scans show a red Failed badge in the scan history. Click Run Scan again to retry — each scan is independent.
Next: set it on autopilot
Now that manual scans work, schedule them so you never need to trigger one again:
- Scheduled Scans — daily or weekly
- Webflow Publish Webhook — auto-scan on publish
- Alert Rules — get notified when specific metrics drop