The Google tab

How to read the Google tab: indexing headline, the funnel, why pages aren't indexed with a diagnosis per group, quick wins, and how fresh the data is.

Updated 8 October 2026View as Markdown

The Google tab ("Why isn't Google indexing me?") joins Google Search Console data with your latest SEOFix audit. It shows how many of your pages Google indexes, where pages drop out, why the rest aren't indexed with a fix for each group, and indexed pages that under-perform. Open any audit of a site and choose the Google tab. Agents: get_indexing_summary, list_not_indexed, get_opportunities, get_url_status and inspect_urls (MCP), or GET /v1/sites/{id}/google….

Before you see data

What the tab shows Why What to do
The ownership card The site isn't verified Verify it. See Verify site ownership.
Connect Search Console to see Google's view Verified, but no Search Console connection covers it Connect Search Console. See Connect Google Search Console.
Google's first sync is running Just connected Wait. The page updates by itself when the data lands.
"Google access was revoked" or "We couldn't reach Search Console" The connection stopped working Reconnect Search Console. The last synced data stays visible.

The Google tab and its API endpoints are for verified sites only. Unverified sites get 409 site_not_verified.

The headline

  • Indexed by Google: indexed pages out of the pages SEOFix found, as a count and a percentage, with a 90-day trend and the change since last week.
  • not indexed: pages Google reported as not indexed. "plus ~N" (marked estimated) adds pages Google hasn't inspected yet that had no impressions in 90 days.
  • Clicks · 28 days and Impressions.
  • Pages with clicks, and Inspected by Google so far with today's inspection budget ("N of M inspections used today").

Counts marked estimated include pages Google hasn't inspected yet: those count as indexed when they got impressions in the last 90 days, and as not indexed when they got none.

The funnel

The funnel: where your pages drop out shows five stages. Each stage counts pages that passed every earlier stage, so Indexed counts only pages in your sitemap. If your site has no sitemap, the sitemap stage is left out.

Stage Counts
Found by SEOFix Pages your latest audit found
In your sitemap Of those, pages listed in your sitemap
Indexed by Google Of those, pages Google indexes
Getting impressions Of those, pages with impressions in the last 28 days
Getting clicks Of those, pages with clicks in the last 28 days

If Google indexes pages your sitemap doesn't list, a line under the funnel counts them. Search Console calls them "Indexed, not submitted in sitemap". Add the ones you want found to your sitemap.

Why aren't my pages indexed?

This panel sorts every not-indexed page by URL pattern into Worth indexing and Low value – keep out of Google, each group with an action. See Why aren't my pages indexed?.

Why pages aren't indexed, and the fix

This list groups not-indexed pages by Google's reason (the coverage state, exactly as Search Console words it, for example "Crawled - currently not indexed") and by URL template, most pages first. Each group shows:

  • Our diagnosis: the crawl signals most common in the group, for example "71% share a title with another page". SEOFix shows the top 2 signals that apply to at least 20% of the group's pages.
  • The fix for Google's reason, plus the fix for each signal.
  • Send to my agent (copies an instruction for Claude Code with the SEOFix MCP server), Copy fix prompt (for Claude Code, Codex or Cursor) and Share link (opens this group of the report for anyone on your team).
  • Show URLs lists the group's pages with their coverage state and crawl issues, each with Inspect now.

Diagnosis signals:

Signal Means
Duplicate title Shares a title with another page
Duplicate content Duplicates another page's content
Thin content Under 150 words on a 200 page
Noindex Carries a noindex directive
Canonical elsewhere Canonicalises to another URL
Deep 4 or more clicks from the start page
Few inbound links At most 1 internal page links to it
Broken Broken in the crawl (no answer, a fetch error, or 400 and above, not counting firewall blocks)
Robots-blocked Blocked by robots.txt

Inspect now

Inspect now asks Google's URL Inspection API for a fresh verdict on one URL. Agents can inspect 1–20 URLs at once:

curl -X POST https://api.seofix.ai/v1/sites/42/google/inspect \
  -H "Authorization: Bearer $SEOFIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com/jobs/123"]}'

Inspections use the property's daily budget, shared with the sync. When it is spent, the error is budget_exhausted with resets_at, and Inspect now comes back when the budget resets. The endpoint allows 10 calls per minute. Inspection shows what Google saw on its last crawl: it does not ask Google to crawl or index the page.

Quick wins (already indexed, under-performing)

Card Which pages What the card suggests
Low click-through At least 100 impressions in 28 days and a CTR below your site's median for the same position band (1–3, 4–7, 8–10, 11–20) Rewrite their titles and descriptions
Almost on page 1 Average position 8–20 with at least 50 impressions in 28 days Add internal links and content
Canonical mismatch Pages where Google ignores your canonical and picked another URL Lists the pages so you can check the canonical

Each card shows the top 5 pages. get_opportunities (MCP) and GET /v1/sites/{id}/google/opportunities return up to 50 per card.

By template

The By template table lists each URL template with Pages, Indexed, Clicks 28d and its Main blocker.

How fresh the data is

  • The intro line shows "Search data as of (date)" and "Next sync (date)".
  • Search analytics (clicks, impressions, CTR, position) cover the 28 and 90 days ending 3 days before the sync, because Google's data lags 2–3 days.
  • Syncs run at night in the team owner's time zone: daily on Starter and Growth, weekly on Free. Each sync also inspects more pages, up to the budget (2,000 a day per property on paid plans, 300 per sync on Free).
  • Inspection verdicts reflect Google's last crawl of each page. Google re-crawls on its own schedule.
  • The crawl side comes from the site's latest finished audit. If you are looking at an older audit, the intro links to the latest one.

API and MCP

Data MCP tool Endpoint
Headline, funnel, trend, by template, sync status get_indexing_summary GET /v1/sites/{id}/google
Not-indexed groups; with reason and template, that group's URLs list_not_indexed GET /v1/sites/{id}/google/not-indexed
One URL's crawl findings, Google verdict and search performance get_url_status GET /v1/sites/{id}/google/url?url=…
Quick wins get_opportunities GET /v1/sites/{id}/google/opportunities
Fresh inspection of 1–20 URLs inspect_urls POST /v1/sites/{id}/google/inspect
Not-indexed triage get_index_triage GET /v1/sites/{id}/index-triage
curl https://api.seofix.ai/v1/sites/42/google \
  -H "Authorization: Bearer $SEOFIX_API_KEY"
{
  "as_of": "2026-10-05",
  "sync": {"status": "ok", "synced_at": "2026-10-08T02:41:00Z", "next_at": "2026-10-09T02:40:00Z", "inspections": {"used": 640, "limit": 2000}},
  "indexed": 812,
  "not_indexed": 233,
  "inspected": 1045,
  "estimated_not_indexed": 40,
  "clicks_28d": 5120,
  "impressions_28d": 210400,
  "pages_with_clicks": 388,
  "funnel": {"found": 1500, "in_sitemap": 1320, "indexed": 790, "with_impressions": 610, "with_clicks": 380, "indexed_outside_sitemap": 22, "estimated": true}
}

sync.status is not_connected, syncing, ok, revoked or error.

More in Google Search Console

Still stuck? Email [email protected] with your site and what you expected to see.