Status › Indexation

Indexation report

Built by the ingest Worker across a few ticks each Monday and stored in KV — no CI, no committed file, no extra credential. Search Console lags about two days, so the search tables cover the eight days ending two days before the run, both dates included — for a Monday run, Saturday to Saturday, which is neither the ISO week the report is named for nor the one before it.

2026-W40 · generated 2026-09-28 08:12 UTC · 70 min from first tick to last

https://coinliqui.com · started 2026-09-28 07:02 UTC

A. Coverage

What exists, and whether a crawler can still fetch it. No credentials — this section always runs.

TemplateURLsFetchable as GPTBot
pages77/7
coins1111/11
funding-hub11/1
funding-symbols5555/55
open-interest11/1
tools55/5
liquidations33/3
liquidation-symbols5454/54
unlocks11/1
learn55/5
total143143/143

What the covered set did since the last reading

Against 2026-W39 — 143 URLs then, 143 now.

Joined (6): /funding/bch, /funding/kbonk, /funding/pengu, /liquidations/bch, /liquidations/kbonk, /liquidations/pengu

Left (6): /funding/fil, /funding/morpho, /funding/strk, /liquidations/fil, /liquidations/morpho, /liquidations/strk

A URL that joined since the last reading has not had time to be indexed, and will appear below as Discovered — currently not indexed for reasons that are not about the page.

B. Search Console

Indexed share, per template

TemplateIndexedCrawled, not indexedDiscovered, not crawledUnknown to GoogleOther
pages7/7 (100%)0000
coins11/11 (100%)0000
funding-hub1/1 (100%)0000
funding-symbols52/55 (95%)1101
open-interest1/1 (100%)0000
tools5/5 (100%)0000
liquidations2/3 (67%)0100
liquidation-symbols52/54 (96%)0200
unlocks1/1 (100%)0000
learn5/5 (100%)0000

The 6 URLs Google has not indexed, with its own reason for each. Read the reason before acting: Discovered — currently not indexed is a queue, and the answer is usually to wait and watch the indexed-share series below this table; Crawled — currently not indexed is a judgement about the page, and the answer is to change the page.

URLTemplateVerdictGoogle's coverage state
/funding/cashcatfunding-symbolsNEUTRALCrawled - currently not indexed
/funding/pengufunding-symbolsNEUTRALDiscovered - currently not indexed
/funding/kbonkfunding-symbolsNEUTRALNot found (404)
/liquidations/survivalliquidationsNEUTRALDiscovered - currently not indexed
/liquidations/uniliquidation-symbolsNEUTRALDiscovered - currently not indexed
/liquidations/ondoliquidation-symbolsNEUTRALDiscovered - currently not indexed

Indexed share, reading by reading

One row per completed inspection, newest first: 8 readings. The store keeps the last 26.

ReadingIndexedChange since the reading before
2026-09-28137/143 (96%)+4 indexed
2026-09-21133/143 (93%)+11 indexed; covered set 133 → 143
2026-09-14122/133 (92%)+1 indexed
2026-09-07121/133 (91%)+6 indexed
2026-08-31115/133 (86%)+51 indexed; covered set 79 → 133
2026-08-2464/79 (81%)−1 indexed
2026-08-1965/79 (82%)unchanged
2026-08-1965/79 (82%)— earliest kept

Search performance, 2026-09-19 to 2026-09-26

TemplateImpressionsClicksAvg positionPages with impressions
pages2104.06/7
coins10014.12/11
funding-hub407.31/1
funding-symbols14808.529/55
open-interest8011.91/1
tools407.02/5
liquidations60158.41/3
liquidation-symbols2404.312/54
unlocks11016.81/1
learn6018.82/5
not in a sitemap4010.83
total300118.660

These averages are not comparable to the previous reading. 6 URLs joined the covered set since it, taking the total from 143 to 143. A template that starts appearing for more queries appears for the deepest ones first, so an impression-weighted average falls even when no existing query lost a place. The band table below counts queries rather than weighting them, and is the half of this section that survives a change in the covered set.

Queries by impressions

