Skip to main content

Scheduled Scans

Flip one setting per site and Site Health will scan on autopilot. No cron, no servers, no scripts.

How to turn it on​

On the site detail page, scroll to Automation and set Schedule frequency:

  • Off — no automatic scans (you can still trigger manually or via webhook).
  • Daily — fires every day at 09:00 UTC.
  • Weekly — fires every Monday at 09:00 UTC.

Changes save instantly. Your next scheduled run appears at the top of the automation card.

What fires​

Each scheduled run enqueues a scan using whatever default strategy is saved on the site (Mobile, Desktop, or Both). The scan shows up in the scan history exactly like a manual one — same results, same alerts, same regression detection.

Jitter and thundering herd​

If every customer scheduled daily scans at exactly 09:00 UTC, Site Health would blast PageSpeed Insights with hundreds of requests in the same millisecond. To avoid that, the scheduler adds 0-5 seconds of random jitter to every scheduled scan:

fireAt = 09:00:00 UTC + random(0, 5000ms)

You'll see your scan start between 09:00:00 and 09:00:05 — not consequential for your reporting, critical for being a well-behaved API consumer.

Skip rules​

The scheduler is idempotent. It will skip a scheduled run if:

  • A scan for that site is already queued (waiting for a worker).
  • A scan for that site is already running (in progress).

This means a long-running scan won't get a duplicate queued on top of it. The next day's schedule resumes normally.

Timezones

All schedules run in UTC. If you're in US Pacific, daily 09:00 UTC is 01:00 / 02:00 local (depending on DST). Pick based on when you want the data available, not your local wake-up time.

When to use each frequency​

SettingGood for
WeeklyStable marketing sites with infrequent publishes. Keeps weekly digest data fresh.
DailyContent-heavy sites, active clients, anywhere you're actively iterating.
Off + webhookSites that publish irregularly. Pair with Webflow publish webhooks so scans only fire when something actually shipped.

What's next​