[blogger-refresh] strengthen namuthaj محضر winner for adjacent long-tails - #129
Conversation
…ails namuthaj-mahdar-ijtimaa-ar confirmed its first WIN at day 15 (10 non-brand clicks, pos 6.5) and already ranks page-1 for the adjacent query "كيف تكتب محضر اجتماع احترافي". Rather than launch a competing net-new page on that query (self-cannibalization) or on two other SERP-tested candidates that turned out template-saturated or navigational, this refresh deepens the winner instead: - New H2 "ما الذي يجعل محضر الاجتماع احترافياً؟" — citable passage targeting the adjacent "احترافي" long-tail directly on-page. - New H2 "نموذج محضر اجتماع قصير وسهل" + worked example — targets the "قصير وسهل" long-tail with genuinely new short-form guidance. - New FAQ entry for the same short-form query. - Fixed the agenda<->minutes cross-link to be two-way (jadwal-aamal already linked here; this page didn't link back) + added related_pages entries + RELATED_LABELS so both show in each other's "Related" block. Codex fact-flag pass: no ship-blocking issues; fixed a day-of-week/date mismatch in the new worked example.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughArabic meeting blog metadata and content are expanded with related-page links, improved instructional sections, and an FAQ addition. The blog page also adds localized labels for the new related-post slugs. ChangesArabic meeting blog content
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@app/content/blog/namuthaj-mahdar-ijtimaa-ar.md`:
- Line 23: Remove the ineffective read_minutes frontmatter change, since the
blog parser’s readMinutes derivation does not consume it. Keep the existing
read-time calculation in the parser unchanged.
- Line 73: Update the sentence in the worked example so its line-count wording
matches the example: replace “أربعة أسطر” with “عدة أسطر” while preserving the
rest of the sentence.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 4785d3d1-b225-4769-a608-64b95cdcccc7
📒 Files selected for processing (3)
app/app/blog/[slug]/page.tsxapp/content/blog/jadwal-aamal-ijtimaa-ar.mdapp/content/blog/namuthaj-mahdar-ijtimaa-ar.md
| related_pages: ["/blog/jadwal-aamal-ijtimaa-ar"] | ||
| source_knowcap_ids: [] | ||
| read_minutes: 8 | ||
| read_minutes: 10 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
read_minutes is not consumed by the parser.
app/lib/blog.ts, Lines 249–271, derives readMinutes from the body word count and never reads data.read_minutes, so changing this frontmatter value cannot update the displayed reading time. Either make the parser honor this field with validation/fallback, or remove this ineffective change.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@app/content/blog/namuthaj-mahdar-ijtimaa-ar.md` at line 23, Remove the
ineffective read_minutes frontmatter change, since the blog parser’s readMinutes
derivation does not consume it. Keep the existing read-time calculation in the
parser unchanged.
| > - مراجعة الميزانية المعدَّلة قبل الاجتماع القادم (خالد، ٢١ يوليو) | ||
| > الاجتماع القادم: الثلاثاء ٢١ يوليو | ||
|
|
||
| أربعة أسطر، لكنها تجيب عن السؤالين اللذين يهمّان لاحقاً: ماذا قرّرنا، ومن يتابعه. هذا هو جوهر المحضر القصير — لا نقصٌ في الشكل، بل تركيزٌ في المضمون. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Keep the worked-example count consistent.
The example above contains six quoted lines, but this sentence says “أربعة أسطر”. Change it to “عدة أسطر” or revise the example to actually contain four lines.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~73-~73: ف "اللذين" اسم موصول للمثنى، و"الذين" اسم موصول لجمع الذكور
Context: ...ليو أربعة أسطر، لكنها تجيب عن السؤالين اللذين يهمّان لاحقاً: ماذا قرّرنا، ومن يتابعه....
(AR_SIMPLE_REPLACE)
[typographical] ~73-~73: لأنه من الأخطاء الشائعة كتابة التنوين على الألف، والصحيح أن تُكتب على الحرف الذي قبل الألف؛ لأن التنوين نون ساكنة والألف ساكنة، فلا يجتمع ساكنان
: "لاحقًا"
Context: ...ر، لكنها تجيب عن السؤالين اللذين يهمّان لاحقاً: ماذا قرّرنا، ومن يتابعه. هذا هو جوهر ا...
(typo_000_tanwin_nasb)
[grammar] ~73-~73:
الفرق بين لا الناهية ولا النافية، لا الناهية تأتي مع ضمائر المخاطب فقط. لذا فإن لا النافية لا تجزم الفعل المضارع أتقصد؟
"لا نقاص", "لا نقص", "لا نقصى", "لا نقصي", "لا نقيص", "لا ننقص", "لا نوقص"
Context: ...ومن يتابعه. هذا هو جوهر المحضر القصير — لا نقصٌ في الشكل، بل تركيزٌ في المضمون. ## الع...
(grammar_0011_notjazem_lam_nafia)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@app/content/blog/namuthaj-mahdar-ijtimaa-ar.md` at line 73, Update the
sentence in the worked example so its line-count wording matches the example:
replace “أربعة أسطر” with “عدة أسطر” while preserving the rest of the sentence.
…uthaj (#131) Adds the illustrative comparison graphic Hassan asked for on the "قصير وسهل" (short & easy) section added in the previous refresh (PR #129) -- a split illustration contrasting the full formal template (seal, gavel) against the short-form note (clock, checkmarks). Generated via gen-image.py (Gemini), no baked-in text, brand navy/blue.
…inner for رسمي/جاهز long-tails (#145) * [growth-manager/blogger][blogger-20260804] strengthen namuthaj for رسمي/جاهز 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> * chore(blogger): record refresh_pr URL for namuthaj-mahdar-ijtimaa-ar Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Summary
namuthaj-mahdar-ijtimaa-arconfirmed its first WIN at day 15 (10 non-brand clicks / 2,736 impr / avg pos 6.5, still climbing) — first win since the SEO-engine rewrite.محضر اجتماع قصير وسهل(100% template/PDF-download SERP, same intent bucket this page already owns) andمحضر اجتماع مجلس الإدارة(SERP = real NGOs' own published board-minutes archives + a gov template — navigational, not informational). A fourth candidate (متابعة قرارات الاجتماع, decision-tracking) had zero measurable Google Ads volume.jadwal-aamal-ijtimaa-aralready linked here; this page didn't link back) — addedrelated_pagesfrontmatter +RELATED_LABELSentries so both posts show in each other's "Related" block.Fact-check
Ran a Codex fact-flag pass on the diff: no ship-blocking issues. One minor day-of-week/date mismatch in the new worked example was caught and fixed before this PR (the illustrative dates now correctly fall on Tuesdays in 2026).
Test plan
/blog/namuthaj-mahdar-ijtimaa-arrenders the two new sections + new FAQ entry correctly in RTL Arabic🤖 Generated with Claude Code
https://claude.ai/code/session_01PctRre9jyDDFkr3JuSZoGH
Summary by CodeRabbit
New Features
Content Updates