15 of 26 queries Search Console named from 2026-09-19 to 2026-09-26, most impressions first. Equal impressions go to more clicks, then the better average position, then alphabetical order. The cut falls inside a tie: 15 queries had 1 impression, and 4 of them are listed. The band table below counts every one of them.

QueryImpressionsClicksPosition
bitcoin liquidation heatmap11068.0
liquidation heatmap8060.5
btc liquidation map6062.8
btc liquidation heatmap5061.8
hyperliquid liquidation map3057.3
btc liquidity heatmap3063.7
hyperliquid liquidation heatmap2062.0
liquidation map2071.5
hyperliquid funding rates2073.0
bitcoin liquidation map2077.0
ada valuation2087.5
btc exchange liquidation map1032.0
btc heatmap1053.0
liquidations heatmap1056.0
crypto liquidations heatmap1059.0

Where the queries sit

The 26 queries Search Console named from 2026-09-19 to 2026-09-26, by the position each averaged: 61 impressions, 0 clicks. That is not every search. The page total above is 300 impressions and 1 click: Search Console leaves out queries too rare to name without identifying who searched, and the page table counts a search once for each page it showed. Impressions say how often Google showed the page; clicks say how often that mattered.

PositionQueriesImpressionsClicksWhat that band means
1–3000page one, above the fold — where clicks actually happen
4–10000page one
11–25000page two and three — the only band on-page work can move
26–50110seen, not read
51+25600counted, and that is all

One push away

No query-page pair Search Console named from 2026-09-19 to 2026-09-26 averaged a position between 11 and 25. Nothing here is close enough that writing more of the same page would move it — see the band table above for where the named queries actually are.

C. Crawler fetches

Not collected here: CF_ANALYTICS_TOKEN is not set.

By decision, not omission. A long-lived analytics credential inside a worker that runs unattended every five minutes is a key carried for no good reason, so the zone analytics are read from the operator's machine instead — npm run crawlers, using the wrangler OAuth token already there. Nothing was handed to this worker.

What that costs: this section would have kept a weekly series, and the local reader samples a single day — the free plan refuses a wider range. The first sample, taken 2026-08-31, is why it matters at all: ~819 VERIFIED AI-side fetches a day against Googlebot's 19, and 704 requests wearing a crawler's name that Cloudflare could not verify. None of it reaches Search Console, GA4 or the pageview counter, because a crawler runs no JavaScript.

D. Legal reading age

All 3 documents were last read on the same day, 40 days before this report was generated. 1 document is overdue.

DocumentReadWindowDated on the document
hyperliquid-tou40d30d2026-06-15
coinbase-market-data40d90d2026-08-07
bybit-api40d90d2026-01-16

Open each in a browser and update src/data/terms-baseline.json. A plain fetch is not a reading: both documents that matter here served a shell or a 403 to one, and an automated watcher would have reported no change indefinitely.

What to read first

· Section A must be all green. A URL a crawler cannot fetch is not an indexing problem.

· Indexed share by template, not by page. One template stuck in Discovered — currently not indexed past week 6 is a thin-template problem; scattered pages are just latency.

· Average position is only comparable when the covered set is. The guidance here used to be "position before impressions — it moves earlier and more honestly", and the week of 31 August 2026 refuted it: 54 URLs joined, every template's average collapsed — /liquidations from 40.2 to 263.5 — and not one existing query had lost a place. A template that starts appearing for more queries appears for the deepest ones first. Read the BAND table instead when URLs joined: it counts queries rather than weighting them by impressions, so a query moving from 51+ into 11-25 is a real move either way.

· Crawler fetches are the leading indicator. If they are zero, nothing downstream can move, and the cause is access rather than quality.

· "One push away" is the only section that suggests an action. Everything else here measures what was served or received. A query at position 11–25 is a page that is already relevant and losing to something beatable; for a domain with no external links that band is the only one on-page work can move. An empty section means the honest answer this week is to keep writing and wait — read the band table above it for why.

· Section D is the one nothing else can catch. Every other failure on this site has a technical symptom. A change to the terms this site depends on has none — the pages keep rendering perfectly — so the only detector is somebody re-reading the document.