# Ratgeber New Post Checklist

**Last Updated:** 2026-04-01

Consolidated checklist for creating new ratgeber posts. Use with [blog-new-post-creation.mdc](../../.cursor/rules/blog-new-post-creation.mdc). Adapted from [LEXIKON_NEW_POST_CHECKLIST.md](lexikon-inventory/LEXIKON_NEW_POST_CHECKLIST.md).

**Quality bar:** Ratgeber must match lexikon depth and formatting. See [RATGEBER_IMPROVEMENT_PLAN_2026.md](RATGEBER_IMPROVEMENT_PLAN_2026.md).

**Key differences from lexikon:** No lexikon inventory; topic from CLUSTER_EXPANSION or content gaps. Comparison structure (tables, pros/cons). Year in title (2026) requires annual update.

## Pre-Scaffold

- [ ] Run `python3 scripts/blog/backup-blog-content.py --manual`
- [ ] **Cluster Alignment:** Identify primary cluster (Zeiterfassung/Dienstplan/Both/Supporting)
- [ ] **Resource Mapping:** Identify relevant tools, ratgeber posts, lexikon posts (existing and planned)

## Scaffold & Pipeline

- [ ] `php v2/scripts/blog/create-new-blog-post.php --topic="X" [--title="X"] --category=ratgeber`
- [ ] Edit `data/target-keywords.json` (primary + secondary)
- [ ] `php v2/scripts/blog/run-new-post-pipeline.php --post=slug --category=ratgeber`
- [ ] Verify: competitor-analysis.json, competitive-depth-analysis.md, paa-questions.json
- [ ] **PAA quality check:** If >30% off-topic, create `data/paa-questions-manual.json` with HR/topic-focused questions. Run `collect-faq-research-data.php`.

## SERP & Outline

- [ ] `validate-blog-competitor-data-completeness.php --post=slug --category=ratgeber --top=7 --remediate` (if sparse)
- [ ] 30 min browser SERP review per SERP_REVIEW_CHECKLIST.md
- [ ] Fill SERP_ANALYSIS.md manual sections
- [ ] Create CONTENT_OUTLINE.md from `docs/content/blog/posts/_templates/CONTENT_OUTLINE.md`: 8–12 H2s, **comparison table** planned, Fazit, Unique Value, and **per-H2 section briefs** (**Angle**, **Target words**, **Key points**, **Formats**, **Planned H3s** or `—`, **Internal links (planned)**, **Avoid**)
- [ ] `php v2/scripts/blog/generate-section-briefs.php` (supplements the outline; does not replace full per-H2 planning)
- [ ] Run: check-outline-h2-overlap, validate-improvement-readiness, validate-content-outline-quality (resolve outline warnings on **Angle** / **Formats** / **Planned H3s** before Phase 4)

## Content

- [ ] Write content section-by-section; apply via `update-post-content.php`
- [ ] **Target:** 100% of competitive-depth recommended (not minimum). Main topics: 1,800–2,500 words.
- [ ] **Answer capsules:** 120–150 char direct answer after question-style H2s (AEO/GEO)
- [ ] **Ratgeber-specific:** Comparison table (software features, pricing, pros/cons); human-first intro
- [ ] **H3 planning:** Target groups (Gastronomie, Pflege, etc.) → H3 per group when 2+ sentences
- [ ] **Format patterns:** `blog-note--important` for pricing/legal callouts; `formula-block` for cost formulas
- [ ] Create 10–15 FAQs; run `check-h2-faq-overlap`; **Ordio in tool/recommendation FAQs**
- [ ] **Cluster Linking:** 3–5 links to pillar; 2–3 to related ratgeber
- [ ] **Resource links:** Tools (2–5), product (2–4 contextual), ratgeber (2–3), lexikon (1–2)
- [ ] Run suggest-ordio-feature and add contextual links
- [ ] Run compare-content-to-competitors and address gaps
- [ ] **Don't stop until complete:** validate-section-depth, validate-content-completeness, validate-faq-quality, validate-new-post

## Image & Meta

- [ ] Create IMAGE_PROMPT.md; run `audit-blog-image-scene-types.py --report-adjacent=3`
- [ ] `python3 v2/scripts/blog/generate-blog-featured-image.py`
- [ ] Set SEO title (50–60 chars) and meta (150–160 chars) in seo-meta.json
- [ ] `php v2/scripts/blog/sync-meta-to-posts.php`

## Linking & Lead Capture

- [ ] `php v2/scripts/blog/suggest-related-posts.php --write`
- [ ] `php v2/scripts/blog/add-new-post-to-related-carousels.php --write`
- [ ] `php v2/scripts/blog/generate-lead-capture-copy.php --write` (add slug to _slugToBenefit if needed)

## Finalization

- [ ] `php v2/scripts/llms/sync-blog-posts-to-llms.php --add`
- [ ] Add to blog-cluster-mapping.json: `php v2/scripts/blog/add-post-to-cluster-mapping.php --post=slug --category=ratgeber --primary-cluster=X` (X = dienstplan, zeiterfassung, compliance, gastronomie, lohnabrechnung, personalverwaltung, tools, pflege, einzelhandel)
- [ ] Create CREATION_NOTES.md
- [ ] Preview at localhost:8003
- [ ] Validate schema with Google Rich Results Test

## Annual Update (Year in Title)

- [ ] If title includes year (e.g. 2026), add to evergreen checklist per blog-evergreen-annual.mdc

## Recently completed

| Completed | Slug | Notes |
|-----------|------|--------|
| 2026-04-01 | `beschaeftigungsverbot-schwangerschaft` | MuSchG Beschäftigungsverbot HR-Ratgeber; cluster `compliance`; CREATION_NOTES + strict validate; FAQ replace uses `--faqs=` path. |
