# Pre-Content Checklist

**Post:** ratgeber/zeiterfassung-app  
**Primary Keyword:** zeiterfassung app (Cluster-Head; Arbeitgeber-Varianten als Secondaries — siehe [KEYWORD_DECISION.md](KEYWORD_DECISION.md))  
**Generated:** 2026-03-17 13:13:09  
**Publish-prep 2026-03-24:** Datenpipeline, Rewrite, FAQs und **`make blog-post-validate-strict`** abgeschlossen; Body ~**3 300** Wörter. Die Kästchen unten bleiben als **Referenz für den nächsten großen Refresh** — bei erneutem Durchlauf wieder abarbeiten.

Complete ALL items before Phase 4 (Content Creation). Do not edit content.html until this checklist is done.

## Phase 1: Data Collection

- [ ] Backup created: `python3 scripts/blog/backup-blog-content.py --manual`
- [ ] GA4 collected: `php v2/scripts/blog/collect-post-performance-ga4.php --post=zeiterfassung-app --category=ratgeber`
- [ ] GSC collected: `php v2/scripts/blog/collect-post-performance-gsc.php --post=zeiterfassung-app --category=ratgeber`
- [ ] Keywords derived: `php v2/scripts/blog/derive-target-keywords.php --post=zeiterfassung-app --category=ratgeber --update-post`
- [ ] SISTRIX collected: `php v2/scripts/blog/collect-post-keywords-sistrix.php --post=zeiterfassung-app --category=ratgeber`
- [ ] FAQ research collected: `php v2/scripts/blog/collect-faq-research-data.php --post=zeiterfassung-app --category=ratgeber`
- [ ] SERP features collected: `php v2/scripts/blog/collect-post-serp-features.php --post=zeiterfassung-app --category=ratgeber`
- [ ] PAA questions collected: `php v2/scripts/blog/collect-post-paa-questions.php --post=zeiterfassung-app --category=ratgeber` (enriches faq-research when serp-features has no question text)
- [ ] Competitor analysis collected: `php v2/scripts/blog/collect-post-competitor-analysis.php --post=zeiterfassung-app --category=ratgeber` (output: data/competitor-analysis.json)
- [ ] Content depth report generated: `php v2/scripts/blog/content-depth-report.php --post=zeiterfassung-app --category=ratgeber`
- [ ] Data validated: `php v2/scripts/blog/validate-data-collection.php --post=zeiterfassung-app --category=ratgeber` passes

## Phase 1.5: GA4/GSC Review (When Data Exists)

- [ ] Review data/performance-gsc.json top queries – ensure they inform CONTENT_OUTLINE H2s and FAQs. See [GSC_GA4_CONTENT_DECISION_GUIDE.md](../../GSC_GA4_CONTENT_DECISION_GUIDE.md).
- [ ] Review data/performance-ga4.json – if bounce rate > 60% or avg engagement < 2 min, consider content depth/format improvements (scannability, answer-first, tables).
- [ ] Review SERP_ANALYSIS.md "GSC Query Opportunities" section (high-impression low-CTR, position 4–10).

## Phase 2: Analysis & Documentation

- [ ] Content analysis run: `php v2/scripts/blog/analyze-post-content.php --post=zeiterfassung-app --category=ratgeber`
- [ ] SEO analysis run: `php v2/scripts/blog/analyze-post-seo.php --post=zeiterfassung-app --category=ratgeber`
- [ ] Links analysis run: `php v2/scripts/blog/analyze-post-links.php --post=zeiterfassung-app --category=ratgeber`
- [ ] Competitor depth analyzed: `php v2/scripts/blog/analyze-competitor-content-depth.php --post=zeiterfassung-app --category=ratgeber` (output: data/competitive-depth-analysis.md)
- [ ] Review data/content-depth-report.md (competitor word counts, recommended target)
- [ ] Documentation regenerated: `php v2/scripts/blog/safe-regenerate-documentation.php --post=zeiterfassung-app --category=ratgeber --backup`
- [ ] SERP skeleton generated: `php v2/scripts/blog/generate-serp-analysis-skeleton.php --post=zeiterfassung-app --category=ratgeber`
- [ ] POST_ANALYSIS.md read
- [ ] SEO_REPORT.md read
- [ ] INTERNAL_LINKS.md read
- [ ] IMPROVEMENT_PLAN.md read (if Ratgeber/Lexikon)

## Phase 3: Research

