> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Pages Not Indexed, Google Search Console

> Counts the URLs Google has discovered but chosen not to index, the silent ceiling on your organic reach. How to read it, why it matters, and how to act on it.

**Card class:** [Sensitivity](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Indexing & Coverage](/nerve-centre/connectors#connectors-by-type)

> If a page is not indexed, it cannot rank, cannot earn an impression, and cannot win a click. This card is the gatekeeper metric for everything else in the connector.

## At a glance

> **Pages Not Indexed** counts the URLs that Google knows about (it has discovered or crawled them) but has chosen not to place in its index. The usual culprits are a `noindex` directive, a canonical that points elsewhere, a soft 404, or duplicate-content suppression. The card fires a sensitivity alert when the not-indexed count rises above **10% of your submitted URLs**, because a sudden climb almost always means a template or deploy regression has quietly knocked a block of pages out of search. It is a real-time gatekeeper, not a vanity count: every page in this bucket is reach you are not getting.

|                       |                                                                                                                                                                                                                                                                                                                                                                      |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**    | The number of URLs in the Google Search Console **Page indexing** report that fall under a "Not indexed" reason. This is the sum across reasons such as *Excluded by 'noindex' tag*, *Alternate page with proper canonical tag*, *Duplicate without user-selected canonical*, *Soft 404*, *Crawled, currently not indexed*, and *Discovered, currently not indexed*. |
| **Data source**       | `detail`: URLs Google knows about but has not indexed, usually due to a noindex tag, canonical mismatch, soft 404, or duplicate-content suppression. Pulled from the URL Inspection and Index Coverage data exposed via the Search Console API.                                                                                                                      |
| **Why it matters**    | A not-indexed URL is invisible to organic search. A controlled, stable number is normal (faceted URLs, thank-you pages, staging leftovers). A sudden rise is a regression: a `noindex` left in a release, a canonical loop, or a thin-content template that Google has started suppressing.                                                                          |
| **Reading the value** | Read it as a share of submitted URLs, not an absolute. 4,000 not-indexed on a 200,000-page catalogue is routine housekeeping; 4,000 on a 12,000-page site is a fire.                                                                                                                                                                                                 |
| **Currency**          | Not applicable. This card counts URLs, not money.                                                                                                                                                                                                                                                                                                                    |
| **Time window**       | `RT` (real-time). Refreshed on the standard data pull; Search Console's underlying indexing data is itself 2 to 3 days behind, so treat "real-time" as "as fresh as Google publishes".                                                                                                                                                                               |
| **Alert trigger**     | `> 10% of submitted URLs`, sentiment key for the indexing-coverage sensitivity band. The 10% threshold is calibrated to ignore normal exclusions while catching a genuine de-indexing event.                                                                                                                                                                         |
| **Roles**             | owner, marketing                                                                                                                                                                                                                                                                                                                                                     |

## Calculation

The card reads the **Page indexing** breakdown from Search Console for the connected property and sums every URL grouped under a "Not indexed" reason. Conceptually:

```
pages_not_indexed = total_known_urls − indexed_urls
                  = Σ (urls in each "Not indexed" reason bucket)
```

The alert ratio is then:

```
not_indexed_share = pages_not_indexed ÷ submitted_urls
```

where `submitted_urls` is the count of canonical URLs you have declared through your sitemaps. The card crosses into its sensitivity band when `not_indexed_share` exceeds **0.10 (10%)**.

The "Not indexed" reasons are not equal in severity. The card groups them into two tiers:

* **Intentional / benign:** *Excluded by 'noindex' tag*, *Alternate page with proper canonical tag*, *Page with redirect*, *Blocked by robots.txt*, *Not found (404)*. These are usually you doing your job (deliberately excluding faceted, paginated, or retired URLs).
* **Investigate:** *Crawled, currently not indexed*, *Discovered, currently not indexed*, *Duplicate without user-selected canonical*, *Duplicate, Google chose different canonical than user*, *Soft 404*. These signal that Google has judged the content thin, duplicated, or low-value, or has not yet got round to crawling it.

A healthy site can have thousands of URLs in the benign tier and a tiny number in the investigate tier. The danger is when the investigate tier swells, which is what the 10% alert is really there to catch.

## Worked example

A UK home-and-garden retailer runs a 14,800-page site (category, product, blog, and guide pages) and submits 12,400 canonical URLs across three sitemaps. On 10 Jun 26 the card reads as follows after a Tuesday-evening platform deploy.

| Page indexing reason                        | Tier        | URLs (09 Jun 26) | URLs (11 Jun 26) | Change     |
| ------------------------------------------- | ----------- | ---------------- | ---------------- | ---------- |
| Excluded by 'noindex' tag                   | Benign      | 1,920            | 1,930            | +10        |
| Alternate page with proper canonical        | Benign      | 640              | 641              | +1         |
| Page with redirect                          | Benign      | 210              | 212              | +2         |
| Crawled, currently not indexed              | Investigate | 180              | 184              | +4         |
| Discovered, currently not indexed           | Investigate | 90               | 92               | +2         |
| Duplicate, Google chose different canonical | Investigate | 70               | **1,690**        | **+1,620** |
| Soft 404                                    | Investigate | 30               | 31               | +1         |
| **Total not indexed**                       |             | **3,140**        | **4,780**        | **+1,640** |

The not-indexed share moves from 3,140 / 12,400 = **25.3%** to 4,780 / 12,400 = **38.5%**. Both are already above the 10% line for this site, but the day-on-day jump of 1,620 URLs into *Duplicate, Google chose different canonical* is the signal that matters.

Three observations:

1. **The benign tier barely moved.** Noindex, redirect, and proper-canonical counts crept up by single digits, which is normal organic churn (new faceted URLs, a few retired products). If only these had grown, you would not investigate.
2. **One reason carried the whole spike.** The 1,620-URL jump landed entirely in *Duplicate, Google chose different canonical than user*. That is the classic fingerprint of a canonical regression: the Tuesday deploy changed the product-page template so the `rel=canonical` now points at a parent category instead of the product itself. Google saw thousands of products all "canonicalising" up to a handful of category URLs and dropped the products from the index.
3. **The fix is a rollback, not a content rewrite.** Because the cause is a template bug, restoring the previous canonical logic returns the 1,620 URLs to the index over the next few crawl cycles. The card will track the recovery as Google re-crawls; expect a 1 to 3 week tail because indexing data lags and re-crawl is not instant.

**Rule of thumb.** When this card jumps, do not read the total. Read the *delta by reason*. A spike concentrated in one investigate-tier reason is a regression with a single root cause; a broad, even rise across benign reasons is usually just the catalogue growing.

## Sibling cards merchants should reference together

| Card                                                                                                 | Why pair it with Pages Not Indexed                                                                                        |
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [Indexed Pages](/nerve-centre/kpi-cards/google-search-console/indexed-pages)                         | The complement. Indexed + Not Indexed should reconcile to total known URLs; a fall here usually mirrors a rise there.     |
| [Total Pages Indexed](/nerve-centre/kpi-cards/google-search-console/total-pages-indexed)             | The headline coverage number. Use it to size the not-indexed share against your real index.                               |
| [Index Coverage Trend](/nerve-centre/kpi-cards/google-search-console/index-coverage-trend)           | The trended view. Tells you whether today's not-indexed reading is a one-off spike or a slow leak.                        |
| [Indexing Trend](/nerve-centre/kpi-cards/google-search-console/indexing-trend)                       | Tracks indexed-page momentum over time, the inverse curve of this card during a de-index event.                           |
| [Index-Coverage-Drop Alert](/nerve-centre/kpi-cards/google-search-console/index-coverage-drop-alert) | The real-time fire alarm for mass de-indexing. If this card climbs AND that alert fires, you have a confirmed regression. |
| [Sitemap Status](/nerve-centre/kpi-cards/google-search-console/sitemap-status)                       | Confirms your submitted-URL denominator is healthy. A broken sitemap can both inflate not-indexed and skew the share.     |
| [Sitemap-Errors Alert](/nerve-centre/kpi-cards/google-search-console/sitemap-errors-alert)           | If new content is not getting indexed, check whether the sitemap that should announce it is erroring.                     |
| [Pages Losing Traffic](/nerve-centre/kpi-cards/google-search-console/pages-losing-traffic)           | The downstream impact. De-indexed pages stop earning clicks; this card shows the traffic bleed.                           |

## Reconciling against the source

**Where to look in Google Search Console:**

The authoritative source is the **Indexing → Pages** report (often still called "Page indexing" or "Coverage"). Open it for the same property and compare:

> **Indexing → Pages → Not indexed** gives the total and the per-reason breakdown. Click any reason to see the example URL list. This is exactly what the card sums.
>
> **URL Inspection** (top search bar) confirms the status of a single URL: indexed, excluded by noindex, duplicate, or "discovered, currently not indexed". Use it to verify a sample after the card spikes.
>
> **Sitemaps** report gives your *submitted* URL count, the denominator in the 10% share calculation.

**The Search Analytics API vs the indexing data.** The Performance side of the API (`searchanalytics.query`) reports clicks, impressions, CTR and position. It does **not** expose index coverage. Indexing counts come from the URL Inspection API and the Index Coverage data, which update on a slower cadence than Performance. Do not expect the two to share a timestamp.

**Why the card may legitimately differ from the GSC UI:**

| Reason                                                                                                                                                                                                              | Direction of divergence                | What to do                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ----------------------------------------------------- |
| **Data delay.** GSC indexing data is typically 2 to 3 days behind. The card shows the latest Google has published, which may trail what you just changed.                                                           | Card lags real state                   | Wait 2 to 3 days after a fix before judging recovery. |
| **Reason grouping.** The card sums all "Not indexed" reasons; the UI lets you read them individually. If you compare a single reason against the card total, they will not match.                                   | Card higher than one reason            | Compare like for like, total vs total.                |
| **Property scope.** A Domain property aggregates http/https and all subdomains; a URL-prefix property does not. Make sure the card and the UI point at the same property type.                                      | Variable                               | Match property type.                                  |
| **Sampling and caps.** The GSC UI caps example URL lists at 1,000 rows per reason, so you cannot eyeball the full list for a large reason bucket. The count is still correct; only the visible examples are capped. | UI shows fewer examples than the count | Trust the count, not the visible list.                |

GSC also **anonymises rare queries**, which affects Performance cards, not this one; indexing counts are not query-level, so anonymisation does not apply here.

## Known limitations / merchant FAQs

**My not-indexed count is in the thousands. Is that bad?**
Not on its own. Large sites legitimately exclude faceted, paginated, filtered, and retired URLs, and those land here under benign reasons. Read the share against your submitted URLs and, more importantly, read the per-reason delta. A stable count, even a large one, is housekeeping. A sudden jump is the problem.

**The card crossed 10% but my rankings look fine. Should I worry?**
The 10% threshold is a sensitivity band, not a verdict. If the excess sits in benign reasons (noindex, redirects, proper canonicals) you are fine. If it sits in *Crawled/Discovered, currently not indexed* or *Duplicate* reasons, those are pages Google is choosing to suppress, and they are reach you are losing even if your top queries are unaffected.

**What is the difference between "Crawled, currently not indexed" and "Discovered, currently not indexed"?**
*Discovered* means Google found the URL (usually via a sitemap or link) but has not yet crawled it, often a crawl-budget or server-load signal. *Crawled, currently not indexed* means Google did fetch the page and decided not to index it, usually a quality or duplication judgement. The second is the more worrying of the two.

**Why does Search Console show a different number than this card?**
Almost always a timing or scope difference. GSC indexing data lags 2 to 3 days, so the card reflects whatever Google last published. Also confirm you are comparing the same property type (Domain vs URL-prefix) and the total-vs-total figure rather than a single reason.

**A page is in this bucket but I want it indexed. How do I get it out?**
Find the reason via URL Inspection, fix the cause (remove the stray `noindex`, correct the canonical, thicken thin content, or fix the soft 404), then use **Request Indexing** in the URL Inspection tool. Recovery is not instant: Google re-crawls on its own schedule and the card will only reflect the change once the indexing data refreshes, typically 1 to 3 weeks.

**Can a healthy site ever have zero not-indexed pages?**
Effectively never. Any site with faceted navigation, redirects, retired products, or a thank-you page will have URLs Google deliberately leaves out. Zero would actually be suspicious; it usually means the property is brand new or the sitemap is incomplete. Aim for a low, stable investigate-tier count, not a zero total.

**Does this card double-count URLs that appear under more than one reason?**
No. Google assigns each known URL a single primary status, so a URL sits in exactly one reason bucket at a time. If a URL's reason changes (say from *Discovered* to *Crawled, currently not indexed*), it moves between buckets rather than being counted twice.

***

### Tracked live in Vortex IQ Nerve Centre

*Pages Not Indexed* is one of hundreds of KPI pulses Vortex IQ tracks across Google Search Console and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
