38 lines
2.8 KiB
Markdown
38 lines
2.8 KiB
Markdown
# Checkpoint SEO-Umsetzung — 04.08.2026
|
|
|
|
## Erledigt
|
|
|
|
**Phase 0 — Titles/Metas** (`greenlns-landing/lib/seoPages.ts`)
|
|
|
|
- `blumen-scanner`: Title/Meta/H1 auf exaktes Keyword „Blumen Scanner" + kostenlos + 2026
|
|
- `flower-scanner`: dito auf Englisch
|
|
- `pflanzen-erkennen-app`: Title/Meta, „Pflanzenerkenner" ergänzt (Pos. 10,6 / 49 Imp.)
|
|
- `giess-erinnerung-app`: Title/Meta/H1, „Gießerinnerung" zusammengeschrieben (Query-Form)
|
|
|
|
**Phase 1 — Scan-Logging**
|
|
|
|
- Neu: `server/lib/scanEvents.js` — Tabelle `scan_events`, bewusst ohne `user_id`/Bildreferenz. `recordScanEvent` schluckt Fehler, damit ein Log-Fehler nie einen Scan kippt. Zusätzlich `getScanEventStats` für spätere Auswertung.
|
|
- `server/index.js`: `ensureScanEventSchema` im Start-Hook, `recordScanEvent` nach Erfolg in `/v1/scan` (species, confidence, locale) und `/v1/health-check` (diagnosis, health_status).
|
|
- `app/scanner.tsx`: `species` und `health_status` als Properties auf `paid_scan_completed`.
|
|
- Syntaxcheck Backend lief durch (`node --check index.js`).
|
|
|
|
**Phase 3 — drei neue Seiten**
|
|
|
|
Profile in `contentClusterSeoPages` (`lib/seoPages.ts`), Slugs in `germanSeoPageSlugs`, Routen unter `app/<slug>/page.tsx`:
|
|
|
|
- `/giessplan-zimmerpflanzen` — 4 Sections, Intervalle für 8 Pflanzengruppen, Pflegekarte, 5 HowTo-Schritte, 6 FAQs
|
|
- `/pflanzen-diagnose` — 5 Sections inkl. Symptomzuordnung, Schädlinge, Pilze, „nicht mehr zu retten", 5 HowTo-Schritte, 6 FAQs
|
|
- `/welche-pflanze-ist-das` — 4 Sections, 6 Bestimmungswege, Merkmale ohne App, Giftigkeitshinweis, 5 HowTo-Schritte, 6 FAQs
|
|
|
|
## Offen
|
|
|
|
1. **Build/Typecheck nicht gelaufen.** `cd greenlns-landing && npm run build`. Die drei Profile sind neu getippt — wenn etwas bricht, dann dort.
|
|
2. **Interne Rückverlinkung fehlt.** Die neuen Seiten verlinken nach außen, aber noch zeigt kein bestehendes Profil auf sie. `relatedLinks` ergänzen bei:
|
|
- → `/giessplan-zimmerpflanzen`: in `giess-erinnerung-app`, `pflanzen-pflege-app`, `ueberwaessert-oder-zu-trocken`
|
|
- → `/pflanzen-diagnose`: in `pflanzen-krankheiten-erkennen`, `gelbe-blaetter-zimmerpflanze`, `braune-blattspitzen`, `trauermuecken-blumenerde`, `wurzelfaeule-erkennen`
|
|
- → `/welche-pflanze-ist-das`: in `pflanzen-bestimmen`, `zimmerpflanzen-bestimmen`, `blumen-scanner`, `vs/google-lens`
|
|
3. **Hero-Bilder.** Alle drei Seiten laufen auf `/hero.jpg`. Eigene `heroImage` + `heroImageAlt` setzen — bei `/pflanzen-diagnose` sind Symptomfotos ohnehin der eigentliche Ranking-Faktor (`pflanzenkrankheiten bilder` ist ein eigenes Keyword).
|
|
4. **Privacy Policy.** Ein Satz zu anonymer, aggregierter Scan-Statistik ergänzen.
|
|
5. **Phase 2 Benchmark** — liegt bei dir: 50 Pflanzen fotografieren, durch die vier Apps schicken. Speist danach `/welche-pflanze-ist-das`.
|
|
6. **CTR-Gegenprüfung** der Phase-0-Änderungen in GSC in 4 Wochen, also ~KW 36. Änderungsdatum: 04.08.2026.
|