# Rüstzeit — creation notes

**Last Updated:** 2026-03-20

## Positioning

- **Primary keyword:** Rüstzeit (betrieblich angeordnete Vorbereitung vor der Hauptleistung; HR/ArbZG, nicht nur Fertigungs-Takt).
- **Cannibalization:** **`arbeitszeit`** = Oberbegriff Beginn–Ende; **dieser Artikel** = Label „Rüstzeit“, Abgrenzung zu Wartezeit/Pause/Wegezeit; **`arbeitszeiterfassungsgesetz`** = Ist-Stunden-Nachweis; **`nachweisgesetz`** = Vertragsdokumentation (nicht verwechseln).
- **Cluster:** `zeiterfassung` (primary), `dienstplan` (secondary).

## Backup & scaffold

- Manual backup: `python3 scripts/blog/backup-blog-content.py --manual` → snapshot under `docs/backups/blog-snapshots/`.
- Scaffold: `php v2/scripts/blog/create-new-blog-post.php` with slug **`ruestzeit`**, author Hady.

## Pipeline / data

- `run-new-post-pipeline.php`, `collect-post-keywords-sistrix.php`; `data/target-keywords.json` (≤7 terms).
- **`paa-questions-manual.json`** where PAA thin/noisy; `KEYWORD_DECISION.md`, `CONTENT_OUTLINE.md`, `SERP_ANALYSIS.md`.
- **Depth:** editorial target ~2 400 Wörter (competitive-depth adjustiert); body **~2 244** Wörter nach Content-Review (≥80 %, näher am Outline-Ziel).

## Content review (expand pass)

- **2026-03-20:** Ergänzt: Pillar-Verortung im Intro; Mitbestimmung (Betriebsrat/ERP-HR); Prüfungen (`betriebspruefung`, Lohn-Audit); Abgrenzung Ruf-/Arbeitsbereitschaft vs. Rüstzeit; Lean/SMED vs. personelle Arbeitszeit; Onboarding-Abgleich Personalakte + Zuschlagsrechner; zwei typische Fehler (Teambriefing, Excel ohne Stempel); intro-Paragraph gesplittet (Lesbarkeit/content-flow).

## Content & Ordio

- Source: `docs/content/blog/posts/lexikon/ruestzeit/content.html` → applied only via **`php v2/scripts/blog/update-post-content.php`** (never direct JSON text edit for body).
- Product: `/arbeitszeiterfassung`, `/schichtplan`, `/payroll`, `/abwesenheiten`, `/digitale-personalakte`; Branchen: `/branchen/gastronomie`, `/branchen/handwerk-industrie`.
- Tools: `/tools/arbeitszeitrechner`, `/tools/stundenlohnrechner`, `/tools/brutto-netto-rechner`, `/tools/zuschlagsrechner` (Kontext: Zuschläge vs. Buchung).
- Download: `/download/zeiterfassung` (Abgleich Begriffe/Konten).
- **`suggest-ordio-feature.php`** run (Zeiterfassung + Schichtplanung primary).

## Internal linking & flow

- **`internal_links`:** pillar entries **Zeiterfassung** + **Dienstplan** (`validate-pillar-links.php`).
- **Content-flow fix:** Wort „häufig“ + später „…fragen“ (z. B. Such**anfragen**) triggerte fälschlich das FAQ-H2-Muster → „häufig“ → „oft“ in zwei Sätzen.
- `validate-internal-links-exist.php --post=ruestzeit --category=lexikon` PASS (72 Links nach Erweiterung).

## Related posts & carousels

- **related_posts:** pillars + `arbeitszeit`, `arbeitszeiterfassungsgesetz`, `stempeluhr`, `pausenzeiten`, `schichtarbeit`, `projektzeiterfassung`.
- **`add-new-post-to-related-carousels.php --write`** → `arbeitszeit`, `stempeluhr`, `schichtarbeit`, `arbeitszeiterfassungsgesetz`.

## Lead capture

- **`lead_capture_copy.php`** key **`blog_ruestzeit`**.
- **`_slugToBenefit`** in `v2/scripts/blog/generate-lead-capture-copy.php`: `ruestzeit` → Rüst-/Vorbereitungszeiten in Zeiterfassung und Dienstplan.

## FAQs

- **`faq-answers-optimized.json`** (manual) + `add-faqs-to-post.php` → **10** FAQs (2 H2-overlap duplicates skipped: „Ist Rüstzeit Arbeitszeit?“, „Wann beginnt die Arbeitszeit…“).
- **`check-h2-faq-overlap.php`** PASS.

## Image & SEO

- **`IMAGE_PROMPT.md`:** Werkstatt-/Produktionsvorbereitung (kein generischer Uhr-Hero).
- `generate-blog-featured-image.py` → `/insights/bilder/ruestzeit-{640,1024,1280}w.webp`; `fix-featured-image-alt.php` für Title-Alignment.
- **`v2/data/blog/seo-meta.json`** key **`lexikon/ruestzeit`**; `sync-meta-to-posts.php`.
- **`docs/.../data/seo-meta.json`** mirror für `validate-new-post.php`.

## Bidirectional / inventory

- **`data/bidirectional-links.json`:** leerer `content_targets` (Carousels + Cluster-Links ausreichend dokumentiert).
- **`normalize-and-match-terms.py`** → `merged.json` **`ruestzeit`:** `ordio_covered: true`, `ordio_slug: ruestzeit`.
- **`LEXIKON_CONTENT_GAPS.md`:** Zeile `ruestzeit` entfernt.
- **`LEXIKON_NEW_POST_CHECKLIST.md`:** Completion-Zeile ergänzt.

## LLM

- `v2/scripts/llms/sync-blog-posts-to-llms.php --add`.
- **Nach Abschluss:** `sync-blog-posts-to-llms.php --update-counts` (Header-Zähler in `llms.txt` / `llms-full.txt`) — ausgeführt 2026-03-20.

## SERP-Dokumentation

- **`SERP_ANALYSIS.md`:** Manuelle Abschnitte (Featured Snippet, PAA, Ranking, Empfehlungen) **ausgefüllt**; Primary Keyword auf **„Rüstzeit“** angeglichen; Verweis auf `paa-questions-manual.json` und `competitor-analysis.json`.
- Copy: „**Mitarbeitergespräch-Kultur**“ → „**Mitarbeitergesprächen**“ (vermeidet Industry-Keyword-False-Positive „Kultur“ in `validate-new-post.php`).

## Validation bundle

- `validate-new-post.php --strict` — **OK** (nach Kultur-Wording-Fix).
- `validate-content-flow.php`, `validate-pillar-links.php`, `validate-faq-quality.php` (EXCELLENT), `check-h2-faq-overlap.php`.
- `validate-section-depth.php` — PASS; `validate-content-completeness.php` — COMPLETE (PAA 10/10).
- **`add-faq-links.php`:** nicht anwendbar (Script erwartet FAQ-HTML im Body; FAQs liegen im JSON — bereits Links in FAQ-Antworten).

## Post-deploy

1. HTTP 200 auf `https://www.ordio.com/insights/lexikon/ruestzeit/` (lokal: Docker `http://localhost:8003/insights/lexikon/ruestzeit/`).
2. [Rich Results Test](https://search.google.com/test/rich-results) — FAQPage + Article.
3. Nach Live-Änderungen: `sync-blog-posts-to-llms.php --update-counts` optional.

## SEO-Meta-Sync

- Backup bei Sync: `docs/backups/blog-seo-meta-sync-*` (automatisch).
