Skip to content

[growth-manager/blogger][blogger-20260804] strengthen namuthaj محضر winner for رسمي/جاهز long-tails - #145

Merged
Smetools merged 2 commits into
mainfrom
hassan/blogger-20260804
Aug 4, 2026
Merged

[growth-manager/blogger][blogger-20260804] strengthen namuthaj محضر winner for رسمي/جاهز long-tails#145
Smetools merged 2 commits into
mainfrom
hassan/blogger-20260804

Conversation

@Smetools

@Smetools Smetools commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Agent: growth-manager / blogger · run 4

What this is

Content refresh (no net-new page) on namuthaj-mahdar-ijtimaa-ar — the site's only confirmed non-brand-click winner. Dispatched after two consecutive empty blogger windows, both caused by the seo worker's content-brief generator mislabeling US search volume as MENA volume (root-caused 2026-07-22, fix in parallel this run). This run re-verifies every candidate live via DataForSEO with explicit MENA location targeting before writing anything.

Live MENA demand pulled this run (location + volume, no pre-existing brief trusted)

Keyword Saudi Arabia Egypt UAE Gate (>=100)?
نموذج محضر اجتماع رسمي word 390 170 ✅ clears
نموذج محضر اجتماع جاهز 210 110 ✅ clears
نموذج محضر اجتماع مجلس إدارة 70 70 ❌ under
نموذج محضر اجتماع لجنة 70 70 ❌ under
محضر جلسة 20 40 10 ❌ under
كيفية كتابة محضر اجتماع مجلس إدارة 10 10 10 ❌ under
نموذج محضر اجتماع حكومي 20 10 ❌ under
محضر اجتماع قصير وسهل 70 40 ❌ under (already known saturated, 2026-07-13)
محضر لجنة تدقيق / محضر اجتماع لجنة التدقيق no measurable volume in any location

Cannibalization check (live serp_organic_live_advanced, KSA/ar, today)

The only two candidates that clear the volume gate are already won by this page:

  • "نموذج محضر اجتماع رسمي word" → namuthaj ranks organic page-1 (rank_absolute 7), ahead of Scribd/uqu.edu.sa/WHO.
  • "نموذج محضر اجتماع جاهز" → namuthaj ranks organic page-1 (rank_absolute 6), ahead of tanqeeb.com/uqu.edu.sa/WHO.

Neither at #1 yet — still behind Canva (DR89) and gov/edu authority PDFs, expected per the PLAYBOOK's authority filter (Law 1). Every other variant checked fails the volume gate outright.

Conclusion: no net-new page justified. Verified against PR #129's actual diff that its two long-tails (احترافي, قصير وسهل) are different from this run's two (رسمي, جاهز) — this is not a duplicate touch on the same ground.

