Save DataForSEO backlink baseline (no re-pull) (#60)
* Dashboard: readable SVG charts (axis + values + threshold line), inconclusive note, register recent GDA push - barChart(): SVG with y-axis (max/0), per-bar values (few points), and a labeled
- Dashboard: readable SVG charts (axis + values + threshold line), inconclusive note, register recent GDA push
- barChart(): SVG with y-axis (max/0), per-bar values (few points), and a labeled
dashed threshold line — before/after uses the baseline avg as the line to beat, gate uses the target center. Fixes 'green stuff unintelligible without numbers'
- inconclusive tests now explain WHY (sparse cohort) + flag verdicts computed before
the #50 volume-gate fix as needing a re-run
- registered exp_gda_013: gdalerts 945a309 (thin price-guide pages noindexed + bands
collapsed, shipped 2026-07-16) — a real before/after on the S4 cohort that was never registered. Answers 'shouldn't recent pushes be listed as tests?'
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Fix misleading test drill-in: CTR as %, suppress sparse-baseline delta
The year-titles/schema tests showed '0.00 -> 0.01 (+403%)' in green — CTR rendered as a raw fraction, and a huge % computed off a near-zero baseline (noise off ~3 clicks), contradicting the 'inconclusive/too sparse' flag right above it.
- fmtMetric(): CTR -> %, position -> 1dp, counts -> integers (threaded through summary,
chart axis, bar values, baseline/target labels)
- deltaReliable(): only show a % change when baseline clears a floor (CTR >=1%) and >=3
points/side; otherwise '(too sparse - % not reliable)', matching the verdict
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Correct GDA strategy for the traffic-starved phase + log the cockpit-too-early lesson
We built a measure/optimize cockpit for a product getting ~3 clicks/28d. Reset: GDA is pre-traffic; the job is to grow organic volume ~10x (ranking pages off the live-data moat + persona-hub authority), watch absolute volume not CTR/A/B, and shelve optimization testing until impressions clear the floor. S4 promotion was premature and will likely reverse on the corrected math.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Add /api/analytics/gsc-opportunities — the fastest-win SEO worklist
Proxies GDA GSC snapshots (auth server-side), keeps queries at position 11-30 with real impressions (one push from page 1), groups by query, ranks by impressions x closeness-to-page-1. This is the concrete input to crushing SEO: which pages to improve first.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Brief: GDA authority grand slam (data-authority -> backlinks -> activate existing pages)
The on-page work is done; the bottleneck is domain authority (only a footer self-link). Make GDA a citable price-data authority (Gun Price Index) to earn backlinks that let the 850 existing pages rank. OpenSEO for backlink/competitor intel. Success = referring domains earned, page-1 count, ~10x impressions, real clicks; kill if zero leading movement by day 90.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Spec: GDA Gun Price Index v1 — the citable data asset (grand slam)
The branded live index (CamelCamelCamel/GasBuddy of guns) that gun media cites + links to -> earns the domain authority that activates the 850 existing pages. v1 = headline index + category trends (segmented, ammo as cost-per-round) + monthly movers + auto-generated 'State of Gun Prices' report for PR. Build in gdalerts; register as a before/after experiment. Scope-trap guardrails included.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- lesson: check what already exists (repo + competitors) before proposing to build
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Farm-out brief: SEO whitespace analysis for GDA (data-grounded)
Real authority gap measured: GDA rank 0 / 15 ref domains vs gun.deals 486 / 5,054 and truegunvalue 527 / 1,655 — 100-340x, unclosable head-on. So the only game is whitespace (queries the incumbents don't own). Brief for a fresh agent: budget- disciplined DataForSEO method, start from the GSC opportunity seed set, pair with GDA's real edge, deliver a ranked winnable-query list + don't-bother list. No creds in git.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Save DataForSEO backlink baseline (2026-07-20) — persist so we don't re-pull
GDA 15 ref domains/rank 0 vs gun.deals 5,054/486 vs truegunvalue 1,655/527. The factual basis for the whitespace strategy. Cost real money; saved to repo.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>