IncidentSeoImpressionsDropped

Severity: warning · Fires after: 6h · Rule: central/prometheus/rules/visibility.yml

What it means

An engine's trailing-28-day impressions for a site are more than 25% below where they were a week ago. Because the gauge is a 28-day sum it moves slowly — a total loss of impressions only crosses this line on about day 7 — so this is a large, sustained fall, not a bad afternoon.

Expression

webmaster_impressions
  < 0.75 * avg_over_time(webmaster_impressions[1d] offset 7d)
and avg_over_time(webmaster_impressions[1d] offset 7d) >= 50

The >= 50 floor silences tiny sites. Blind spot: if Prometheus has no data 7 days back (stack outage), there is no baseline and the rule cannot fire until one exists.

The incident this was built for

The fleet was offline in transit 2026-08-20 → 09-08. Google's 28d impressions for wiki.wikantik.com went 961 → 241 → 7 → 1 across the following month and nothing alerted; it was found by reading the dashboard on 2026-10-01.

First checks

  1. Is it one engine or all? All engines falling together = the site, not the engine.
  2. search-visibility dashboard → Google index coverage by state: pages moving into "Crawled – currently not indexed" or "Server error (5xx)" means de-indexing, not a ranking change.
  3. wikantik-traffic → What crawlers were served: are crawlers getting 200s?
  4. Was the site down recently? reliability dashboard, and up{job="wikantik"}.
  5. bin/visibility report --site <site> --engine <engine> for the query-level view.

How to clear

It clears by itself once the 7-day-old baseline has also fallen — i.e. it reports the fall, not the low level. Recovery work is in Search Console (validate fixes, resubmit the sitemap) and bin/visibility submit --commit for Bing/Yandex.

Notes

wikantik.com and wiki.wikantik.com are overlapping properties and usually fire together. Related: IncidentSeoIndexedPagesDropped.