Google is not indexing your site: find the reason in Search Console

You need Google to find and index your pages. This guide shows how to use Search Console’s Page indexing report to locate the reason, fix it, and get indexed. It is written for founders who ship their own site.

By , founder of Porteur · Updated 14 September 2026 · Markdown

Start here: confirm Google can see you

Check visibility in this order. It saves you hours.

  1. Search site:yourproduct.com

    If nothing shows, you are likely not indexed. If a few URLs show, Google knows you exist but not all pages are indexed.

  2. Open Search Console

    Verify the property. A new property shows the last 16 months of what Google already had. Data lags about two days. If you see no data, Google may not have crawled yet.

  3. Read the Page indexing report

    This is your map. It lists indexed, not indexed, and why for each URL pattern. Expand each reason to sample URLs.

  4. Inspect a key URL

    Use the URL Inspection tool on, for example, https://yourproduct.com/. It tells you if the URL is on Google, the canonical Google picked, and if robots or noindex block it.

Only after this, look at robots.txt, meta robots, sitemaps and links. You are looking for one of three sitewide accidents first.

The three accidents that block whole sites

Most indexing failures come from a staging flag shipped to production. Check these three before anything else.

  • A noindex shipped to live
  • A robots.txt with Disallow: /
  • A canonical pointing to the wrong host
  1. Look for noindex

    View source on https://yourproduct.com/ and a template page like /pricing. Search for <meta name="robots" content="noindex"> or an X-Robots-Tag: noindex in headers. If present on live pages, remove it. Then request indexing on a handful of key URLs.

  2. Check robots.txt

    Visit https://yourproduct.com/robots.txt. If you see Disallow: / for User-agent: * on live, you are blocking all crawlers. Delete that line or restrict it to staging. Keep useful allows or disallows for admin areas only.

  3. Verify canonicals

    In the head, find <link rel="canonical" href="...">. It must point to the correct final URL, for example https://yourproduct.com/pricing. A wrong host like https://staging.yourproduct.com/ or http instead of https tells Google to index the other host. Fix the href across templates. Then inspect the URL again to confirm Google’s selected canonical matches yours. If the Page indexing report shows Alternate page with proper canonical tag for your real URLs, you likely pointed them away. Fix and wait for recrawl.

Read the Page indexing report like a map

Each Not indexed reason means something specific. Here is what they signal and how to react on a small site.

Reason shownWhat it meansWhat to check first
Excluded by ‘noindex’ tagGoogle crawled it and saw a noindex, so excluded it on purposeRemove noindex on live pages you want indexed. Reinspect a sample URL.
Blocked by robots.txtRobots rules stopped Googlebot fetching itrobots.txt at the root. Use the tester. Allow crawl for public paths.
Alternate page with proper canonical tagYour page points to another URL as canonical and Google agreedIs the canonical correct? If not, fix the tag. If yes, leave it.
Duplicate without user-selected canonicalGoogle found a duplicate and chose its own canonicalSet a clear canonical. Avoid trivial URL variants and parameters.
Page with redirectURL redirects and is not indexedEnsure the target is correct, final and indexable. Update links to the target.
Crawled, not indexedGoogle fetched it but decided not to index itThin, duplicate or low-value page. Improve it or consolidate.
Discovered, currently not indexedGoogle knows the URL but has not crawled it yetDiscovery or crawl queue issue. Improve discoverability and server health.
Soft 404Page looks like an error or very thinReturn 200 for real content, 404 or 410 for gone content, and enrich thin pages.
Server error (5xx) or Not found (404)Google tried and failed to fetch or got a 404Fix the server, or remove links and sitemap entries to 404s.

Click each reason to see example URLs. Fix a cause, then use Validate fix. This triggers recrawls over days to weeks. It is not instant and not guaranteed.

Fixes in order: from blockers to quality

Work top down. You want crawling unblocked, clear signals, then quality.

  • Remove sitewide blockers: noindex, Disallow: /, wrong canonicals
  • Make redirects final: 301 to the correct https, www or non-www, trailing slash choice
  • Set one canonical per page, absolute and self-referencing where appropriate
  • Ship a clean sitemap: only 200-status, canonical URLs you want indexed
  • Fix server issues: 200 for live pages, 404 or 410 for removed, 301 for moved
  • Link your pages together: add internal links from /, /pricing, and top pages to new pages
  • Improve content where Google crawled but did not index: merge duplicates, add depth, add unique assets
  • Remove infinite URL spaces: filters, calendars, session IDs; control with nofollow on facets and parameter handling

