Back to Blog

Why Google Isn't Indexing Your Pages: 11 Fixes That Work

Diagnose why Google is not indexing your pages in Search Console and apply 11 proven fixes — from sitemaps to soft 404s.

I
Indexly Team
· · 13 min read

Why Google Isn't Indexing Your Pages: 11 Fixes That Work

If Google is not indexing your pages, the cause is almost always one of three things: Google doesn't know the pages exist, Google can't crawl them, or Google crawled them and decided they weren't worth keeping. Everything below is about figuring out which of the three you have — and fixing it.

This is the guide we wish we'd had the first time we stared at "Discovered – currently not indexed" on 4,000 pages and had no idea what to do.

Table of contents

  1. First: find out which problem you have
  2. Fix 1: Submit a complete, up-to-date XML sitemap
  3. Fix 2: Audit your robots.txt and noindex tags
  4. Fix 3: Check your canonical tags
  5. Fix 4: Add internal links to every important page
  6. Fix 5: Fix "Discovered – currently not indexed"
  7. Fix 6: Fix "Crawled – currently not indexed"
  8. Fix 7: Eliminate soft 404s
  9. Fix 8: Stop hiding content behind JavaScript
  10. Fix 9: Clean up server errors and slow responses
  11. Fix 10: Earn a few external signals to important pages
  12. Fix 11: Use URL Inspection to request indexing — sparingly
  13. FAQ

First: find out which problem you have

Open Google Search Console → Pages (under Indexing). You'll see two numbers: indexed and not indexed. Click into "Why pages aren't indexed" and you get a list of reasons with a count next to each.

Every reason in that list maps to a different fix. You cannot guess which one applies — you have to look. The common ones:

Status in GSC What it actually means
Discovered – currently not indexed Google knows the URL exists but hasn't crawled it yet
Crawled – currently not indexed Google crawled it and chose not to index it
Soft 404 Page returns 200 OK but looks empty or "not found"
Duplicate without user-selected canonical Google picked a different URL as canonical
Excluded by 'noindex' tag You told it not to index (check this was intentional)
Blocked by robots.txt You blocked crawling at the robots.txt level
Redirect error / Server error (5xx) Technical problem reaching the page
Not found (404) Page returns 404 but something is still linking to it

Get the reason first. Then apply the matching fix below. If you have multiple reasons stacking up, work top-down by count — the biggest bucket is almost always the biggest lever.

Fix 1: Submit a complete, up-to-date XML sitemap

The single most common reason Google isn't indexing a page: it doesn't know the page exists. No link, no sitemap entry, no way in.

A sitemap won't force Google to index anything — but it will tell Google the full list of pages you care about, which closes the discovery gap. Pages with zero internal links and no sitemap entry are effectively invisible.

What a good sitemap looks like:

  • Every indexable page listed, and only indexable pages
  • No noindex, no 404s, no redirects, no canonicalised duplicates
  • Accurate <lastmod> dates — or omit them entirely
  • Updated automatically when you publish or remove content
  • Submitted in Google Search Console → Sitemaps

Most sitemap rot happens because someone set up a sitemap generator a year ago, never checked on it, and 40% of the URLs now redirect or 404. If that's you, start there. Indexly handles the "stay current forever" part automatically — crawl your site on a schedule, regenerate the sitemap, host it on a permanent CDN-backed URL. More on getting a sitemap right in our XML sitemap guide.

Fix 2: Audit your robots.txt and noindex tags

This is the "oh no" fix. About one in five "Google isn't indexing my pages" problems turn out to be the site owner accidentally telling Google not to.

Three things to check:

1. robots.txt. Visit https://yoursite.com/robots.txt in a browser. If you see:

User-agent: *
Disallow: /

…congratulations, you blocked Google from everything. This is the classic "we deployed staging config to production" bug. The correct minimal robots.txt is usually:

User-agent: *
Allow: /
Sitemap: https://yoursite.com/sitemap.xml

2. noindex meta tag. View source on a page that's not indexing and search for noindex. If you find <meta name="robots" content="noindex">, that's why. Remove it.

3. X-Robots-Tag header. Less obvious. Some frameworks add X-Robots-Tag: noindex at the HTTP header level, invisible in page source. Check with curl:

curl -I https://yoursite.com/page

If noindex shows up in the headers, find it in your server or CDN config.

A gotcha: robots.txt and noindex do different things. robots.txt blocks crawling. noindex blocks indexing. We break down the distinction fully in sitemap vs robots.txt.

Fix 3: Check your canonical tags

Canonical tags tell Google "if you see multiple URLs with this content, treat this one as the real one." Get them wrong and Google indexes a different URL than the one you wanted.

