The domain ghost.elyob.com had been sitting as a single-page "coming soon" Ghost install for years. Nobody visited it. Google had no reason to care. Then in April 2026 I signed up to Claude Code and started building the blog — connecting APIs to Immich (photos), Dawarich (GPS), Photon (geocoding), and generating posts, maps, photo carousels, and a custom theme all through Claude Code.
I published the first few pages and flipped it live on April 12, then kept building. Within days it had ballooned to 153 pages, since tidied back to 101. Three days after launch I submitted the sitemap to Google Search Console (GSC). This post tracks how long it takes Google to discover and index a site that appeared almost overnight.
GSC data is pulled once a day via cron; this page itself rebuilds every four hours from the cached SQLite database. No manual checks, no guessing.
Two data sources feed this page: GSC (everything about indexing, impressions, clicks, and search queries) and GoatCounter (GC) (actual pageviews from real visitors). Every section heading below is tagged with its source.
fogstar home assistant (320 imp, 14 clicks)home-assistant-as-the-brain-how-my-solar-system-manages-itself (21 imp, 1 clicks)I've published 101 pages; Google has indexed 75 — 74%.
Indexing Velocity — Google Search Console (GSC)
Daily Impressions — GSC
Top Pages by Search Impressions (last 7 days) — GSC
First Indexed: When Each Page Made It In — GSC URL Inspection
The earliest date each page is known to have been indexed by Google — sourced per-page from the URL Inspection API and tightened with first-impression dates from Search Analytics (a page must be indexed to show up in search results, so its first impression is a hard lower bound).
For pages indexed before this tracker started, the date is the earlier of Google's last crawl and the first day the page earned an impression — both are proxies, so the true indexing day could be slightly earlier. For pages we observe transitioning to indexed live, the date is exact.
How Long Google Took to Index Each Page — GSC
Median 29 days, longest 134 days, shortest 1 days.
Pages Not Yet Indexed — GSC
I'm waiting for Google to index these 58 pages:
Search Queries to the Site — GSC
| Search Query | Imp. | Clicks | Avg pos. |
|---|---|---|---|
| fogstar home assistant | 320 | 14 | 7.1 |
| victron controller for renogy panel with voc 22.79v isc 5.31a | 118 | 0 | 8.2 |
| elyob | 49 | 0 | 6.5 |
| home assistant solar battery automation | 24 | 13 | 34.0 |
| standing charge octopus energy | 14 | 0 | 57.0 |
| unvisited sweden | 10 | 0 | 74.5 |
| solar home assistant | 7 | 0 | 26.0 |
| "grand union canal london" | 6 | 0 | 87.0 |
Search Queries to This Page — GSC
No queries have surfaced this page in Google yet — see the Is This Page Indexed? section below for why.
Real Visitors — GoatCounter (GC)
Source: GC. Period: 2026-04-12 → 2026-07-30 (109 days since launch).
Total pageviews over this period: 1363 — actual humans landing on the site, not just impressions in results.
Weekly Visitors — GC
Most Visited Pages — GC
Reality Check — GC
GSC counts every click on a search result, including my own test clicks, AI training crawlers, and bots. Cross against GoatCounter's referrer log to see how many GSC clicks turned into a real visit from a google.* referrer:
20 real Google sessions against 18 lifetime GSC clicks — 111% of GSC's click count is genuinely my readers; the rest is noise.
Per-page GSC click counts below sum to 1 — bigger than the lifetime figure because GSC over-attributes when one query shows multiple of my pages. The lifetime number above is the honest one.
| Page | GSC clicks | Real Google | Real % |
|---|---|---|---|
| /home-assistant-as-the-brain-how-my-solar-system-manages-itself | 1 | 18 | 1800% |
| /i-built-a-uk-bin-cal-for-family-and-fixed-two-councils-upstream | 0 | 1 | — |
| /travel | 0 | 1 | — |
Google reported 18 clicks; GoatCounter logged 20 arrivals from a google.* referrer in the same window — 0% gap (the rest is bots, AI crawlers, and my own test clicks).
Indexing Timeline — GSC
Daily tally: Δ is the number of new pages Google picked up that day. Imp and Clicks are already per-day values from the Search Console API.
For days before URL Inspection had seeded any pages, the Indexed column falls back to the count of pages that earned at least one impression by that date — a looser proxy than URL Inspection. From the first day URL Inspection reports any indexed page (Apr 16 here), the column is the authoritative count.
| Date (day) | Indexed | Δ | Imp | Clicks | Notes |
|---|---|---|---|---|---|
| Jul 30 (d109) | 75 | · | 0 | 0 | |
| Jul 29 (d108) | 75 | · | 0 | 0 | |
| Jul 28 (d107) | 75 | · | 10 | 0 | |
| Jul 27 (d106) | 75 | · | 2 | 0 | |
| Jul 26 (d105) | 75 | · | 4 | 0 | |
| Jul 25 (d104) | 75 | · | 4 | 0 | |
| Jul 24 (d103) | 75 | · | 12 | 0 | |
| Jul 23 (d102) | 75 | · | 8 | 1 | |
| Jul 22 (d101) | 75 | · | 8 | 0 | |
| Jul 21 (d100) | 75 | · | 7 | 0 | |
| Jul 20 (d99) | 75 | · | 7 | 0 | |
| Jul 19 (d98) | 75 | · | 4 | 0 | |
| Jul 18 (d97) | 75 | · | 3 | 0 | |
| Jul 17 (d96) | 75 | · | 2 | 0 | |
| Jul 16 (d95) | 75 | +1 | 2 | 0 | |
| Jul 15 (d94) | 74 | · | 10 | 0 | |
| Jul 14 (d93) | 74 | · | 21 | 0 | |
| Jul 13 (d92) | 74 | +1 | 6 | 0 | |
| Jul 12 (d91) | 73 | · | 11 | 0 | |
| Jul 11 (d90) | 73 | · | 6 | 0 | |
| Jul 10 (d89) | 73 | · | 7 | 0 | |
| Jul 9 (d88) | 73 | · | 3 | 0 | |
| Jul 8 (d87) | 73 | · | 0 | 0 | |
| Jul 7 (d86) | 73 | · | 6 | 0 | |
| Jul 6 (d85) | 73 | · | 3 | 0 | |
| Jul 5 (d84) | 73 | · | 7 | 0 | |
| Jul 4 (d83) | 73 | · | 2 | 0 | |
| Jul 3 (d82) | 73 | · | 3 | 0 | |
| Jul 2 (d81) | 73 | · | 6 | 0 | |
| Jul 1 (d80) | 73 | · | 4 | 0 | |
| Jun 30 (d79) | 73 | · | 2 | 0 | |
| Jun 29 (d78) | 73 | · | 4 | 0 | |
| Jun 28 (d77) | 73 | · | 4 | 0 | |
| Jun 27 (d76) | 73 | · | 7 | 0 | |
| Jun 26 (d75) | 73 | · | 6 | 0 | |
| Jun 25 (d74) | 73 | +1 | 21 | 0 | |
| Jun 24 (d73) | 72 | · | 2 | 1 | |
| Jun 23 (d72) | 72 | · | 5 | 0 | |
| Jun 22 (d71) | 72 | · | 12 | 0 | |
| Jun 21 (d70) | 72 | · | 4 | 0 | |
| Jun 20 (d69) | 72 | · | 4 | 0 | |
| Jun 19 (d68) | 72 | · | 5 | 0 | |
| Jun 18 (d67) | 72 | · | 8 | 0 | |
| Jun 17 (d66) | 72 | · | 7 | 1 | |
| Jun 16 (d65) | 72 | · | 0 | 0 | |
| Jun 15 (d64) | 72 | · | 5 | 0 | |
| Jun 14 (d63) | 72 | · | 5 | 0 | |
| Jun 13 (d62) | 72 | · | 12 | 0 | |
| Jun 12 (d61) | 72 | · | 4 | 0 | |
| Jun 11 (d60) | 72 | · | 4 | 0 | |
| Jun 10 (d59) | 72 | · | 0 | 0 | |
| Jun 9 (d58) | 72 | · | 12 | 0 | |
| Jun 8 (d57) | 72 | · | 10 | 0 | |
| Jun 7 (d56) | 72 | · | 3 | 0 | |
| Jun 6 (d55) | 72 | · | 3 | 0 | |
| Jun 5 (d54) | 72 | · | 7 | 1 | |
| Jun 4 (d53) | 72 | · | 2 | 0 | |
| Jun 3 (d52) | 72 | · | 6 | 1 | |
| Jun 2 (d51) | 72 | · | 11 | 0 | |
| Jun 1 (d50) | 72 | · | 8 | 0 | |
| May 31 (d49) | 72 | · | 11 | 0 | |
| May 30 (d48) | 72 | +5 | 1 | 0 | |
| May 29 (d47) | 67 | +9 | 1 | 0 | |
| May 28 (d46) | 58 | +22 | 17 | 0 | |
| May 27 (d45) | 36 | +16 | 4 | 0 | |
| May 26 (d44) | 20 | +8 | 2 | 0 | |
| May 25 (d43) | 12 | +3 | 4 | 1 | |
| May 24 (d42) | 9 | +1 | 1 | 0 | |
| May 23 (d41) | 8 | · | 8 | 2 | |
| May 22 (d40) | 8 | · | 1 | 0 | |
| May 21 (d39) | 8 | · | 4 | 0 | |
| May 20 (d38) | 8 | · | 4 | 0 | |
| May 19 (d37) | 8 | · | 5 | 0 | |
| May 18 (d36) | 8 | · | 6 | 0 | |
| May 17 (d35) | 8 | · | 5 | 0 | |
| May 16 (d34) | 8 | · | 1 | 0 | |
| May 15 (d33) | 8 | · | 1 | 0 | |
| May 14 (d32) | 8 | +1 | 2 | 0 | |
| May 13 (d31) | 7 | · | 0 | 0 | |
| May 12 (d30) | 7 | · | 1 | 0 | |
| May 11 (d29) | 7 | · | 9 | 0 | |
| May 10 (d28) | 7 | · | 1 | 0 | |
| May 9 (d27) | 7 | · | 4 | 0 | |
| May 8 (d26) | 7 | · | 2 | 0 | |
| May 7 (d25) | 7 | · | 3 | 1 | |
| May 6 (d24) | 7 | · | 2 | 0 | |
| May 5 (d23) | 7 | · | 3 | 1 | |
| May 4 (d22) | 7 | · | 1 | 0 | |
| May 3 (d21) | 7 | · | 1 | 0 | |
| May 2 (d20) | 7 | · | 2 | 0 | |
| May 1 (d19) | 7 | · | 0 | 0 | |
| Apr 30 (d18) | 7 | · | 8 | 0 | |
| Apr 29 (d17) | 7 | · | 6 | 0 | |
| Apr 28 (d16) | 7 | +1 | 0 | 0 | |
| Apr 27 (d15) | 6 | · | 2 | 1 | |
| Apr 26 (d14) | 6 | · | 3 | 1 | |
| Apr 25 (d13) | 6 | · | 2 | 0 | |
| Apr 24 (d12) | 6 | +1 | 1 | 0 | |
| Apr 23 (d11) | 5 | · | 4 | 1 | |
| Apr 22 (d10) | 5 | · | 0 | 0 | |
| Apr 21 (d9) | 5 | · | 1 | 0 | |
| Apr 20 (d8) | 5 | +1 | 4 | 0 | Triggered Validate Fix for 157 discovered-not-indexed pages |
| Apr 19 (d7) | 4 | · | 3 | 1 | |
| Apr 18 (d6) | 4 | · | 0 | 0 | |
| Apr 17 (d5) | 4 | +1 | 7 | 4 | GSC last update: 5 indexed, 158 not indexed |
| Apr 16 (d4) | 3 | +2 | 3 | 0 | GSC chart ~3 |
| Apr 15 (d3) | 1 | · | 1 | 0 | Sitemap submitted to GSC |
| Apr 14 (d2) | 1 | · | 4 | 0 | First page indexed (GSC chart) |
| Apr 13 (d1) | 1 | +1 | 2 | 0 | |
| Apr 12 (d0) | 0 | · | 0 | 0 | Site launched |
First page indexed on day 4 (Apr 16). At the current rate of 0.7 pages per day, full indexing would take roughly 38 more days.
How Does This Compare? — Google Guidance vs GSC
Today is day 109 (≈ week 15.6) since launch. Google publishes general guidance on how long indexing takes; this is where I sit against it:
Sitemap detection is bounded by the earlier of GSC lastDownloaded and the first crawl date (Google must have fetched the sitemap by then); first crawl is the earliest lastCrawlTime across all pages from URL Inspection; majority and full coverage are read off the indexing timeline.
| Milestone | Google Says | This Site |
|---|---|---|
| Sitemap detected | 1–3 days | ≤ Day 43 (May 25) |
| First crawl after sitemap | 3–7 days | Day 43 (May 25) |
| Majority of pages indexed | 2–4 weeks | Day 46 (May 28) |
| Full indexing (large site) | 4–12 weeks | In progress (currently 74%) |
Meta: Is This Page Indexed? — GSC URL Inspection
This page was published on 2026-04-20 (101 days ago) and is not yet indexed by Google. Google's URL Inspection reports Crawled - currently not indexed. I'm deliberately not submitting this URL to Search Console — the whole point is to see how long natural discovery takes.