Local SEO
SEO alerts
What raises one (rank changes, score drops, new failing checks), that they land in the feed and morning summary rather than as pushes, and how to turn them off.
Updated · 5 min read
An SEO alert is one of five things the rank tracker and the on-page SEO scan may have found news about since the last check. It is recorded the moment the check finishes and held for the morning summary; it never pushes on its own.
Where it lands
Every SEO alert does two things, in order:
- A row in the Alerts feed with the event type
seo_alert:<kind>:<key>orseo_good:<kind>:<key>. The feed reads in the dashboard's Alerts page and in the app's Alerts tab. - A line in the next morning summary, around 8 a.m. Eastern, sent with One summary each morning on.
There is no push of its own. Whether the morning summary is on or off, an SEO alert does not interrupt anyone: a ranking that moved overnight can wait until 8 a.m. The same is true for a good-news alert. The dedupe rule is the same: the same alert is not raised again for 7 days unless it got worse (good news is never repeated early).
What raises one
Five kinds, all from src/seo-alerts-analyze.ts:
| Kind | When it fires | Severity |
|---|---|---|
pack_lost |
A phrase that was in the local 3-pack is not in it now | Problem |
rank_drop |
An organic or Google Maps position fell 3 or more places, or fell off the results we read | Problem |
top3_entered |
A phrase that was not in the top 3 on a surface is now in it | Good news |
score_drop |
The homepage SEO score fell 10 or more points since the last scan | Problem |
new_failing_check |
A high-impact SEO check that passed (or was not run) last scan fails now, up to 5 per scan | Problem |
A first measurement is a baseline. With no earlier check of the same phrase on the same surface, or no earlier scan, nothing is raised. Positions measured from different places are not compared either; a moved business would otherwise read as a crash.
A rank_drop and a pack_lost do not double-count. The local pack has three places, so leaving it is pack_lost and never a rank_drop on top of it. top3_entered is a separate seo_good event and is not folded into the problem alerts.
score_drop and new_failing_check come from the on-page SEO scan at the end of a domain's nightly re-scan (Starter and up), not from a rank check. A scan that has no earlier scan on file raises nothing either; only a scan with a previous one can move a score.
What a rank_drop says
The alert reads roughly:
"Emergency plumber canton" fell from #5 to #11 on Google.
For organic and Maps, the threshold is 3 places. For the local pack, leaving it is the event (pack_lost). The full chain: the previous check from the same city, the new one from the same city, the difference. Different cities are not compared.
If the previous position is null (the phrase was not in the results we read) and the new position is null, there is no alert — both sides have to be measurable to know it moved.
How to turn them off
The account switch is notify_seo_alerts on users. On by default; 0 turns it off account-wide. There is no per-domain switch.
- Web: Settings, Notifications (the Alerts group). The row is SEO alerts, on by default. The row is set from the API today; the web Settings panel reads but does not yet toggle it.
- iOS: Account, Settings, Notifications. Same row, same field (
notify_seo_alerts). The iPhone app reads the value from the same/api/settingsresponse the web does. - API/MCP:
PUT /api/settingswith{ notify_seo_alerts: false }; toolupdate_account_settings. Reading the current value isGET /api/settings(orget_account_settings). The MCP tool description: "Search ranking and SEO changes: a phrase leaving the map pack or falling 3+ places, a phrase reaching the top 3, the homepage SEO score falling 10+ points or a new high-impact SEO failure. Feed and morning summary only, never a push of its own."
Turning it off stops new alerts. The Alerts feed still shows past ones, and the morning summary still folds in alerts from other categories (down/up, vendor incidents, dark-web hits, KEV and CVE matches, renewal, certificate, DNS records, security score, change events, DMARC, lookalikes). Only SEO alerts stop.
What is not an SEO alert
A change in rank that does not pass the threshold (rank_drop is 3 places or off the results; top3_entered is any move into the top 3) is not raised. Phrases that fluctuate inside the top 3 stay there silently. Pages of the rank history are not alerts; the Keywords panel reads them at any time.
Common questions
I got an alert for a phrase I did not ask to track. It was measured by the scheduled rank tracker or a manual rank check on one of the phrases saved as a keyword target for the domain. To remove it, delete the phrase from the keyword targets.
Two alerts on the same phrase. A repeat inside 7 days is only raised when the new severity beats the old one. A 7-day-old alert can be raised again. Good news is never repeated early.
My score dropped but I got nothing. Only a fall of 10 points or more, with a previous scan on file, is raised. A scan that has no earlier one is a baseline.
Keep reading
Related articles
- Push notifications and quiet hoursThe one morning summary, the three things that push during the day, who sends what, the notifications the app raises itself, and the quiet-hours window.Alerts ·Updated
- Scheduled rank trackerA daily or weekly check of a domain's saved phrases on the local pack and organic results, off by default, charged like a manual one, with per-domain settings and plan limits.Local SEO ·Updated
- Crawler access: can search engines and AI assistants read your site?Why ChatGPT, Claude and Perplexity take no URL submissions, which crawlers they use, and how DomainGuard checks robots.txt and your firewall for each one every day.Website and SEO ·Updated
