# Ratgeber Post Creation To-Do Template

**Last Updated:** 2026-03-24

Step-by-step checklist for new Ratgeber posts (skyscraper workflow). **DO NOT SKIP** any item. Copy and adapt for each post.

**Jump:** [Pre-Scaffold](#pre-scaffold) · [Scaffold & pipeline](#scaffold-pipeline) · [SERP & outline](#serp-outline) · [Content](#content-creation) · [Post-write validation](#post-write-validation) · [Image & finalization](#image-linking-finalization) · [Hub](../../CONTENT_SYSTEM_INDEX.md)

<a id="pre-scaffold"></a>

## Pre-Scaffold (DO NOT SKIP)

- [ ] Run `python3 scripts/blog/backup-blog-content.py --manual`
- [ ] Verify backup created
- [ ] Verify year-dependent legal values where applicable (see `blog-evergreen-annual.mdc`)
- [ ] Identify primary cluster + pillar(s); list sibling posts (`CLUSTER_AUDIT.md`, `CLUSTER_LINKING_STRATEGY.md`)
- [ ] Note cannibalization vs. existing posts (`KEYWORD_DECISION.md`)

<a id="scaffold-pipeline"></a>

## Scaffold & Pipeline (DO NOT SKIP)

- [ ] `php v2/scripts/blog/create-new-blog-post.php --topic="X" [--title="X"] --category=ratgeber`
- [ ] `KEYWORD_DECISION.md` + `collect-post-keywords-sistrix.php` (primary-only, then full); `data/target-keywords.json` (≤7 terms)
- [ ] `php v2/scripts/blog/run-new-post-pipeline.php --post=slug --category=ratgeber`
- [ ] **Verify pipeline output:** competitor-analysis.json, competitive-depth-analysis.md, content-depth-report.md
- [ ] **Sparse competitors:** `validate-blog-competitor-data-completeness.php --remediate` + `SISTRIX_FAILURE_FALLBACKS.md`
- [ ] **PAA quality:** `paa-questions-manual.json` + `collect-faq-research-data.php` if needed (`PAA_QUALITY_AND_MANUAL_OVERRIDE.md`)

<a id="serp-outline"></a>

## SERP & Outline (DO NOT SKIP)

- [ ] **~30 min browser SERP review** (`SERP_REVIEW_CHECKLIST.md`); complete `SERP_ANALYSIS.md` (no `- [ ]` placeholders)
- [ ] `CONTENT_OUTLINE.md`: 100% of competitive-depth target words; H2 lines as `N. **H2: …**` for `generate-section-briefs.php`
- [ ] `synthesize-outline-scaffold.php --post=slug --category=ratgeber` → merge scaffold
- [ ] `generate-section-briefs.php`
- [ ] **Outline gate:** `make blog-outline-gate POST=slug CAT=ratgeber` (and `validate-content-outline-quality.php --target-ratio=1.0`, `check-outline-h2-overlap.php` as needed)

<a id="content-creation"></a>

## Content Creation (Ratgeber-specific)

- [ ] **Intro:** people-first (`PEOPLE_FIRST_INTRO_AND_LINKING.md`); no „Definition:“ lead
- [ ] **Answer capsules:** 120–150 chars under question-style H2s; varied openers (`blog-ratgeber-quality.mdc`)
- [ ] **≥1 comparison table** (`BLOG_TABLE_FORMAT.md`, `table-breakout-wrapper`)
- [ ] **`blog-note--important`** for risk / legal nuance (no § in user-facing copy)
- [ ] **Pillar:** 3–5 contextual links to hub; `validate-pillar-links.php` after `internal_links` / `related_posts`
- [ ] **10–15 FAQs** in post JSON; `generate-faq-answers-optimized.php --use-ai`; `check-h2-faq-overlap.php`
- [ ] Apply body via `update-post-content.php` from `content-draft.html` only (`BLOG_CONTENT_EDIT_WORKFLOW.md`)
- [ ] `compare-content-to-competitors.php` → gaps; **`--strict`** before publish

<a id="post-write-validation"></a>

## Post-Write Validation (ALL MUST PASS)

- [ ] `make blog-post-validate-strict POST=slug CAT=ratgeber`
- [ ] `php v2/scripts/blog/validate-new-post.php --post=slug --category=ratgeber --strict`
- [ ] **Content-flow:** avoid `\bHäufig\b … Fragen` false positive across H2→body (no lowercase „häufig“ before distant „Fragen“ without closing heading)

<a id="image-linking-finalization"></a>

## Image, Linking, Finalization

- [ ] `IMAGE_PROMPT.md`; `audit-blog-image-scene-types.py --report-adjacent=3`; `generate-blog-featured-image.py`
- [ ] `seo-meta.json` + `sync-meta-to-posts.php` (ASCII key `ratgeber/slug`)
- [ ] `suggest-related-posts.php --write`; `add-new-post-to-related-carousels.php --write`
- [ ] `generate-lead-capture-copy.php --write` (extend `_slugToBenefit` in `generate-lead-capture-copy.php` if missing)
- [ ] `add-post-to-cluster-mapping.php --primary-cluster=…`
- [ ] `sync-blog-posts-to-llms.php --add`
- [ ] `TIER1_PILLAR_MAPPING.md` post section when tier-1 / pillar-gated
- [ ] `CREATION_NOTES.md`

## References

- [RATGEBER_NEW_POST_CHECKLIST.md](../../RATGEBER_NEW_POST_CHECKLIST.md)
- [CONTENT_SYSTEM_INDEX.md](../../CONTENT_SYSTEM_INDEX.md)
- [SKYSCRAPER_CONTENT_QUALITY_ENFORCEMENT.md](../../SKYSCRAPER_CONTENT_QUALITY_ENFORCEMENT.md)
- [PILLAR_PAGE_INTEGRATION_CHECKLIST.md](../../PILLAR_PAGE_INTEGRATION_CHECKLIST.md)
