Monitoring and alerts
Schedule weekly or daily audits of a verified site on a paid plan, and get an email when an audit finds new errors or the health score drops.
Monitoring re-audits a site on a schedule, weekly or daily, at night in your timezone. When a monitored audit finds new errors, or the health score drops by 5 points or more, every member of the team gets an email. Monitoring needs a paid plan (Starter or Growth) and a verified site.
Requirements
| Requirement | If missing |
|---|---|
| Starter or Growth plan | 403 plan_limit_monitoring; the app shows "Monitoring needs a paid plan". |
| Verified site (see /help/verifying-site-ownership) | 409 site_not_verified ("Scheduled monitoring needs a verified site."). |
| Credits for the site's Page limit | The scheduled audit is skipped (see below). |
The pricing page lists weekly monitoring for Starter and weekly or daily monitoring for Growth. See /help/plans-and-credits.
Turn it on
In the app: Sites → your site → "Monitoring". Switch "Scheduled audits" on and pick a Frequency (Weekly or Daily). "Next run" shows the date of the next audit.
Agents: set_monitoring (MCP) or PATCH /v1/sites/{id}:
curl -X PATCH https://api.seofix.ai/v1/sites/42 \
-H "Authorization: Bearer $SEOFIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"monitoring": "daily"}'
{ "id": 42, "monitoring": "daily", "next_crawl_at": "2026-10-09T22:47:00.000000Z", "alert_email": true }
Connecting Google Search Console during onboarding turns weekly monitoring on for the sites it adds when your plan includes monitoring.
When audits run
- Each site has a fixed nightly slot: 02:00 in the team owner's timezone plus a per-site offset of 0 to 120 minutes, so between 02:00 and 04:00. The owner sets the timezone in Settings → Profile ("Timezone"); without one, Asia/Dubai is used.
- Weekly runs every 7th night, daily every night, always at the same local time.
- Turning monitoring on, or changing the frequency, schedules the first run in the next slot.
- A scheduled audit uses the site's Page limit and Speed (see /help/crawl-settings) and is charged to the team owner's credits: the Page limit is reserved at the start, and unused credits come back when it ends.
- Scheduled audits show as "Scheduled audit" in the audit history (
trigger: "schedule").
Skipped runs
When a scheduled audit can't start, the slot is skipped and the reason shows in the Monitoring panel:
Reason (last_skip_reason) |
Message | What happens next |
|---|---|---|
insufficient_credits |
"The last scheduled audit was skipped: not enough credits. Top up to resume monitoring." | Next regular slot. With Email alerts on, the team gets a "Scheduled audit skipped" email, at most once per site per 24 hours. |
plan_limit_monitoring |
"The last scheduled audit was skipped: your plan doesn't include monitoring." | Next regular slot. |
not_verified |
"The last scheduled audit was skipped." (the site is not verified) | Next regular slot. |
active_crawl |
"The last scheduled audit was skipped because another audit of this site was still running." | Retried after an hour, up to 3 times, then the regular slot. |
dispatch_failed, error |
"The last scheduled audit couldn't be queued. We'll retry at the next slot." | Retried after an hour, up to 3 times, then the regular slot. |
Ownership loss
SEOFix re-checks ownership of verified sites every day. If no proof can be confirmed any more (for example the Search Console connection was removed, or the DNS record, meta tag or verification file is gone), monitoring is paused and the team gets an "Ownership could not be confirmed" email. Reports are kept. Verify the site again and monitoring resumes with the frequency it had, as long as your plan still includes monitoring.
Alert emails
An alert is sent when all of these are true:
- The audit finished (
done) within the last 3 days. - It was a scheduled audit or started through the API (
triggerisschedule,apiorci). Audits started with "Run audit now" in the app and the free audit send no alert. - The site has monitoring on and "Email alerts" on.
- Compared with the site's previous completed audit, it found at least 1 new error, or the health score dropped by 5 points or more.
Each audit is considered once. The email goes to every member of the team.
| Subject | When |
|---|---|
example.com: 3 new SEO errors |
One or more new errors. |
example.com: SEO health dropped 7 points |
No new errors, but health fell by 5 or more. |
The email lists the new issues by check, up to 5 example URLs, and links to the audit.
A site's first audit sends no alert, because there is nothing to compare it with. "New" follows the rules in /help/comparing-audits: only URLs that both audits crawled are compared, so a larger crawl reaching more pages does not count as new errors.
Turn alerts off
Switch off "Email alerts" in the site's Monitoring panel, or send {"alert_email": false} to PATCH /v1/sites/{id}. Scheduled audits keep running. Switching "Scheduled audits" off stops both.
Related
- /help/crawl-settings
- /help/comparing-audits
- /help/plans-and-credits
- /help/audit-statuses
More in Audits & crawling
Still stuck? Email [email protected] with your site and what you expected to see.