Why Technically Perfect Pages Stay Invisible to Google
99 pages. 99 Lighthouse scores. Every Core Web Vitals test passed. Still nearly invisible to Google after 30 days. Here's why — and what to do about it.
On this page
- Key takeaways
- The setup: a site built to SEO best practices
- Performance data: what the numbers show
- Desktop Core Web Vitals
- Mobile Core Web Vitals
- The indexation gap: what Google actually knows
- Pages with impressions (the indexed fraction)
- The October publication wave: still undiscovered
- The homepage paradox: crawled but not indexed
- What the indexed pages tell us
- Why technical perfection is not enough
- What actually moves pages into the index
- The real lesson from 99 pages of data
- Frequently asked questions
- Why is my website not indexing even though it passes Core Web Vitals?
- How long does it take Google to index a new page after submitting a sitemap?
- Does a “Crawled - currently not indexed” status mean my page has a problem?
- How do I check how many of my pages are actually indexed?
- Does mobile-first indexing mean I should prioritize mobile performance over desktop?
- What is crawl budget and how does it affect indexation?
A site can pass every Core Web Vitals test, ship zero JavaScript errors, maintain perfect CLS, and still show up in Google Search Console as 85% invisible.
That is not a hypothetical. It is the measured reality of this site — a new SEO tools property that has been live since August 2026, with 99 indexed URLs in its sitemap and a clean bill of technical health.
This study documents what happened, why it happened, and what the data means for anyone who builds or audits websites for a living.
Key takeaways
- 99 URLs in a valid XML sitemap. 30 days of GSC monitoring. Only ~15 pages appear in search impressions.
- Homepage crawled September 4 and still “Crawled - currently not indexed” as of October 10 — over five weeks with no re-crawl.
- Pages that did get indexed are already competitive: contact page at position 1.6, terms at 3.6, privacy at 4.7, ecommerce SEO checklist at position 2.
- PageSpeed scores ranged from 88 to 100 across tested pages. Technical quality did not accelerate indexation.
- GSC URL Inspection is the only reliable way to move priority pages from “discovered not indexed” to indexed.
The setup: a site built to SEO best practices
When this site launched, the build followed every recommendation in the standard SEO playbook:
- Static site generation (SSG) with server-side rendering for dynamic routes
- Canonical tags on every page, pointing to the HTTPS canonical
- XML sitemap submitted to Google Search Console on day one
robots.txtallowing all crawlers, with Googlebot named explicitly- No noindex directives, no robots meta blocks, no HTTP auth
- All pages rendering full HTML at request time — no JavaScript dependency for content
- Image dimensions declared, lazy loading implemented, font-display: swap set
- No mixed content, all resources over HTTPS
The sitemap contained 99 URLs: the homepage, 13 tool pages, 68 blog posts, 11 guides, 4 audience landing pages, and 3 utility pages.
The Core Web Vitals numbers on launch day were not “good enough.” They were near-perfect.
Performance data: what the numbers show
Testing across representative page types — homepage, tool pages, blog posts, guides, and legal pages — Google PageSpeed Insights returned scores between 88 and 100. The majority of pages scored 99 or 100 on desktop.
Desktop Core Web Vitals
| Page type | PSI score | LCP | FCP | CLS | TBT |
|---|---|---|---|---|---|
| Homepage | 99 | 0.5s | 0.5s | 0 | 90ms |
| Tool page (SEO Analyzer) | 100 | 0.3s | 0.3s | 0.004 | 70ms |
| Blog post (SERP Features) | 99 | 0.4s | 0.4s | 0.063 | 80ms |
| Blog post (Duplicate Content) | 100 | 0.3s | 0.3s | 0.002 | 10ms |
| Legal (Terms) | 100 | 0.3s | 0.3s | 0.007 | 80ms |
| Contact | 100 | 0.6s | 0.3s | 0 | 30ms |
Mobile Core Web Vitals
| Page type | PSI score | LCP | FCP | CLS | TBT |
|---|---|---|---|---|---|
| Homepage | 100 | 1.2s | 1.2s | 0 | 90ms |
| Guide (On-Page SEO) | 99 | 1.7s | 1.2s | 0 | 90ms |
| Guide (Core Web Vitals) | 100 | 1.7s | 1.2s | 0 | 30ms |
| Blog post (Zero-Click SERP) | 98 | 2.3s | 1.5s | 0 | 80ms |
No page failed Google’s Core Web Vitals assessment on either device. LCP stayed under 2.5s everywhere. CLS was at or near zero on every tested page. TBT remained below the 200ms “Needs Improvement” threshold on 11 of 12 tested pages.
The one page scoring 88 (ecommerce SEO checklist) had a TBT of 290ms — still in the “Needs Improvement” range but not failing. All other pages on the site were comfortably in the “Good” range.
The indexation gap: what Google actually knows
The sitemap submitted on August 26 contained 99 URLs. Google Search Console confirmed those 99 URLs as valid, with zero errors and zero warnings.
30 days later, the GSC performance report showed a different picture.
Over the 28-day GSC window (September 12 – October 10, 2026), only 15 of the 99 URLs generated any impressions at all. The vast majority of pages had received zero impressions — meaning Google had not crawled them, or had crawled and decided not to index them.
Pages with impressions (the indexed fraction)
| Page | Clicks | Impressions | CTR | Avg. position |
|---|---|---|---|---|
| /contact/ | 1 | 12 | 8.3% | 1.6 |
| /privacy/ | 1 | 3 | 33.3% | 4.7 |
| /tools/seo-analyzer/ | 1 | 177 | 0.6% | 80.7 |
| /terms/ | 0 | 11 | 0% | 3.6 |
| /blog/serp-features-cheat-sheet/ | 0 | 20 | 0% | 86 |
| /blog/pillar-cluster-model/ | 0 | 19 | 0% | 62.9 |
| /changelog/ | 0 | 1 | 0% | 3 |
| /guides/eeat/ | 0 | 2 | 0% | 4 |
| /blog/ecommerce-seo-checklist/ | 0 | 1 | 0% | 2 |
| /sustainability/ | 0 | 1 | 0% | 7 |
| /blog/zero-click-serp-2026/ | 0 | 2 | 0% | 9.5 |
| /guides/mobile-seo/ | 0 | 1 | 0% | 10 |
The homepage — the site’s primary entry point — received 0 impressions in this window. Its GSC URL Inspection status was “Crawled - currently not indexed,” last crawled September 4. It had not been re-crawled in the 36 days since.
The October publication wave: still undiscovered
On October 6, the site published a wave of new content: 11 new blog posts and 1 new guide, all added to the sitemap and the XML sitemap re-submitted. By October 10, GSC showed these pages as “URL is unknown to Google” or “Discovered - currently not indexed” — meaning Google had not yet crawled them despite the sitemap submission.
The 8 pages confirmed as “Discovered - currently not indexed” in prior inspections included October publications. The 5 pages confirmed as “URL is unknown to Google” had never been crawled at all.
This is the indexation gap: the delta between what a valid sitemap says exists and what Google actually knows exists.
The homepage paradox: crawled but not indexed
The homepage is the most problematic case. Google crawled it September 4. It rendered successfully. It has no crawl blockers. It is linked from every other page on the site. And yet it remains “Crawled - currently not indexed” — the same status it held six weeks ago.
The referral URLs in GSC for the homepage show: internal links from /blog/parasite-seo-explained/ and /tools/schema-generator/, plus an HTTP (non-HTTPS) version at http://seokit24.com/ and a spam referral from myworthweb.com.
The HTTP canonical leak — http://seokit24.com/ appearing as a referring URL with a non-HTTPS canonical pointing to https://seokit24.com/ — is a signal Google uses to question canonical consistency. This is likely a contributing factor to the homepage’s indexation failure.
The page has not been re-crawled since September 4. Google made one assessment and stopped. Without intervention — specifically a GSC URL Inspection “Request indexing” — there is no mechanism driving a re-crawl.
What the indexed pages tell us
The pages that made it into the index paint an encouraging picture. They are not struggling at positions 80 or 90 because they are low quality. They are struggling because they are new.
The /contact/ page ranks position 1.6 for its primary query. The /terms/ page is at 3.6. /privacy/ is at 4.7. /blog/ecommerce-seo-checklist/ — a single blog post published in this content wave — is at position 2.
The SEO analyzer tool page has 177 impressions at position 80.7. It is indexed and it is getting seen. As its average position improves, those impressions will convert to clicks at the CTR curves Google applies to different ranking positions.
The pages that get indexed compete. The pages that don’t get indexed compete for nothing.
Why technical perfection is not enough
The standard SEO guidance — build fast, use canonical tags, submit a sitemap, don’t block crawlers — describes necessary conditions. This site’s data confirms they are not sufficient.
Google’s crawl budget for a new, low-authority site is finite. Without incoming links from established domains and without active URL submissions, Google will crawl selectively. It will index a subset and leave the rest in limbo.
This means the technical foundation — no matter how well-built — functions as a prerequisite rather than a guarantee. You can score 100 on every Lighthouse category and still be invisible to search if Google does not know your pages exist.
The practical implication: on a new site or after a major content expansion, sitemap submission alone is not indexation strategy. It is indexation hope.
What actually moves pages into the index
The one action that has demonstrably moved pages from “discovered not indexed” to indexed is GSC URL Inspection.
URL Inspection does two things sitemap submission cannot: it triggers an immediate crawl of a specific URL, and it surfaces the exact indexing decision Google made — including the reason if indexing was blocked.
For the homepage, URL Inspection showed the decision was “Crawled - currently not indexed” with no specific error. The page was not rejected for quality. It was simply not prioritized for re-crawl after the initial assessment.
Requesting indexing through URL Inspection on September 18 (via IndexNow API submission to Bing, Yandex, and Naver) covered those search engines. Google requires the GSC URL Inspection path.
This is the manual bottleneck. Each critical page needs to be individually submitted through URL Inspection to move from “discovered not indexed” to indexed. For a site with 99 pages, that means 99 individual submissions — or at minimum, one per priority page.
The real lesson from 99 pages of data
The gap between technical quality and search visibility is not a quality problem. It is a crawl management problem.
Technical SEO — Core Web Vitals, rendering, canonicalization, crawl directives — defines the ceiling. Index management — sitemap hygiene, URL Inspection submissions, internal linking density, crawl budget allocation — determines whether you are near the ceiling or far from it.
On this site, the ceiling is high. The pages that are indexed are already ranking competitively. The pages that are not indexed will compete the moment they are crawled.
The work left is not more technical optimization. It is crawl acceleration.
Frequently asked questions
Why is my website not indexing even though it passes Core Web Vitals?
Core Web Vitals are quality signals, not indexation signals. Google indexes pages it crawls and deems relevant. A page can pass every Core Web Vitals threshold and still not be indexed if Google has not crawled it, if there is a canonical conflict, or if it was assessed and found to be a lower priority than other pages in the crawl queue. Check GSC URL Inspection for the specific indexing decision, not just the technical audit.
How long does it take Google to index a new page after submitting a sitemap?
There is no guaranteed timeline. On established, high-authority sites, new pages may be indexed within hours of a sitemap update. On new, low-authority sites, Google may crawl the sitemap and never crawl the individual pages — particularly if they have few internal links pointing to them. For new sites, URL Inspection submission is faster than waiting for passive sitemap crawl.
Does a “Crawled - currently not indexed” status mean my page has a problem?
Not necessarily. “Crawled - currently not indexed” means Google crawled the page, found no errors, and chose not to index it at that moment. This is common for new sites and for pages that compete with higher-priority content. The page is not penalized — it is deprioritized. Request indexing through GSC URL Inspection to prompt a re-crawl.
How do I check how many of my pages are actually indexed?
Google Search Console’s Index Coverage report shows all pages Google knows about, grouped by their indexing status. Look specifically at the “Discovered - currently not indexed” and “URL is unknown to Google” groups — those represent pages in the sitemap that Google has not yet indexed. The goal is to move as many as possible to “Indexed” status.
Does mobile-first indexing mean I should prioritize mobile performance over desktop?
Yes, but not at the expense of desktop. Google uses the mobile version of a page for indexing and ranking. All pages should pass mobile Core Web Vitals. That said, desktop performance still matters for desktop rankings. Test both: if a page passes on both devices, the technical foundation is solid.
What is crawl budget and how does it affect indexation?
Crawl budget is the number of pages Google will crawl on your site in a given period. It is influenced by site speed, server reliability, link structure, and overall site authority. On a new site with low authority, crawl budget is constrained. This means Google will index a smaller subset of your pages unless you actively direct it — through internal linking, URL Inspection, and sitemap hygiene — toward the pages you want indexed most.
Put this into practice
Run a free SEO audit on your site using one of our browser-based tools — no signup, no server calls.
Stay updated on SEO changes
We send out a quarterly digest of search volatility and algorithm updates. No spam, ever.
Frequently asked questions
The questions readers ask before they put the playbook to work.