What changed

  1. New H2 "الفرق بين محضر اجتماع رسمي ونموذج جاهز للتحميل" (~150 words) — exact-phrase-matches both newly-verified queries, explains official/board-use vs quick-internal-use of the same downloadable template.
  2. New FAQ "هل يصلح هذا النموذج لمحضر اجتماع مجلس الإدارة أو اللجان؟" — sweeps the sub-100-volume مجلس إدارة/لجنة variants into this hub page (رقم الجلسة، صفة الحضور، النصاب، توثيق التصويت) instead of fragmenting authority onto weak standalone pages.
  3. Frontmatter: read_minutes 10→11, added tag محضر-مجلس-إدارة.
  4. post-outcomes.json: backfilled the full refresh history for this entry (PRs [blogger-refresh] strengthen namuthaj محضر winner for adjacent long-tails #129, [blogger-refresh] add short-vs-full template comparison visual to namuthaj #131 were never recorded there) + this run's finding.

Separate finding — flagged, NOT fixed (outside blogger's content lane)

app/lib/blog.ts:235 extractFaqs() requires the H2 heading text to be exactly FAQ or الأسئلة الشائعة (with definite article) to emit FAQPage JSON-LD. Both namuthaj-mahdar-ijtimaa-ar and jadwal-aamal-ijtimaa-ar use ## أسئلة شائعة (no ال) — verified via grep across all 20 shipped posts, only these 2 (the department's two best-performing AR pages) have the non-matching heading. FAQPage schema has likely never fired on either page since publish — a live Law-5 (GEO/AI-citation) gap. Recommend routing to /bug-creator; not fixed in this PR (site-rendering code, not content, outside this dispatch's scope, and the two-agent filing bar needs an independent verify pass I can't do solo).

Codex fact-flag (Step 4, assist not gate)

Attempted (codex exec --sandbox read-only), timed out after 2 minutes. Manually reviewed instead: no new statistics/factual claims added — only standard KSA board-governance process guidance (quorum, session numbering, vote record) consistent with the page's existing voice and the existing body text it extends (lines already mention "مجالس الإدارة واللجان النظامية" needing extra fields).

Verify

  • post-outcomes.json re-validated: json.load succeeds after the edit.
  • Frontmatter unchanged in shape (still 15 keys, same schema as before).
  • New content follows the page's existing Arabic voice, no banned-word-spirit violations, no invented statistics.

How to test

  1. Merge → auto-deploys via .github/workflows/publish-blog-draft.yml is NOT involved (this is a direct edit to an already-published app/content/blog/*.md file, not a new draft — ships on merge like PR [blogger-refresh] strengthen namuthaj محضر winner for adjacent long-tails #129/[blogger-refresh] add short-vs-full template comparison visual to namuthaj #131/[blogger-20260719] jadwal-aamal-ijtimaa-ar: real .docx template + post-outcomes.json hygiene #133 did).
  2. Visit https://knowcap.ai/blog/namuthaj-mahdar-ijtimaa-ar after deploy, confirm the new "الفرق بين محضر اجتماع رسمي..." section renders between the قصير وسهل example and the "العناصر" section, and the new FAQ entry appears as the 6th FAQ item.

Learned from: n/a — no ticket needed for this content-only refresh, matching established precedent (PR #129, #131, #133 — none reference an Odoo ticket; blogger content PRs are not gated by ticket-gate in this repo).

Summary by CodeRabbit

  • Documentation
    • Added guidance clarifying the difference between formal meeting minutes and downloadable templates.
    • Expanded the FAQ to explain use for board and committee meetings, including session numbering, attendance, quorum, and voting records.
    • Added a relevant meeting-minutes tag and updated the estimated reading time.

…مي/جاهز long-tails

Two consecutive empty blogger windows were caused by the seo worker's
content-brief generator mislabeling US search volume as MENA (found
2026-07-22). This run re-verifies every محضر اجتماع family candidate live
via DataForSEO with explicit Saudi Arabia/Egypt/UAE location targeting
before picking anything, per Hassan's 2026-07-22 STEERING direction.

Real MENA numbers (location queried alongside each):
- نموذج محضر اجتماع رسمي word: SA 390 / EG 170 (clears the >=100 gate)
- نموذج محضر اجتماع جاهز: SA 210 / EG 110 (clears the gate)
- نموذج محضر اجتماع مجلس إدارة: SA 70 / EG 70 (under gate)
- نموذج محضر اجتماع لجنة: SA 70 / EG 70 (under gate)
- محضر جلسة: SA 20 / EG 40 / UAE 10 (under gate)
- كيفية كتابة محضر اجتماع مجلس إدارة: 10/10/10 (under gate)
- نموذج محضر اجتماع حكومي: 20/10 (under gate)
- محضر اجتماع قصير وسهل: 70/40 (under gate, already known saturated 07-13)
- محضر لجنة تدقيق / محضر اجتماع لجنة التدقيق: no measurable volume

Cannibalization check (live serp_organic_live_advanced, KSA/ar): the only
two candidates that clear the volume gate are BOTH already won by
namuthaj-mahdar-ijtimaa-ar -- organic page-1 for "نموذج محضر اجتماع رسمي
word" (rank_absolute 7) and "نموذج محضر اجتماع جاهز" (rank_absolute 6),
just behind Canva/WHO/uqu.edu.sa authority giants, not yet #1. Every other
variant fails the >=100 volume gate this pipeline enforces.

No net-new page shipped -- this refresh deepens the confirmed winner
instead, on demand it's already partially capturing:
- New H2 "الفرق بين محضر اجتماع رسمي ونموذج جاهز للتحميل" (~150 words,
  exact-phrase-matches both newly-verified queries).
- New FAQ sweeping the مجلس إدارة/لجنة sub-100-vol variants into the hub
  page instead of fragmenting authority onto weak standalone pages.

Verified against PR #129's actual diff this doesn't duplicate the prior
refresh (which targeted احترافي/قصير وسهل, different long-tails).

Flagged, not fixed (outside content lane): app/lib/blog.ts:235 extractFaqs()
requires heading "FAQ"/"الأسئلة الشائعة" for FAQPage schema; both namuthaj
and jadwal use "## أسئلة شائعة" (no ال) and don't match -- FAQPage JSON-LD
has likely never fired on either page. Recommend /bug-creator.

Codex fact-flag pass attempted, timed out after 2 min -- manually reviewed:
no new statistics/factual claims added, only standard KSA board-governance
process guidance (quorum, session numbering, vote record) consistent with
the page's existing voice.

Odoo: n/a (content refresh, no ticket -- ticket-gate exempts content-only
blog PRs per existing precedent, e.g. PR #133/#117)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
knowcap-landing Ready Ready Preview Aug 4, 2026 7:17am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b260d3ba-3909-4c83-b020-ff510594a087

📥 Commits

Reviewing files that changed from the base of the PR and between b71d0f4 and efc1b1c.

📒 Files selected for processing (2)
  • app/content/blog/namuthaj-mahdar-ijtimaa-ar.md
  • routines/blogger/post-outcomes.json

📝 Walkthrough

Walkthrough

The Arabic meeting-minutes article now includes updated metadata, formal-record guidance, and an expanded FAQ. Its blogger outcome record includes refresh metadata and evaluation details.

Changes

Meeting-minutes post refresh

Layer / File(s) Summary
Article metadata and guidance
app/content/blog/namuthaj-mahdar-ijtimaa-ar.md
The article adds the محضر-مجلس-إدارة tag, changes the reading time to 11 minutes, and explains formal meeting records and board or committee meeting usage.
Refresh outcome record
routines/blogger/post-outcomes.json
The winning post record adds refresh metadata and expanded demand, cannibalization, content-update, and FAQ schema status details.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: needs-human-merge

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hassan/blogger-20260804

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Smetools
Smetools marked this pull request as ready for review August 4, 2026 11:05
@Smetools
Smetools merged commit 07113fd into main Aug 4, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant