Mass de-indexing event, usually a robots.txt or canonical regression after a deploy. First place a broken release shows up in your organic-search presence.
At a glance
A real-time alert that fires when the count of indexed pages reported by Google Search Console drops more than 5% against its trailing 7-day baseline. A sudden fall in indexed pages is almost never organic: it is the fingerprint of arobots.txtdisallow, a straynoindextag, a canonical regression, or a server returning 5xx to Googlebot after a deploy. The card is a fire-alarm bell for your site’s eligibility to appear in search, not a measurement of traffic.
| What it tracks | The number of URLs Google currently holds in its index for the verified property, sourced from the Search Console Index Coverage / Pages report (the “Indexed” bucket). The alert compares the latest reading against the median of the prior 7 daily readings and fires when the drop exceeds 5%. |
| Data source | Google Search Console Pages (Index Coverage) report, read via the URL Inspection and Index Coverage data exposed to the API. We poll the indexed-pages count and the breakdown of “Not indexed” reasons. |
| Why it matters | A page that leaves the index cannot earn an impression, a click, or revenue. De-indexing is silent: rankings and clicks for affected pages do not dip gradually, they go to zero the moment Google drops the URL. This alert surfaces the cause days before Clicks Trend shows the damage. |
| Time window | RT (real-time framing). Search Console index data is itself delayed (see Reconciling below), so “real-time” here means we surface the drop on the next poll after Google publishes a new coverage figure, not that we detect de-indexing the instant it happens. |
| Alert trigger | indexed_pages_count drop >5% vs 7d, sentiment key gsc_indexing_drop. The 5% threshold is calibrated to ignore the normal day-to-day jitter in Google’s reported counts while catching a genuine coverage regression. |
| Roles | owner, marketing |
Calculation
Calculated automatically from your Google Search Console data. We read the indexed-pages count from the Index Coverage / Pages report, compute the median of the prior 7 daily readings as a baseline, and fire when the latest reading sits more than 5% below that baseline. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK homeware retailer running WordPress, Search Console verified on the domain propertyhomeandhearth.co.uk. Around 8,400 URLs sit in Google’s index on a normal week. On 14 Apr 26 the brand ships a theme update late on a Friday afternoon.
| Date | Indexed pages (GSC) | 7-day median baseline | Change vs baseline | Status |
|---|---|---|---|---|
| 11 Apr 26 | 8,412 | 8,398 | +0.2% | Normal |
| 12 Apr 26 | 8,401 | 8,402 | 0.0% | Normal |
| 15 Apr 26 | 7,950 | 8,405 | -5.4% | Alert: indexed pages down 5.4% vs 7d |
| 17 Apr 26 | 6,180 | 8,260 | -25.2% | Alert continues, worsening |
- The drop is a deploy artefact, not an SEO event. The theme update shipped a templated
<meta name="robots" content="noindex">on every paginated category page (page 2 onward of/shop/...) because a staging flag was left on. Google re-crawled the affected templates over the following 72 hours and dropped roughly 2,200 paginated URLs. Nothing about the brand’s content quality changed; the regression was purely technical. - Triage workflow when this card fires. Order of investigation: (a) fetch
robots.txtand diff it against last week’s version, a single mis-scopedDisallow:can hide thousands of URLs; (b) spot-check 5 affected URLs with Search Console’s URL Inspection tool, look for “Excluded by noindex tag”, “Blocked by robots.txt”, or “Crawled, currently not indexed”; (c) check the most recent deploy diff for template changes touching<head>, canonicals, or pagination; (d) confirm the server is returning 200, not 5xx, to Googlebot (use URL Inspection’s “Test live URL”); (e) review the “Not indexed” reason breakdown on the Pages report to see which bucket grew. - Why the alert leads the clicks cards. Clicks for the de-indexed pages did not fall on 15 Apr; they fell from 18 Apr as Google finished dropping the URLs and the next day’s impressions disappeared. This card flagged the coverage drop on 15 Apr, giving the brand a three-day head start to revert the
noindexand request re-indexing before the click loss compounded. After the fix on 16 Apr, the indexed count recovered to 8,390 by 24 Apr as Google re-crawled.
robots.txt and <head> templates first; algorithmic de-indexing is rare and gradual, technical de-indexing is sudden and total.
Sibling cards merchants should reference together
| Card | Why pair it with Index-Coverage-Drop Alert |
|---|---|
| Indexed Pages | The metric this alert is built on. Use it to see the indexed count trend over a wider window. |
| Index Coverage Trend | The 30-day companion. Shows whether the drop is acute (deploy) or a slow decline (content decay, crawl-budget squeeze). |
| Pages Not Indexed | The diagnostic detail. Tells you which “Not indexed” reason bucket grew (noindex, robots block, soft 404, crawled-not-indexed). |
| Sitemap-Errors Alert | The sibling alarm. A broken sitemap and a de-indexing event often share the same deploy as a root cause. |
| Ranking-Drop Alert | The ranking-side alarm. If pages are de-indexed, the queries they used to rank for will also collapse. |
| Clicks Trend | The lagging-indicator validation. Clicks for de-indexed pages fall a few days after this card fires. |
| Total Pages Indexed | The absolute headline figure for stakeholder reporting. |
| Slow-Indexed Pages | The cross-channel view: pages slow to index because of poor performance can compound a coverage drop. |
Reconciling against the source
Where to look in Google Search Console:Indexing → Pages report. The headline “Indexed” number at the top is the figure this alert tracks. Below it, the “Why pages aren’t indexed” table breaks the non-indexed URLs into reason buckets; when this alert fires, one of those buckets has grown. URL Inspection tool. Paste an affected URL to see its current index status, the last crawl date, the discovered canonical, and any robots or noindex blocks. Use “Test live URL” to compare the live page against Google’s cached view.Other GSC views that are related but are not this alert:
- Sitemaps report: tells you how many submitted URLs Google found, not how many are currently indexed. A healthy sitemap can coexist with a de-indexing event.
- Removals: manual removal requests. Check here to rule out an accidental removal submission.
- Crawl stats (Settings → Crawl stats): crawl volume, not index membership. A crawl-rate collapse can precede a coverage drop.
| Reason | Direction of divergence |
|---|---|
| Reporting delay. Search Console index data is typically 2 to 3 days behind. Our reading is only as fresh as Google’s last published figure, so a de-indexing event today may not surface for a couple of days. | Lag of 2 to 3 days |
| Rounding and bucketing. The Pages report sometimes rounds large counts; our percentage drop is computed on the raw figure Google returns to the API, which can differ slightly from the rounded UI headline. | Marginal |
| Property scope. A domain property aggregates http, https, and all subdomains; a URL-prefix property is narrower. If you compare a domain-property alert against a URL-prefix view in the UI, the totals will not match. | Variable |
| Baseline window. We use a trailing 7-day median; the UI shows a raw 3-month chart. Day-to-day the two read differently even when the trend agrees. | Marginal |
| Card | Expected relationship | What divergences mean |
|---|---|---|
google_search_console.clicks-trend | Clicks fall a few days after a coverage drop, as Google stops serving the de-indexed URLs. | Clicks falling WITHOUT a coverage drop points to a ranking or CTR problem, not de-indexing. |
google_analytics.organic-vs-paid-traffic | GA4 organic sessions to the affected pages decline as de-indexing takes hold. | If GA4 organic is steady while GSC indexed pages drop, the de-indexed URLs may be low-traffic (still worth fixing, lower urgency). |
google_search_console.organic-to-revenue-divergence | A coverage drop on commercial pages flows through to organic revenue. | Use it to size the financial impact of the de-indexed set. |