A fixed page looks like https://yourproduct.com/guides/getting-started with a unique title, one canonical to itself, in the sitemap, linked from the home page, and returning 200 over https.

Crawled, not indexed: what to change

This status means Google fetched the page, rendered it, and decided not to store it. As of 2026, indexing is selective. Thin, duplicated or low value pages are common causes.

  • Consolidate near-duplicates: merge /blog/how-to-use-our-api and /blog/api-guide into one strong page, redirect the weaker to the stronger
  • Raise usefulness: answer a clear query. Add examples, steps, screenshots and exact copy a searcher needs
  • Add internal links: link from /guides, /blog, and relevant product pages with descriptive anchor, not “click here”
  • Fix soft 404s: avoid thin stubs with a single line and a signup button. Either delete with 410 or expand properly
  • Ensure renderability: avoid client-side blocked content. Let core text and links be present in the HTML on first load
  • Remove clutter URLs: tag pages, pagination duplicates, empty category pages. Redirect or noindex where they add nothing

After changes, request indexing on a few key URLs. Then wait. It can take days to a few weeks for reprocessing. There is no guaranteed time window.

Discovered, currently not indexed: make pages discoverable

This status means Google knows the URL, but has not crawled it yet. On a small site, the cause is usually weak discovery or too many low value URLs.

  • Submit a sitemap at /sitemap.xml in the Sitemaps report. Keep only canonical, indexable URLs that return 200
  • Link new pages from crawlable hubs: /, /pricing, /docs, /blog. Avoid orphan pages
  • Trim parameter and filter URLs. If you have /shirts?size=m&sort=1, avoid linking every variant. Use one canonical list page and progressive loading
  • Check Crawl stats. If hosting is slow or returns spikes of 5xx, Google will back off. Fix server errors and keep TTFB low
  • Get a few real links from relevant sites. One good mention often triggers discovery faster than any form
  • Fix pagination and infinite scroll so links are crawlable. Offer href links to page 2, 3, and a view all where sensible

Once your sitemap is clean and links point in, the queue clears. A fixed list looks like /blog with page 1 to 5 linked, each returning 200 and listed once in the sitemap.

Request indexing and timelines

You cannot force Google to index a page. You can request a crawl of a URL after you fix issues. Indexing is selective and not all crawled pages are stored.

  • Use URL Inspection’s Request indexing on a handful of key URLs. There is a small daily quota
  • There is no fee and no submission needed to appear in Google. A public page linked from a known page is found
  • Google retired ‘Fetch as Google’ and the ‘submit URL’ form. Do not look for them
  • Discovery and indexing can take from days to a few weeks for a new site. Google gives no promise
  • Ranking on competitive queries takes months. A 2017 Google video said four months to a year for SEO work to show benefits
  • If you also use Bing, IndexNow lets you push URLs there

When pages are indexed but do not show for your query

Sometimes the page is indexed but you still cannot find it by your chosen query. That is not an indexing problem, it is ranking.

  • Check the Performance report. Filter by page. See queries, impressions, average position and CTR. Rare queries are omitted
  • Search incognito in the right country. Results vary by location and history
  • Target intent. If your /pricing page tries to rank for “how to price saas”, it will lose to guides. Build a guide and link to /pricing
  • Fix page experience basics. HTTPS, mobile usability, and Core Web Vitals matter as a lesser signal
  • Earn and give links. Internal links help discovery and relevance. Links from other sites are one signal among many

A fixed setup looks like /guides/how-to-price-saas with a clear title under 60 characters, internal links from related pages, and content that actually answers the query.

Validate fixes and keep them fixed

After you change templates or rules, you want confirmation and guardrails.

  1. Use Validate fix

    In the Page indexing report, start validation on the resolved reason. Expect days to weeks for all URLs to be checked again.

  2. Inspect key URLs

    Run URL Inspection for /, /pricing, /guides. Confirm ‘URL is on Google’, the selected canonical equals yours, and robots allow it.

  3. Watch deploys

    Keep a checklist so staging blockers never reach live. Check robots.txt, meta robots, canonical, redirects and sitemap on every release.

  4. Monitor Search Console

    Look weekly at Performance, Page indexing, Sitemaps, Manual actions and Security issues. Compare last 28 days to the 28 before for context.

Questions

Sources

Check my site, free

Paste your URL to run a free check. It reads your site, the searches around it and the rivals on them in about thirty seconds, and shows three findings whole.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next