This page is the quick fix-it triage. For the longer indie-site strategy (authority, internal links, crawl budget over weeks and months), see Discovered not indexed — strategy for new indie sites.
TL;DR (fastest path)
Run one diagnostic before you change anything: open Search Console → URL Inspection, paste one affected URL, click Request indexing, and wait 1-3 days. The result tells you which problem you actually have:
- It enters the index → not a content problem. It’s a discovery/priority problem: add internal links (Step 3) and clean junk URLs (Step 2).
- It flips to “Crawled - currently not indexed” → Google fetched it and declined. That’s a content-quality problem, see Crawled - currently not indexed.
- It stays “Discovered - currently not indexed” → site-level signals are too weak. Build authority (Step 4) and wait.
What “Discovered - currently not indexed” means: Google knows the URL exists (from your sitemap or a link) but has not dispatched a crawler to fetch it yet. That is different from “Crawled - currently not indexed”, where the page was fetched and rejected. Here it was never fetched. The fix is not to force a crawl; it is to make Google decide your site is worth spending crawl budget on.
Reality check (as of June 2026): Google’s own guidance is that crawl budget is only a real bottleneck for sites with over ~1 million unique pages, or mid-sized sites (10,000+ pages) whose content changes daily. If your site is a few hundred pages, “Discovered” is far more often a weak-discovery-signal or perceived-quality problem than a literal budget cap. Diagnose before you assume.
Which bucket are you in?
| Symptom | Most likely cause | Go to |
|---|---|---|
| Request indexing → page indexes within days | Weak discovery signal (few/no internal links) | Step 3 |
Crawl Stats shows lots of hits on /tag/, /search?, ?utm_= | Budget wasted on junk URLs | Step 2 |
| Request indexing → flips to “Crawled - not indexed” | Content quality | Crawled fix |
| Brand-new site, almost nothing indexed yet | Low site authority / crawl demand | Step 4 |
| Large template/generated site, whole URL shapes ignored | Historical thin-content pattern | Step 4 + prune |
Common causes
1. Low crawl demand on a new or low-authority site
Crawl budget has two halves: crawl capacity (what your server can handle) and crawl demand (how much Google wants to crawl you, driven by popularity, historical quality, and update frequency). New, low-link, low-traffic sites have very low crawl demand, so Googlebot fetches the few URLs that look important and parks the rest in Discovered.
How to confirm: Search Console → Settings → Crawl stats → “Total crawl requests” trend. Active healthy sites run hundreds to thousands per day; brand-new sites often sit at 10-50.
2. Crawl budget eaten by junk URLs
If your site emits many thin, duplicate, or parameter URLs (faceted nav, tag pages, on-site search results, UTM links, trailing-slash and HTTP/HTTPS duplicates), Googlebot burns its allowance on those and your real articles wait.
How to confirm: Crawl stats → “By file type” and “By response”. If a large share of crawls land on /tag/, /search?, or /products?color=, your budget is leaking.
3. Weak discovery signal for the URL
Google discovers URLs via internal links, external links, and sitemaps. Sitemap-only is the weakest signal Google explicitly treats a URL that appears once in the sitemap, has zero internal links, and zero external mentions as low-priority and pushes it to the back of the queue. An “orphan” page (only in the sitemap) reads as “not important” to Google’s scheduler.
How to confirm: pick 3 Discovered URLs and count where each is referenced:
rg "/that-url/" src/
If only the sitemap generator references it, the signal is weak.
4. Historical pattern says this URL shape is thin / duplicate
Google estimates a page’s quality from similar pages and URL patterns it has already crawled, not from the un-fetched page itself. If it judged earlier pages in that shape as low quality, it actively deprioritizes crawling new URLs of the same shape. Common with:
- Template sites shipping city × product × language combinations
- Bulk AI-generated, unedited listicle pages
- Tag / category pages with heavily overlapping content
Shortest path to fix
Step 1: Confirm whether it’s a quality block
Pick one Discovered URL. Search Console → URL Inspection → Request indexing. Wait 1-3 days, then re-inspect:
- Enters the index → not a quality issue, it’s a budget/priority issue. Go to Steps 2-3.
- Switches to “Crawled - currently not indexed” → content-quality issue. See Crawled - currently not indexed.
- Still Discovered → site-level authority is too weak. Go to Step 4.
Quota note (June 2026): “Request indexing” is rate-limited to roughly 10-12 URLs per day per property (Google does not publish an exact figure and it varies by account history). It is a diagnostic and a nudge, not a bulk-indexing tool. Submitting the same URL repeatedly does nothing; you’ll just hit “Quota exceeded”.
Step 2: Free up crawl budget from junk URLs
In robots.txt, block thin and parameter URLs so Googlebot spends its allowance on real content:
User-agent: *
Disallow: /search
Disallow: /tag/
Disallow: /*?utm_
Disallow: /*?ref=
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://yourdomain.com/sitemap.xml
For pages that must stay reachable by users but should not be indexed, use a robots meta tag instead of a robots.txt block (a blocked page can’t be read, so Google never sees the noindex):
<meta name="robots" content="noindex,follow" />
follow lets Google keep traversing internal links from that page while skipping the page itself.
Step 3: Add internal-link signal to the Discovered URL
Find pages that only the sitemap references:
# -L lists files that do NOT contain the match
rg -L 'href="/my-discovered-url"' src/
If your /articles/ index, the homepage “Latest” section, and the related-articles module don’t link it, add it. Example related-articles render in Astro:
{related.map(p => (
<li><a href={`/articles/${p.slug}/`}>{p.data.title}</a></li>
))}
Goal: every URL you want indexed has at least 5 internal links pointing to it, using real <a href> anchors (not JavaScript onClick navigation, which Google may not follow).
Step 4: Boost site-wide authority and crawl demand
Short-term:
- Earn 3-5 real backlinks (Reddit, Hacker News, a friend’s blog, a relevant awesome-list).
- Submit to Indie Hackers, Product Hunt, and on-topic directories.
- Push your best 5 articles on social to drive genuine traffic — real visits raise crawl demand.
Medium-term:
- Publish 2-3 quality articles per week (~800+ words, a unique angle, not boilerplate).
- Build hub / pillar pages that aggregate related articles and link down to them.
- Delete or merge the thinnest 20-30% of pages so your site-wide quality ratio improves.
Step 5: Wait 2-8 weeks and watch the count
- Don’t check daily — the Page indexing report (“Pages”) lags ~2-3 days, and crawl behavior changes over weeks.
- Re-check the Pages report’s Discovered count every ~2 weeks.
- Realistic expectation: a 30-50% drop in the Discovered count after 8 weeks once links and authority improve.
If nothing has moved after 8 weeks, re-run the Step 1 diagnostic on a fresh URL.
How to confirm it’s fixed
- URL Inspection on the previously-stuck URL should read “URL is on Google” with a real “Last crawl” date. That is the authoritative check — not a
site:search, which is only a rough orientation and is often stale. - In the Pages report, the page moves out of “Discovered - currently not indexed” into the indexed set.
- The site-wide Discovered count trends down across two or more 2-week checkpoints.
Prevention
- Don’t publish empty, placeholder, or near-duplicate template pages.
- Default thin pagination (tag, search, filter) to
noindex. - On publish, auto-link every new article from the homepage, the index, and the related-articles module.
- Block UTM / tracking params in
robots.txtso they never burn crawl budget. - Keep the sitemap clean: only 200-OK, canonical, indexable URLs — no 301s, no 404s, no
noindexpages. - If your stack supports it, ping IndexNow on publish/update for a faster discovery signal (it complements, not replaces, sitemaps and links).
FAQ
How long does “Discovered - currently not indexed” take to resolve? There’s no fixed timer. After Request indexing, a healthy URL often indexes in 1-3 days. Site-level fixes (links, authority, pruning) show up over 2-8 weeks. If a URL was previously indexed and isn’t re-crawled within roughly 75-140 days, Google may drop it, so keep important pages linked and fresh.
Is “Discovered” worse than “Crawled - currently not indexed”? They’re different problems. “Discovered” means Google hasn’t fetched the page yet (a priority/discovery issue). “Crawled - currently not indexed” means Google fetched it and chose not to index it (a quality/value issue). Use Request indexing to tell which one you’re in.
Will requesting indexing on every URL fix it? No. The tool is capped at roughly 10-12 URLs/day per property and only nudges one URL into the queue. It won’t fix the underlying weak-signal or low-authority cause, and bulk attempts just return “Quota exceeded”. Treat it as a diagnostic.
Do I really have a crawl-budget problem on a small site? Usually not. Google says crawl budget is a genuine constraint mainly above ~1M pages, or 10,000+ pages that change daily. On a few-hundred-page site, “Discovered” is almost always weak internal linking or perceived thin content, not a literal budget cap.
Does submitting a sitemap force indexing? No. A sitemap helps discovery, but it’s the weakest signal and never guarantees crawling or indexing. Internal links, external links, and demonstrated quality decide whether Google spends a crawl on the URL.
Related
- Crawled - currently not indexed
- New site stuck in discovery phase
- Large content site indexing slowly
Tags: #SEO #Google #Search Console #Indexing