At a glance
- What broke19 of 103 sitemap URLs indexed on 2026-10-07; 80 of 105 on 2026-10-15. Five English service pages still crawled and not indexed since 2026-08-28 while their French twins are indexed. September: 10 impressions, 0 clicks.
- Found bySearch Console URL Inspection API, read by the OSI search-read script
- Where it standsStill open. The log says so, and the write-up grows as the repair does.
The story
I Blamed Language Duplicates. The Canonical Columns Said No.
On 2026-10-07, 19 of the 103 URLs in clevrstart.com’s sitemap were indexed. 64 sat in “discovered currently not indexed”, 5 in “crawled, currently not indexed”, 15 were unknown to Google. On 2026-10-15, 80 of 105 were indexed. This is the write-up of what moved those pages and what did not, and it starts with the theory I got wrong.
The site is bilingual: English at the root, French under /fr, and some pages say different things in each language. So my first theory was duplicate content. Google was folding the French pages into the English ones, or the other way round, and refusing to index the loser. I had clicked Validate Fix on 77 URLs about a week earlier and nothing had changed, which fitted the story.
One query killed it. My script asks the URL Inspection API about every sitemap URL and writes, per row, the canonical Google chose next to the canonical the page declares. On both reads, the two columns matched on every row. Zero mismatches. Google was not choosing a French page for an English one or the reverse. The hreflang pairs, the self canonicals, the x-default pointing at English: all of it was being read the way I wrote it. I had spent a week believing a theory that the data could disprove in ten minutes.
The real cause was duller. Google knew the pages existed and had no reason to come back. The week before, flowingkhaos.com had taught me the opposite lesson, in the Astro trailing slash fix, where the data showed every sitemap URL filed as a duplicate because the sitemap named the wrong address. That one was a sitemap problem. This one was a crawl-demand problem, and the two look identical in the dashboard. The method for telling them apart, status by status, is what Diagnosis and page repair protocol: from status to request indexing shows, with the same CSV columns.
Monitoring, Not Victory: The Honest Status and the Estimate
I am calling the status monitoring. The number moved from 19 to 80; the five pages that matter most did not; the request that should move them has not been made. Calling this resolved would be writing the ending before the test.
The estimate, labelled as an estimate: a page with nothing broken, serving the purpose it was made for, gets indexed within about 48 hours of a Request Indexing; real rankings take two to five weeks on a domain with no history. That is experience from other sites, not a measurement from this one. The five service pages are the measurement. When they land, the dates go in the timeline below this page, and if they do not land in 48 hours, that goes in too.
Two rules changed, one for each mistake.
Read the canonical column before building a theory. The duplicate-content story cost a week and was disprovable in one query I already had the script for. The expensive part of a wrong theory is not the fix you make; it is the fix you do not make while you believe it.
And a page with no links is not indexed, whatever Validate Fix says. The five pages were judged as orphans, and re-checking an orphan returns an orphan. The link graph is part of the page as Google reads it. The method, from the first API read to the request, with the Early, Mid and End game pathways, is what how to get google to index your site walks through step by step.
Cost: 0 USD in services, about two sessions of work. The wrong turn is left in on purpose.
The evidence
The trace is rough while the fix is open. It runs straight from the repair on.
- Opened
Opened after the operator reported 77 URLs validated a week earlier and still not indexed; first theory, duplicate content across EN and FR.
- Diagnosis
Live checks: host 308s, robots, sitemap 105/105 at 200, self canonicals and hreflang pairs, Googlebot sees the same HTML. Four legal pages emitted a relative canonical and no hreflang; fixed in clevrstart 605cba5.
- Diagnosis
Fresh API read: 80 of 105 indexed, zero canonical mismatches on both reads; the duplicate theory is dead. Five EN service pages crawled and not indexed since 2026-08-28; a link crawl finds no body links to them from indexed pages.
- Repair
Services list in the footer of every page, 7 EN and 8 FR links, commit 694d211, built on Vercel and verified live on /about and /fr/about.
- Monitoring
Request Indexing on the five pages, /services and /fr/services/referencement-local still to be clicked by hand; the clock starts then.
The rule I changed after
Read the canonical column before building a theory. A page with no links from indexed pages is not indexed, whatever Validate Fix says; validation re-checks a decision, it never repairs one.