Skip to main content

Performance Monitoring

Site Health scans every published page on every Webflow site you connect, then rolls the results into a single Health score you can track over time.

What a scan captures​

For every page, in the selected strategy (mobile, desktop, or both), you get:

  • Performance, SEO, Accessibility, and Best Practices scores (0-100)
  • Full Core Web Vitals — LCP, CLS, INP, FCP, TTFB, TBT, Speed Index, TTI
  • Real-user data (CrUX) when Chrome has enough traffic on the page
  • Top 5 performance opportunities with estimated savings
  • Every failing accessibility audit
  • Third-party script breakdown
  • Detected frameworks / stack packs

Strategy selection​

When you trigger a scan you pick one of:

StrategyWhen to use it
MobileThe default most teams care about. Google ranks on mobile.
DesktopB2B SaaS, internal tools, desktop-first experiences.
BothRecommended for client reports. Doubles scan time, doubles insight.

How pages get discovered​

On every scan, Site Health refreshes your site map from the Webflow API:

  1. Calls the Webflow sites.pages.list endpoint for the site.
  2. Filters to published pages only (drafts and unpublished are skipped).
  3. Resolves CMS template pages — a page like /blog/:slug gets expanded to every published CMS item under it, so you see real, crawlable URLs in the results table.
  4. Deduplicates by URL.
CMS-heavy sites

A 500-item blog takes longer to scan. Use performance budgets on hot landing pages if full-site scans get noisy.

Rate limiting​

Site Health is a good citizen with upstream APIs:

  • PageSpeed Insights: capped at 3 requests/second site-wide via an in-process limiter. Each page under "Both" counts as two calls.
  • Webflow API: capped at 50 requests/minute.
  • User scans: 5 scans per user per hour to stop accidental loops.
  • Worker concurrency: 3 parallel scans across your whole account at once.

Scans are deduplicated — trigger one while another is queued or running and you'll get a SCAN_ALREADY_ACTIVE response instead of a duplicate.

How the Health score is computed​

The Health score you see on the dashboard is an average of the four Lighthouse scores across every page and every strategy in the scan:

Health = average(performance, seo, accessibility, bestPractices) across all results

Color bands follow standard Lighthouse conventions: green ≥ 90, yellow ≥ 50, red < 50.

Watch trends, not single scans

PSI scores jitter 5-10 points run-to-run. A single dip isn't a bug. A regression alert means something real shifted.

What's next​