Common canonical mistakes:

  • Every page canonicalised to the homepage (a templating bug — usually a hardcoded <link rel="canonical" href="https://example.com/">)
  • Canonicalising HTTPS pages to HTTP
  • Canonicalising pages with query parameters to the clean URL — when the parametered version is actually the one you want indexed
  • Cross-domain canonicals pointing to a site you don't own anymore

View source, search for rel="canonical", confirm the URL matches the page you're on or the version you want indexed. If it points somewhere surprising, that's your problem.

Fix 4: Add internal links to every important page

Google decides how important a page is partly by how many internal links point to it and how prominent those links are. A page that only lives in your sitemap, with zero links from anywhere else on your site, is a page Google will crawl with low priority — if at all.

The fix is unglamorous: link to the page from somewhere that matters. Options, in rough priority order:

  1. From your homepage or main navigation
  2. From a category or hub page that's already indexed
  3. From a recent blog post on a related topic
  4. From the sidebar or footer of existing high-traffic pages

For a new page, aim for at least two or three internal links within a week of publishing. Orphan pages (pages with zero internal links) are the single most common cause of "Discovered – currently not indexed" staying stuck for months.

Fix 5: Fix "Discovered – currently not indexed"

This specific status means Google found the URL — probably via your sitemap or a link — but hasn't crawled it yet. It's a queueing problem, not a quality problem (yet).

Common root causes:

  • Crawl budget pressure. Google crawls a fixed amount per day per site. If your site has 50k URLs and Google's daily budget covers 2k, it takes weeks to reach new pages.
  • Low perceived value. Google deprioritises sites where previous crawls turned up a lot of thin or duplicate content. It starts crawling less.
  • Server slowness. If your server is slow to respond, Google throttles back to avoid hurting real users.
  • Orphaned URLs. Google found the URL once (maybe via a referral or a stale sitemap) but nothing on your site links to it anymore.

Fixes: speed up your server (target sub-200ms response times), prune low-value pages so the remaining ones look more valuable per-crawl, add internal links to affected pages, make sure your sitemap only lists indexable URLs. We go deep on this in the crawl budget guide.

Fix 6: Fix "Crawled – currently not indexed"

This one is different. Google has already visited the page but decided not to add it to the index. It's a quality judgement.

Google won't tell you why, but the usual suspects are:

  • Thin content. Under 300 words of real content on a page Google thinks should be substantive.
  • Duplicate-ish content. Near-identical to another page on your site or elsewhere on the web.
  • Low topical authority. New site, few backlinks, no signals that you're an authority on the topic.
  • Poor user signals. Pages similar to this one on your site already get low engagement.

Fixes: expand the content until it's genuinely more useful than what ranks today; consolidate thin pages into fewer stronger ones using 301 redirects; add canonical tags if duplication is the issue; get one or two external links to the page so Google has a reason to reconsider.

Do not just hit "Request Indexing" and hope. If the page wasn't good enough the first time, a manual re-submit won't change Google's mind.

Fix 7: Eliminate soft 404s

A soft 404 is when your server returns 200 OK but the page content looks empty, missing, or error-like to Google. Google treats it as not worth indexing and filters it out.

Where soft 404s hide:

  • "No results found" search pages that return 200
  • Deleted products redirected to a generic "this item is no longer available" page at 200
  • Empty category or tag pages
  • Client-rendered pages where JavaScript failed and only the empty shell shipped
  • Thin placeholder pages you meant to flesh out later

Fixes, in descending order of correctness:

  • Gone permanently? Return 410 Gone.
  • Gone for now but might come back? Return 404.
  • Merged into another page? 301 redirect to the closest relevant page (never just the homepage).
  • Should exist but is thin? Add real content.

Google's Gary Illyes specifically flagged soft 404s at Search Central Live 2025 as a growing category of indexing problem — and the fix is always a cleaner HTTP response or more content, never a workaround.

Fix 8: Stop hiding content behind JavaScript

If your site is a pure client-side single-page app — content loads via JavaScript after the initial HTML ships — Google can often render it, but unreliably and slowly. Pages frequently end up as soft 404s because the initial HTML is an empty shell.

Sitemap tools hit the same wall. Most crawlers, including Indexly's, fetch raw HTML — they don't execute JavaScript. If your pages only exist after JS runs, no HTML-based crawler will find them, including Googlebot's first pass.

The right fix isn't a workaround. It's server-side rendering (SSR) or pre-rendering:

  • Next.js → use SSR or SSG (not pure CSR)
  • Nuxt → enable ssr: true
  • React/Vue SPAs → add a pre-renderer like Prerender.io, or migrate to a framework that supports SSR
  • Angular → Angular Universal

