-
Notifications
You must be signed in to change notification settings - Fork 0
[blogger-20260722] score pending posts, no net-new (demand-desert this run) #140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| "_schema": "blogger loop memory — one entry per shipped post + how it performed (non-brand organic clicks)", | ||
| "_note": "Bootstrapped 2026-06-25. clicks_14d/clicks_28d here are a PROXY: the only GSC per-page data that exists is a single trailing-28d snapshot dated 2026-06-24 (seo routine ran pull-metrics once), where every /blog/ page = 0 non-brand clicks. True per-post-age 14d/28d windows require the seo per-page pull to run daily and accumulate history. Verdicts use impressions+position as the leading indicator in the absence of clicks.", | ||
| "_snapshot_source": "../claude-knowcap/knowledge/topics/research/seo/rank-tracker/seo-pages-daily.csv @ 2026-06-24 (trailing 28d 2026-05-28..2026-06-24)", | ||
| "_winning_pattern": "CONFIRMED WIN (2026-07-13, scored at 15d): namuthaj-mahdar-ijtimaa-ar (AR محضر money-page, pub 06-28) — 10 non-brand clicks trailing / 2,736 impr / avg pos 6.5, still climbing (34 total clicks incl. brand as of 07-13). Now ALSO ranks page-1 (pos ~8) for the adjacent query \"كيف تكتب محضر اجتماع احترافي\" per live SERP pull 2026-07-13 — confirms the page is generalizing beyond its exact-match keyword. Pattern = native-Arabic meeting-DOCUMENT content, KSA, template/how-to intent (NOT thesis, NOT English) — 16 EN theses still drew ZERO. jadwal-aamal-ijtimaa-ar (agenda spoke, PR #117, pub 07-06) too early to call (7d): impressions climbing 19->46, pos improving 7.7->6.9, 0 clicks so far. CANNIBALIZATION CHECK (2026-07-13): live-SERP-tested 3 candidate net-new AR keywords for this run's topic pick — \"كيف تكتب محضر اجتماع احترافي\" (namuthaj ALREADY ranks pos~8 — a new page would compete with our own winner), \"محضر اجتماع قصير وسهل\" (100% template/PDF-download SERP, same intent bucket namuthaj already owns, no how-to content ranks), \"محضر اجتماع مجلس الإدارة\" (SERP = real NGOs' own published board-minutes archives + gov template, navigational not informational) — all three rejected as net-new topics. Also checked \"متابعة قرارات الاجتماع\" (decision-tracking, on-brand for the audit-trail angle) — zero measurable Google Ads volume, fails the hard keyword-volume gate. CONCLUSION: the AR محضر keyword space is largely claimed or saturated; next moves are (a) refresh/strengthen namuthaj's coverage of the two adjacent long-tails it partially ranks for rather than fragment authority with a new page, or (b) wait for the SEO routine's next live pull to surface a genuinely fresh, volume-gated AR opportunity. Do NOT churn theses.", | ||
| "_winning_pattern": "CONFIRMED WIN (2026-07-13, scored at 15d): namuthaj-mahdar-ijtimaa-ar (AR محضر money-page, pub 06-28) — 10 non-brand clicks trailing / 2,736 impr / avg pos 6.5, still climbing (34 total clicks incl. brand as of 07-13). Now ALSO ranks page-1 (pos ~8) for the adjacent query \"كيف تكتب محضر اجتماع احترافي\" per live SERP pull 2026-07-13 — confirms the page is generalizing beyond its exact-match keyword. Pattern = native-Arabic meeting-DOCUMENT content, KSA, template/how-to intent (NOT thesis, NOT English) — 16 EN theses still drew ZERO. jadwal-aamal-ijtimaa-ar (agenda spoke, PR #117, pub 07-06) too early to call (7d): impressions climbing 19->46, pos improving 7.7->6.9, 0 clicks so far. CANNIBALIZATION CHECK (2026-07-13): live-SERP-tested 3 candidate net-new AR keywords for this run's topic pick — \"كيف تكتب محضر اجتماع احترافي\" (namuthaj ALREADY ranks pos~8 — a new page would compete with our own winner), \"محضر اجتماع قصير وسهل\" (100% template/PDF-download SERP, same intent bucket namuthaj already owns, no how-to content ranks), \"محضر اجتماع مجلس الإدارة\" (SERP = real NGOs' own published board-minutes archives + gov template, navigational not informational) — all three rejected as net-new topics. Also checked \"متابعة قرارات الاجتماع\" (decision-tracking, on-brand for the audit-trail angle) — zero measurable Google Ads volume, fails the hard keyword-volume gate. CONCLUSION: the AR محضر keyword space is largely claimed or saturated; next moves are (a) refresh/strengthen namuthaj's coverage of the two adjacent long-tails it partially ranks for rather than fragment authority with a new page, or (b) wait for the SEO routine's next live pull to surface a genuinely fresh, volume-gated AR opportunity. Do NOT churn theses. RUN 3 (2026-07-22, growth-manager dispatch): scored both remaining pending posts at 14d/16d -- both moved pending->flat (see their entries), neither is winning, and how-to-do-meeting-minutes (the flagship EN brief-consumption test) is badly underperforming namuthaj at the same maturity (11 impr/pos22.2/0clicks vs namuthaj's 2,736 impr/pos6.5/10clicks at day 15) -- further evidence the EN<AR gap isn't about the brief-consumption method, it's the language/market. NO NET-NEW POST SHIPPED: evaluated the 2 seo-worker-prepared EN content briefs ready this run (action-items.md, how-to-transcribe-a-conversation.md) and both FAILED a live demand-reverification -- their stated 'market: UAE/en'(2,900 vol) and 'market: Egypt/en'(5,400 vol) figures are actually US search volumes mislabeled by the content-brief pipeline; real UAE volume for \"action items\" is 20/mo (fails the >=100 hard gate by 145x) and \"how to transcribe a conversation\" returns no measurable UAE/Egypt data at all. This is a NEW, systemic bug worth fixing at the source (flagged to growth-manager/seo — see run-3 report) — it explains part of why EN posts keep drawing near-zero clicks: topics are being sized on US demand that barely exists in Knowcap's actual MENA target markets. Also checked mahdar-ejtimaa-ar.md (AR, month-old June-21 brief, target كيف محضر اجتماع) -- SUPERSEDED by the seo worker's own 2026-07-12 'bare-skip' verdict (unwinnable vs Wikipedia/Canva/gov.sa giants, already covered by namuthaj); and تدقيق الداخلي (KSA, mena-audit-firms persona) -- live-SERP-checked, generic definitional term dominated by Wikipedia/HBR-Arabic/IIA-global-standards/gov-adjacent giants, no natural product angle in the top 10, same profile as the EN audit-thesis posts already marked dud. CONCLUSION: no candidate cleared the demand + non-cannibalization + winnability bar this run -- a content-strategy pass (verify-and-flag, not force-a-post) per STEERING's sanctioned outcome. Recommend: (1) seo worker fixes the location-mislabeling bug in content-brief keyword pulls, (2) seo worker builds the GEO/schema layer on namuthaj + why-saudis-search-mahdar-egtmaa-89x-more-than-gcc per the bare-skip brief's own recommendation instead of a 3rd محضر page, (3) burn-state.json's week_start (still 2026-07-05, 17 days stale) needs a rollover mechanism.", | ||
| "posts": [ | ||
| { | ||
| "slug": "5-mena-business-youtube-channels-every-odoo-partner-should-know", | ||
|
|
@@ -237,10 +237,12 @@ | |
| "format": "how-to-guide", | ||
| "angle": "SERP-stolen EN how-to + 7-element table + free copy-paste template + honest can-AI-do-it + MENA/audit + Odoo-task angle; GEO citable passages for the AI-Overview SERP", | ||
| "winner_pattern_used": "FIRST post to consume an SEO content-brief (Law-7 broken-handoff fix) hardened against a live DataForSEO SERP; informational white-space keyword (no MENA domain ranks); EN sibling hreflang-paired to the shipped AR محضر money-page (namuthaj-mahdar-ijtimaa-ar, Law 4).", | ||
| "clicks_14d": null, | ||
| "impressions_28d": 11, | ||
| "avg_pos_28d": 22.2, | ||
| "clicks_14d": 0, | ||
| "clicks_28d": null, | ||
| "verdict": "pending", | ||
| "_flag": "MERGED + LIVE 2026-07-08 (PR #113). Not yet in the per-page GSC CSV as of 07-13 (5d old) — too early. Score at 14d (2026-07-22). Tests whether the brief-consumption + white-space how-to + GEO-citation method draws non-brand clicks the 16 EN theses never did. Pairs with the 06-28 AR money-page experiment." | ||
| "verdict": "flat", | ||
| "_flag": "SCORED at 14d (2026-07-22) via live page-filtered GSC (trailing-28d window fully covers this page's life since it postdates the window start): 0 clicks, only 11 impressions, avg pos 22.2 (page 3). Trajectory 07-19->07-22: impressions 6->11, pos 34.5->22.2 -- improving but off a near-zero base, nowhere close to namuthaj's day-15 numbers (2,736 impr / pos 6.5 / 10 clicks). Reinforces the file's EN<AR pattern even for the brief-consumption method (this was supposed to be the strongest EN test). Not yet a dud call (rule requires ~zero AFTER 28d) but trending that way -- re-score at 28d (2026-08-05) for the final verdict. pending -> flat." | ||
| }, | ||
| { | ||
| "slug": "jadwal-aamal-ijtimaa-ar", | ||
|
|
@@ -253,24 +255,24 @@ | |
| "format": "how-to-template", | ||
| "angle": "AR agenda template + 7-step how-to + elements + agenda-vs-minutes differentiator. Hub-and-spoke SIBLING to the namuthaj محضر winner (agenda=before the meeting, minutes=after); cross-links namuthaj both ways to grow the cluster without cannibalizing it.", | ||
| "winner_pattern_used": "REPLICATE the namuthaj winner pattern (native-AR meeting-doc, KSA, template/how-to intent) one document over (agenda) instead of a 2nd محضر page that would split the winner's authority. Hard keyword gate ADOPTED this run (50k-clicks learning): اجندة اجتماع 170 vol, informational, LOW. SERP-stolen live (KSA/ar); authority giants Canva DR89/gov PDFs/Wikipedia noted-not-modeled, craft peers Appointlet/majles.tech/ClickUp beaten.", | ||
| "impressions_28d": 46, | ||
| "avg_pos_28d": 6.9, | ||
| "clicks_14d": null, | ||
| "impressions_28d": 52, | ||
| "avg_pos_28d": 6.8, | ||
| "clicks_14d": 1, | ||
| "clicks_28d": null, | ||
| "verdict": "pending", | ||
| "verdict": "flat", | ||
| "refreshed": "2026-07-19", | ||
| "refresh_pr": "https://github.com/Knowcap-V2/knowcap-website/pull/133", | ||
| "_flag": "SHIPPED 2026-07-06 (PR #117 merged, live at knowcap.ai/blog/jadwal-aamal-ijtimaa-ar). 7d checkpoint (2026-07-13): impressions climbing 19->46, pos improving 7.7->6.9, still 0 clicks — too early to call, on track. Score at 14d (2026-07-20). First ADJACENT-cluster spoke: tests whether an agenda page inherits the namuthaj محضر winner's traction via two-way cross-links. Codex-flagged product over-claim fixed pre-ship. GSC request-indexing pending (Law 6 / seo routine TASK 9). [2026-07-19 REFRESH: cannibalization-checked (SERP-live via DataForSEO) every uncovered opportunity-queue candidate in the AR meeting-document space before touching this page -- namuthaj's own خضر cluster confirmed still saturated (same conclusion as 07-13), the adjacent 'AI meeting transcription' AR terms (تفريغ اجتماع, تلخيص اجتماع بالذكاء الاصطناعي, etc.) have ZERO measurable KSA search volume, and 'جدول أعمال اجتماع جاهز' (20 vol/mo) + 'محاور اجتماع' (50 vol/mo) are both too thin to clear the volume gate as net-new pages. No net-new page shipped this run. Instead: converted this post's fenced-code-block agenda template into a REAL downloadable .docx (/downloads/jadwal-aamal-ijtimaa-template.docx, generated via scripts/gen-template-docx.py --rtl, same pattern as namuthaj's proven template) -- this post was published 2026-07-06, before the 2026-07-08 STEERING rule banning inline code-fence templates, and had never been brought into compliance. Fixes a real standing-rule violation, adds PostHog/gtag download tracking, and targets the DOWNLOAD-intent share of 'جدول أعمال اجتماع جاهز' (confirmed 20 vol/mo) that prose alone can't win. Does not touch namuthaj (still cooling off per 07-13/07-13 refresh, next re-score 2026-07-26) and does not create a competing page." | ||
| "_flag": "SHIPPED 2026-07-06 (PR #117 merged, live at knowcap.ai/blog/jadwal-aamal-ijtimaa-ar). 7d checkpoint (2026-07-13): impressions climbing 19->46, pos improving 7.7->6.9, still 0 clicks — too early to call, on track. Score at 14d (2026-07-20). First ADJACENT-cluster spoke: tests whether an agenda page inherits the namuthaj محضر winner's traction via two-way cross-links. Codex-flagged product over-claim fixed pre-ship. GSC request-indexing pending (Law 6 / seo routine TASK 9). [2026-07-19 REFRESH: cannibalization-checked (SERP-live via DataForSEO) every uncovered opportunity-queue candidate in the AR meeting-document space before touching this page -- namuthaj's own خضر cluster confirmed still saturated (same conclusion as 07-13), the adjacent 'AI meeting transcription' AR terms (تفريغ اجتماع, تلخيص اجتماع بالذكاء الاصطناعي, etc.) have ZERO measurable KSA search volume, and 'جدول أعمال اجتماع جاهز' (20 vol/mo) + 'محاور اجتماع' (50 vol/mo) are both too thin to clear the volume gate as net-new pages. No net-new page shipped this run. Instead: converted this post's fenced-code-block agenda template into a REAL downloadable .docx (/downloads/jadwal-aamal-ijtimaa-template.docx, generated via scripts/gen-template-docx.py --rtl, same pattern as namuthaj's proven template) -- this post was published 2026-07-06, before the 2026-07-08 STEERING rule banning inline code-fence templates, and had never been brought into compliance. Fixes a real standing-rule violation, adds PostHog/gtag download tracking, and targets the DOWNLOAD-intent share of 'جدول أعمال اجتماع جاهز' (confirmed 20 vol/mo) that prose alone can't win. Does not touch namuthaj (still cooling off per 07-13/07-13 refresh, next re-score 2026-07-26) and does not create a competing page. [2026-07-22 SCORED at 16d via fresh live GSC pull: impressions basically plateaued since the refresh (46->50->52 over the last 10 days, vs the first-week climb 19->46), the 1 click recorded is a BRAND query (nonbrand_clicks column = 0), pos holding ~6.8. Growth has stalled post-refresh -- pending -> flat, not dud (position is genuinely good, just not converting to non-brand clicks yet). Re-score for a final call at 28d from original publish (2026-08-03)." | ||
| } | ||
| ], | ||
| "last_verified_at": "2026-07-13", | ||
| "last_verified_at": "2026-07-22", | ||
| "summary": { | ||
| "total_posts": 20, | ||
| "wins": 1, | ||
| "flat": 8, | ||
| "flat": 10, | ||
| "dud": 9, | ||
| "pending": 2, | ||
| "pending": 0, | ||
| "total_nonbrand_clicks_28d": 0, | ||
| "_total_nonbrand_clicks_28d_note": "2026-07-19 sanity check: this field sums each post's clicks_28d only where that field is a computed number (nulls excluded, never treated as 0). It legitimately reads 0 as of last_verified_at (2026-07-13) -- NOT a bug, and NOT inconsistent with the one confirmed win's clicks_14d=10 (namuthaj-mahdar-ijtimaa-ar): namuthaj's own clicks_28d is still null, its 28d re-score isn't due until 2026-07-26 (see that entry's _flag). The 0 will change the moment that re-score lands. 2026-07-19 also independently re-verified total_posts(20) against the posts array length (20, via json.load + slug-count + verdict-count, all three agree) -- no discrepancy exists in the file as it stands; an earlier ~19-vs-20 concern (growth-manager negotiation, 2026-07-15) and a separate 17-count this run both appear to be counting-tool artifacts (most likely tripped up by the one entry with duplicate JSON keys, fixed in the same pass, see that entry's _flag) rather than a real missing/extra entry. PR #132 (merged 2026-07-16) fixed burn-state.json's posts_this_week drift and promoted both burn-state.json and this file to git-tracked -- it did NOT touch post-outcomes.json's content, so it did not (and could not have) fixed the duplicate-key issue; that fix landed here instead." | ||
| "_total_nonbrand_clicks_28d_note": "2026-07-19 sanity check: this field sums each post's clicks_28d only where that field is a computed number (nulls excluded, never treated as 0). It legitimately reads 0 as of last_verified_at (2026-07-13) -- NOT a bug, and NOT inconsistent with the one confirmed win's clicks_14d=10 (namuthaj-mahdar-ijtimaa-ar): namuthaj's own clicks_28d is still null, its 28d re-score isn't due until 2026-07-26 (see that entry's _flag). The 0 will change the moment that re-score lands. 2026-07-19 also independently re-verified total_posts(20) against the posts array length (20, via json.load + slug-count + verdict-count, all three agree) -- no discrepancy exists in the file as it stands; an earlier ~19-vs-20 concern (growth-manager negotiation, 2026-07-15) and a separate 17-count this run both appear to be counting-tool artifacts (most likely tripped up by the one entry with duplicate JSON keys, fixed in the same pass, see that entry's _flag) rather than a real missing/extra entry. PR #132 (merged 2026-07-16) fixed burn-state.json's posts_this_week drift and promoted both burn-state.json and this file to git-tracked -- it did NOT touch post-outcomes.json's content, so it did not (and could not have) fixed the duplicate-key issue; that fix landed here instead. [2026-07-22 run 3: both remaining pending posts (how-to-do-meeting-minutes, jadwal-aamal-ijtimaa-ar) scored at 14d/16d and moved to flat -- pending is now 0, flat is now 10. clicks_28d fields for both are still null (too young for a 28d window); total_nonbrand_clicks_28d unaffected, stays 0 for the same reason as above.]" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win Disambiguate the previous verification timestamp. This note says the value is correct “as of 🤖 Prompt for AI Agents |
||
| } | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Refresh the file-level GSC provenance.
This new text claims a live GSC pull on 2026-07-22, but
_noteand_snapshot_sourcestill say the only per-page data is the 2026-06-24 snapshot. Update those fields to document the historical baseline plus the run-3 per-page pull; otherwise consumers cannot determine which metrics are current.Proposed metadata update
🤖 Prompt for AI Agents