CEO GSC read: add top-query & top-page breakdown so the board self-diagnoses the funnel #399
Labels
No labels
Agent
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
1 participant
Notifications
Total time spent: 9 minutes
Due date
igor
9 minutes
No due date set.
Dependencies
No dependencies set
Reference
joshtronic/igor#399
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
lib/ceo.sh:ceo_read_gsc()(~line 384) gives the board only the aggregate scoreboard — it queries just thedatedimension (lines 399–400) and renders clicks/impressions/CTR/avg-position, current vs prior. With only totals, the board can't tell where a weak funnel lives — a few head terms hitting the wrong pages, or a long tail with weak snippets — so it files CEO questions asking the operator to pull the query/page breakdown. Two this week alone:sharktankdb.com#82andcertifiedtradejobs.com#45.The harness already has that data:
lib/gsc.sh:gsc_querytakes any dimension (query,page,query,page) under the samewebmasters.readonlyscope the scoreboard already uses. The board is asking the operator for something the machine can fetch itself.Fix
Extend
ceo_read_gscto also pull and render, for the current window (seo_window):Model it on the sibling
ceo_read_ga(same.seo.domaingate, sameGOOGLE_SERVICE_ACCOUNTgate, same window). Add a sentence to the scoreboard prose telling the board to use the breakdown to diagnose the funnel (concentration vs long-tail; ranking-fine-but-CTR-weak) rather than filing a question for it.Constraints
webmasters.readonly).seo_window— no new config knobs (strong opinions, not dials).gsc_querycalls in the same on-demand read.Tests
Extend the existing
ceo_read_gscblock inbin/test-ceo.sh(~line 374): mockgsc_queryto returnquery- andpage-dim rows, assert the top-queries/top-pages tables and the concentration line render, and that an empty/failed fetch still degrades to the "scoreboard dark" note. Skip-safe (exit 0 ifjqabsent), per the suite.Payoff
The board self-diagnoses the funnel and stops interrupting the operator with data the harness already has — directly serving the review-driven model. Worked example:
sharktankdb#82— the aggregate said "a problem exists"; the query/page pull showed it's long-tail + weak-CTR (season pages ranking page-1 with zero clicks), which aims the structured-data/titles work correctly.