- [ ] Firecrawl: Pipeline auto-remediates sparse top 7. If re-running: `validate-blog-competitor-data-completeness.php --post=zeiterfassung-app --category=ratgeber --top=7 --remediate`.
- [ ] Review data/competitor-analysis.json (headings, topics, word counts of top 10)
- [ ] Complete browser SERP review per [SERP_REVIEW_CHECKLIST.md](../../_templates/SERP_REVIEW_CHECKLIST.md) (min 30 min)
- [ ] Search primary keyword; document top 10 URLs, PAA questions, featured snippet
- [ ] Search 2 secondary keywords; document top 10 + PAA per keyword
- [ ] Fill SERP_ANALYSIS.md manual sections (Featured Snippet, PAA, Ranking Factors, Recommendations)
- [ ] SERP_ANALYSIS.md created/updated
- [ ] Content outline created (skyscraper: covers top 10 + more + better format)
- [ ] Outline covers: intro (hook, context, value – never "Definition:"), 8–12 H2s, FAQs, Fazit (H2)
- [ ] H3 planning: For each H2, apply CONTENT_DEPTH_GUIDELINES H3 checklist. List vs H3: brief items (1-2 sentences) use list; substantial items use H3. Structure variety across sections.
- [ ] Valuable elements identified (calculators, videos, images to preserve)
- [ ] CONTENT_OUTLINE.md created
- [ ] Section briefs generated or filled: `php v2/scripts/blog/generate-section-briefs.php --post=zeiterfassung-app --category=ratgeber` (key points, target words, formats per H2)

## Phase 4: Validation Gate

- [ ] `php v2/scripts/blog/check-outline-h2-overlap.php --post=zeiterfassung-app --category=ratgeber` (merge or rephrase overlapping H2s)
- [ ] Unique Value section in CONTENT_OUTLINE.md has ≥1 item checked
- [ ] Reviewed [ANTI_FLUFF_CHECKLIST.md](../../ANTI_FLUFF_CHECKLIST.md) before writing
- [ ] `php v2/scripts/blog/validate-improvement-readiness.php --post=zeiterfassung-app --category=ratgeber` passes

## Phase 5: Content Creation (Only After Above Complete)

- [ ] Read `data/section-briefs.md` before writing each section
- [ ] Read `data/competitive-depth-analysis.md` content gaps
- [ ] Content will be applied via `update-post-content.php` (not direct JSON edit). See [BLOG_CONTENT_EDIT_WORKFLOW.md](../../BLOG_CONTENT_EDIT_WORKFLOW.md).
- [ ] Section-by-section drafting: write each H2 to full depth from outline (no incremental word-count chasing). See [CONTENT_CREATION_WORKFLOW_2026.md](../../CONTENT_CREATION_WORKFLOW_2026.md).
- [ ] Use H3s where planned in outline; optional intro paragraph between H2 and first H3
- [ ] Rewrite content from scratch (do not patch)
- [ ] Create/update FAQs
- [ ] Add internal links (10–15)
- [ ] Add tool links (if relevant)
- [ ] Run `php v2/scripts/blog/suggest-contextual-links.php --post=zeiterfassung-app --category=ratgeber`; review data/suggested-contextual-links.json for tool/industry link opportunities
- [ ] **Ordio in body:** 2–4 contextual mentions in main content (not only in FAQs). See [ORDIO_PROMOTION_GUIDE.md](../../ORDIO_PROMOTION_GUIDE.md) principle 6.
- [ ] Tables use correct format (plain table/thead/th/td, wrap in table-breakout-wrapper; no Tailwind on table). See [BLOG_TABLE_FORMAT.md](../../BLOG_TABLE_FORMAT.md)
- [ ] Run `php v2/scripts/blog/compare-content-to-competitors.php --post=zeiterfassung-app --category=ratgeber` after draft; address gaps
- [ ] Run `validate-section-depth.php` and `validate-content-completeness.php` before finalizing
- [ ] Run `python3 v2/scripts/blog/audit-content-structure.py`; address "Consider reviewing structure" if flagged

## References

- [BLOG_POST_IMPROVEMENT_PROCESS.md](../../BLOG_POST_IMPROVEMENT_PROCESS.md)
- [SERP_ANALYSIS_WORKFLOW.md](../../SERP_ANALYSIS_WORKFLOW.md)
- [SERP_REVIEW_CHECKLIST.md](../../_templates/SERP_REVIEW_CHECKLIST.md)
- [FULL_REWORK_DECISION_GUIDE.md](../../FULL_REWORK_DECISION_GUIDE.md)
- [CONTENT_DEPTH_GUIDELINES.md](../../CONTENT_DEPTH_GUIDELINES.md)
