Skip to content

Indexing Diagnostics: Why Your Pages Aren’t in Google (and How to Fix It)

‘My page isn’t indexed’ has eight common causes. Six of them are fixable in an hour.

John Cravey with EleviFounder4 min read

A page that isn’t indexed by Google can’t rank, can’t drive traffic, and can’t support your other pages. Most SMBs we audit have 10-40% of their published pages unindexed without realizing it. The fixable reasons cluster around eight common issues. Here’s how to diagnose each one and what to do.

Step 0: confirm the page isn’t indexed

Two ways. (1) Search `site:example.com/path` in Google — if the page appears, it’s indexed. (2) Paste the URL into GSC’s Inspect URL tool — gives you the canonical answer plus the reason if it’s not indexed.

Reason 1: Google hasn’t crawled the page yet

GSC Coverage status: ‘Discovered – currently not indexed.’ Google knows about the URL (probably from your sitemap) but hasn’t prioritized crawling it. Common for new pages on sites without much authority. Fix: build internal links to the page from indexed pages on your site. Or use Inspect URL → Request Indexing to nudge a crawl.

Reason 2: Google crawled the page and chose not to index

GSC status: ‘Crawled – currently not indexed.’ Google looked at the page and decided it doesn’t add value. Usually thin content, duplicate-of-something-else, or low-quality. Fix: improve the content. Make it longer, more specific, more useful. Add internal links. Update the publication date. Re-request indexing.

Reason 3: noindex directive

GSC status: ‘Excluded by ‘noindex’ tag.’ Your page has a `<meta name="robots" content="noindex">` in the HTML head or an `X-Robots-Tag: noindex` HTTP header. Fix: remove the directive if you want the page indexed. Common sources: a layout-level meta tag that wasn’t supposed to apply to this route, a CMS setting, a previous developer’s WIP state that got committed.

Reason 4: blocked by robots.txt

GSC status: ‘Blocked by robots.txt.’ Your `/robots.txt` is disallowing the URL. Fix: edit robots.txt to allow the path. We’ve seen this caused by an over-broad disallow rule meant to block admin pages also catching marketing pages.

Reason 5: canonical points elsewhere

GSC status: ‘Alternate page with proper canonical tag.’ Your page declares another URL as the canonical. Google indexes the canonical instead. Fix: only if the canonical was wrong. Most ‘alternate page’ exclusions are healthy — they prevent duplicate-content issues from query strings and pagination.

Reason 6: page returns a 404 or 5xx

GSC status: ‘Not found (404)’ or ‘Server error (5xx).’ Google tried to crawl the URL and got an error response. Fix: make the URL accessible. If it should be a 404 (the page genuinely doesn’t exist), update your sitemap to remove the URL.

Reason 7: redirect chain or loop

GSC status: ‘Page with redirect’ or ‘Redirect error.’ The URL redirects to another URL — Google follows the redirect but may not re-crawl deep chains. Fix: collapse chains to single hops. URL A → URL B → URL C should become URL A → URL C directly.

Reason 8: duplicate content

GSC status: ‘Duplicate without user-selected canonical’ or ‘Duplicate, Google chose different canonical.’ The page is too similar to another page on your site and Google deduplicated. Fix: make the pages substantively different, or canonicalize to one of them.

Diagnosing in Inspect URL

Paste the URL → click Test Live URL → see exactly what Google sees, including rendered HTML, headers, and any blocking directives. The Live Test view is the source of truth for what Googlebot encounters.

The investigation order

  1. Inspect URL the affected URL. Note the GSC status.
  2. If status is ‘Crawled – currently not indexed,’ look at the page content. Thin? Duplicate? Low value? Improve it.
  3. If status is technical (noindex, robots.txt, redirect), fix the technical issue.
  4. If status is ‘Discovered,’ improve internal linking to the page.
  5. After fixing, re-Inspect → Request Indexing. Wait 24-48 hours. Re-check.

When pages get deindexed AFTER being indexed

Different problem. Look at:

  • Did the page’s content change significantly? Google might have re-evaluated and demoted.
  • Did a recent Google algorithm update affect the topic? Industry tracker check.
  • Did a server issue prevent crawling for an extended period? Pages with persistent crawl errors get dropped.
  • Did the page get a new canonical pointing at a different URL?

Bulk-fixing indexing issues

If you have hundreds of pages with indexing issues, fix the underlying pattern, not each page individually. Common patterns:

  • All blog tag pages excluded → check if your tag pages have meaningful content or are just lists.
  • All paginated pages excluded → fine, this is healthy.
  • Many location pages thin → invest in real local content per page.
  • Old blog posts dropping → update or consolidate them.

How often to check

Weekly. The weekly GSC review should include a glance at the Coverage report. New excluded URLs in the past 7 days are the early warning that something’s drifting.

How this lands across FH client work

Every FH SEO engagement starts with an indexing audit: how many pages are in the sitemap, how many are indexed, what’s the gap, why. We fix the gap before doing anything else — there’s no point ranking effort on pages Google won’t even index. If your site’s indexed-page count is well below your published-page count, book a consultation — the diagnostic is a half-day engagement that almost always finds quick wins.

Written by
John Cravey
Founder

Founder of Frontend Horizon. Writes most of the long-form work on the FH blog.

Newer post
Why Your Website’s Bounce Rate Is Lying to You
Older post
Static Generation at Scale: Why FH Builds Ship 800+ Pages Without a Headless CMS
Keep reading

More from the blog

Search Console·6 min

Google Search Console: From Zero to Actionable in an Afternoon

GSC is free and tells you exactly what Google sees on your site. Most SMBs never look at it. Here’s how we set it up and what we check.

Search Console·5 min

Google Search Console Performance Report: Reading the Data Without Lying to Yourself

Most teams misread the Performance report the same five ways. Here’s the honest read.

Search Console·5 min

Sitemaps for Next.js Sites: The Pattern That Keeps Google Indexed

Sitemaps aren’t optional. Here’s the pattern that ships with every FH client build.