Once the HTML Google fetches contains your actual content, indexing problems usually drop sharply. This is a wider SEO requirement — it applies whether you use Indexly, build your sitemap by hand, or use any other tool.

Fix 9: Clean up server errors and slow responses

Google backs off fast on sites that throw errors or respond slowly. In GSC → Pages, look for:

  • Server error (5xx) — your app threw a 500-series error when Googlebot fetched
  • Redirect error — a redirect loop or chain Google couldn't follow
  • Timeout — response took too long (generally >10 seconds)

Each of these eats crawl budget and tells Google your site is unreliable. Fix them before trying to get new pages indexed — Google won't prioritise a site that failed to serve it last week.

Quick wins: check your error logs, set up proper uptime monitoring, put a CDN in front of your app, make sure search-engine user-agents aren't getting rate-limited by your firewall (this is surprisingly common on Cloudflare when bot-fight mode is aggressive).

Fix 10: Earn a few external signals to important pages

If a page isn't indexing and you've done everything above, sometimes what's missing is an external vote of confidence. Not a link-building campaign — just one or two relevant links from sites Google already trusts.

Cheapest options:

  • Link to the page from your own social profiles
  • Mention it in a newsletter that gets opened and clicked
  • Guest post on a relevant site and link to it
  • Answer a question on a forum or subreddit where it's genuinely useful
  • Get it included in a roundup or "tools I use" list

The goal isn't link equity in the classical SEO sense. It's triggering Google to re-evaluate the page with a new signal. One or two real links from real sites is usually enough.

Fix 11: Use URL Inspection to request indexing — sparingly

In GSC, paste a URL into the inspection tool at the top, then hit "Request Indexing." This puts the URL in a priority queue to be re-crawled.

Things to know:

  • You get roughly 10–12 request-indexing submissions per day per property. Budget them.
  • Requesting indexing does not override quality judgements. If the page was rejected for thin content, re-requesting won't fix it.
  • It's best used after you've made real changes — fixed a noindex, rewritten thin content, added internal links — to tell Google "look again."
  • Never use it as a habit. If you're requesting indexing on every publish, you have a discovery problem, and the real fix is a better sitemap and better internal linking.

FAQ

Why is Google not indexing my pages?

Usually one of three reasons: Google doesn't know the pages exist (fix: sitemap and internal links), Google can't or won't crawl them (fix: robots.txt, server speed, crawl budget), or Google crawled them and decided the quality wasn't good enough (fix: better content, consolidation, external signals). Check Search Console to identify which.

How long does Google take to index a new page?

Typically anywhere from a few hours to several weeks, depending on your site's authority and crawl frequency. Established sites with strong internal linking often see new pages indexed within 24–48 hours. New sites can take weeks. If a page has been waiting over a month, treat it as a problem to diagnose, not a delay to wait out.

What does "Discovered – currently not indexed" mean?

It means Google knows the URL exists but hasn't crawled it yet. This is usually a crawl-budget or priority issue rather than a quality one. Common causes include slow server responses, thin content elsewhere on the site dragging down crawl priority, or a sitemap full of low-value URLs that diluted Google's trust in your URL list.

What does "Crawled – currently not indexed" mean?

Google fetched the page but chose not to add it to the index. This is a quality judgement — usually thin content, near-duplicate content, low topical authority, or weak user signals. Fixes include expanding the content, consolidating similar pages, adding internal links from authoritative pages on your site, and earning a few external links.

Does a sitemap force Google to index my pages?

No. A sitemap tells Google which pages exist and when they changed — it does not force indexing. Google still decides whether each page is worth keeping. A complete, accurate sitemap helps discovery enormously, but it's not a magic switch. Quality and internal linking still matter once Google finds the URL.


The bottom line

Most "Google isn't indexing my pages" problems come down to a handful of root causes, and every one of them is diagnosable from Search Console. Open the Pages report, find the biggest not-indexed bucket, match it to the fix above, and work top-down.

The one underlying thing you can't skip is keeping Google's picture of your site accurate — a current sitemap, correct canonicals, no broken redirects, no abandoned URLs. That's the part that tends to rot without anyone noticing.

If that sounds like a chore you'd rather automate, try Indexly free — paste your URL, get a hosted sitemap that stays current, and get email alerts the moment pages are added, removed, or start misbehaving. No credit card, no plugin to install. Every page found. Every page indexed.

I

Indexly Team

Writing about SEO, sitemaps, and how to get every page indexed by Google.

Enjoyed this post?

Get our next one delivered to your inbox — no spam, ever.

Back to Blog

Ready to get your site fully indexed?

Get started free