Four. Out of 122 pages in my sitemap, Google has indexed four. Not crawled, indexed. The other 119 sit in a Search Console status I'd never read closely before: "Discovered - currently not indexed."
I run a small Next.js site, a free library of tested AI prompts (https://tamethebot.com). About 90 prompt pages, 15 profession pages, a few guides. It's six weeks old. When I saw "4 indexed" I assumed something was broken and went hunting for the bug. Most of what I checked turned out fine, and the real answer wasn't a bug at all.
The sitemap was fine
My first guess was a broken sitemap. App Router builds one from sitemap.ts, so I checked what Google actually receives:
curl -sI https://www.tamethebot.com/sitemap.xml | grep -i content-type
content-type: application/xml
Status 200, correct content type, 122 URLs, each with its own lastmod. Search Console even said "Sitemap processed successfully." Not it.
robots.txt had a real problem (just not this one)
This part is worth stealing. My robots.ts was doing this:
disallow: ["/api/", "/_next/", "/admin/"],
Blocking /_next/ stops Googlebot from fetching the CSS and JS it needs to render the page, which Google's own docs tell you not to do. I removed it. But it wasn't my indexing problem, because my content is server-rendered into the HTML, not painted on by client JS. That sent me to the next check.
The pages weren't thin, and weren't client-rendered
Next theory: maybe the pages rendered client-side and Googlebot saw an empty shell. They don't. Every prompt page ships about 1,000 words of real HTML, statically generated with generateStaticParams. I also measured whether the pages were near-duplicates of each other, since "templated" was the fear I couldn't shake. Two unrelated prompt pages shared about 11% of their text. Not duplicates.
So the sitemap was clean, the rendering was clean, the content was unique, the internal links were there, and the homepage was indexed. Nothing was broken. That's when the exact wording of the status finally clicked.
"Discovered" is not "Crawled"
Google has two different "not indexed" buckets, and they mean opposite things.
"Crawled - currently not indexed" means Google fetched the page and decided not to index it. A quality judgment.
"Discovered - currently not indexed" means Google knows the URL exists but hasn't fetched it yet. A crawl-budget decision.
I was in the second bucket. Google wasn't rejecting my content. It hadn't spent the budget to look. On a new domain with almost no backlinks, that's the default, not a malfunction. The clearest proof: my homepage is indexed and links straight to 6 prompt pages, and even those 6 hadn't been crawled. A clean path, still skipped.
What I took away from it
You can't request your way out of a budget gate. I submitted 15 pages by hand through URL Inspection and nothing moved. The real lever turned out to have nothing to do with code.
Authority comes before page count. Shipping 90 pages before earning a single backlink asks Google to spend crawl budget it has no reason to spend.
Read the literal status string. One word, "Discovered" versus "Crawled," saved me from a week of pointless technical fixes.
A correct technical setup is the floor, not a growth lever. My sitemap and rendering being perfect bought me nothing on their own.
I spent two days auditing my own machinery, and the machine was never the problem. The quiet wasn't Google turning me down. It was Google saying it hadn't looked yet, and I hadn't given it a reason to.













