# CREATION_NOTES: 40-stunden-woche

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

## Keywords

- Primary: **40 Stunden Woche** (`data/target-keywords.json`).
- Cannibalization: starke Verlinkung zu `wochenarbeitszeit`, `35-stunden-woche`, `48-stunden-woche`, `hoechstarbeitszeit` — Details in `KEYWORD_DECISION.md`.

## Pipeline / SERP

- `create-new-blog-post.php` + `run-new-post-pipeline.php` (SERP/Competitor-Daten unter `docs/.../data/`).
- Firecrawl/SERP-Noise (z. B. universal-search-box) in `SERP_ANALYSIS.md` nur als Kontext.

## Content

- Fließtext: `content-draft.html` → `update-post-content.php` (kein Roh-JSON-Edit am Body).
- **Revision 2026-04-04 (Qualität):** Natürlichere Formulierung „40 Stunden pro Woche“; weniger einheitliche **„Kurz:“**-Labels (Content-Depth-Leitlinie); neuer **H3 Teilzeit/Vollzeitbezug** mit Prozent-Beispiel; Monatsstunden-Abschnitt um **52÷12** und Lohn-Monats-Soll erweitert; Link **Schichtmodelle** + Pillar **Zeiterfassung**; HR-Absatz um **Mitbestimmung/Organisation** ergänzt; Fazit geschärft (Soll/Ist, Kalender vs. Abrechnung). Wortzahl danach ~1760; `make blog-post-validate-strict` OK.
- **Revision 2026-04-04 (UX/Prozess):** Fließtext-**Intro** vor dem ersten H2; **FAQ-Fragen** ohne `40-Stunden-Woche:`-Präfix; `validate-faq-topic-relevance.php` um Erkennung für Slugs `^\d{1,2}-stunden-woche$` ergänzt (kein Titel-Präfix mehr nötig).
- **validate-content-flow:** **Intro-`<p>`** direkt nach Content-Wrapper, dann `blog-note`, erst danach **H2 „Was ist …?“**; Wortfolgen `Häufig` + `Fragen` im Fließtext/Tabelle vermieden (False Positive FAQ-in-Body-Regex).
- **compare-content-to-competitors:** Kurzpassage zu Medien-/Führungskräfte-Debatte (ohne Tabloid-Zitate); Gap-Keywords aus `competitive-depth-analysis.md` adressiert.
- **H3:** drei strategische Unterüberschriften (Vergleich, Monatsstunden, HR-Checkliste).
- **FAQs:** `faq-answers-optimized.json` → `add-faqs-to-post.php --replace --no-sort`; Fragen **ohne** Titel-Präfix (natürliche Formulierung); Topic-Relevanz für `N-stunden-woche`-Slugs in `validate-faq-topic-relevance.php` abgesichert; Lehrer-FAQ auf Sonderfall-Lehrkräfte ausgerichtet.

## SEO & Bild

- `data/seo-meta.json` + Key `lexikon/40-stunden-woche` in `v2/data/blog/seo-meta.json`; `sync-meta-to-posts.php` (Description ≤165 Zeichen).
- Featured: `IMAGE_PROMPT.md` → `generate-blog-featured-image.py` → WebPs unter `/insights/bilder/40-stunden-woche-*w.webp`.

## Related, Cluster, Produkt

- Related Posts kuratiert (Pillars + X-Stunden-/Arbeitszeit-Cluster); `add-new-post-to-related-carousels.php --write`.
- **Kontext- & Produktlinks (Validator):** `suggest-contextual-links.php` + manuelle Einbindung im Fließtext: Tools (u. a. Arbeitstage-, Urlaubsanspruch-, Zuschlags-, Brutto-Netto-Rechner), Branche **Industrie** → `/branchen/handwerk-industrie`, Lexikon-Ergänzungen (u. a. `sollstunden`, `homeoffice`, `onboarding`, `sollarbeitszeit`, `ruhezeiten`, `bundesurlaubsgesetz`, `lohnabrechnung`), Ordio **Payroll**, **Abwesenheiten**, **Dokumentenmanagement**, **digitale Personalakte**, **Checklisten**. „Employer Branding“ → **Arbeitgeberauftritt** (Keyword-Mapping ohne sinnlosen Tool-False-Positive).
- **Bidirektional:** `wochenarbeitszeit` Intro → Link auf `/insights/lexikon/40-stunden-woche/`; `35-stunden-woche` Absatz „Abgrenzung zu …“ → Link auf **40 Stunden** (`content-draft.html` bzw. exportierter Body + `update-post-content.php`). Beim Sync von `wochenarbeitszeit` kaputte Lexikon-URLs **tarifvertrag** / **arbeitszeitgesetz** auf **`tarifvertraege`** / **`arbeitszeit`** korrigiert.
- `add-post-to-cluster-mapping.php` (primary **zeiterfassung**); Secondary **dienstplan** in `docs/data/blog-cluster-mapping.json`; `validate-cluster-mapping.py` → OK.
- `blog-product-feature-mapping.json`: Key `40-stunden-woche` → `/arbeitszeiterfassung`, `/schichtplan`.

## Lead / LLM

- `_slugToBenefit` für `40-stunden-woche` in `generate-lead-capture-copy.php`; `--write` ausgeführt.
- `sync-blog-posts-to-llms.php --add`; Lexikon-Zähler in `html/llms.txt` / `html/llms-full.txt` auf **368** angeglichen; `validate-llms-metadata.py --report` → OK.

## Validierung

- `make blog-post-validate-strict POST=40-stunden-woche CAT=lexikon` → durchgelaufen (2026-04-04).
- `validate-new-post.php --strict` kann optionale **WARN** zu zusätzlichen Produkt-/Tool-Links liefern (Mapping-Hinweise); keine Blocker.

## QA (Docker / Produktion)

- Seite im **User-Docker** prüfen: `/insights/lexikon/40-stunden-woche/` — HTTP 200, H1, FAQ im DOM, Article + FAQPage JSON-LD.
- Nach Deploy: [Rich-Results-Test](https://search.google.com/test/rich-results) mit Produktions-URL.

## Inventory

- `LEXIKON_CONTENT_GAPS.md` und `LEXIKON_INVENTORY_REPORT.md`: Zeile **40_stunden_woche** entfernt (Ordio-Artikel live). `merged.json` ggf. beim nächsten vollständigen Inventory-Lauf nachziehen (Datei ggf. per Pipeline regenerieren).
