Messe-Landingpage /her-career/ zur herCAREER Expo 2026
Ziel des QR-Codes auf der Rückwandgrafik. Der gedruckte Code zeigt auf https://her-career.anelia-wolf.com – die Adresse ist damit unveränderlich. Die Seite liegt als /her-career/ im normalen Export, die Subdomain liefert dieselbe Datei aus demselben Docroot aus; DNS, Zertifikat, Vhosts für nginx und Apache und die Prüfbefehle stehen in docs/SUBDOMAIN-HERCAREER.md. Aufbau in beiden Sprachen: Hero (ink) → 01 Messe-Special → 02 Themen → 03 Auf der Messe → 04 Kontakt mit dem Formular. Die vier Themenblöcke der Rückwand liegen auf den drei Leistungsseiten, wie in der Navigation; jede Zeile verlinkt absolut auf die Hauptdomain. Der Wortlaut des Messe-Specials fehlt noch und steht sichtbar als „[…]“ auf der Seite. Der Build-Guard hält den Launch-Flip an, bis er da ist (CONTENT_TODO in src/lib/legal.ts, docs/OFFENE-DATEN.md Punkte 2.7–2.9). Deadline ist nicht der Livegang, sondern der 22.10.2026. - Canonical auf anelia-wolf.com/her-career/, damit die Subdomain-Kopie nicht ein zweites Mal im Index steht - flags.showHerCareer trägt Termine-Ledger, Sitemap-Eintrag und die Meta-Beschreibung mit Stand und Uhrzeit. Ab dem 24.10.2026 auf false - ServiceHero: facts und cta sind optional – ohne beides und ohne Foto entfällt die rechte Spalte - ProcessContact: optionaler Zähler, die Messeseite nummeriert ihre Abschnitte - Kopf-CTA auf dieser Seite ausgeblendet. Das macht eine Regel in globals.css, weil der Kopf außerhalb von <main> liegt und auf der Subdomain der Pfad ohnehin „/“ ist Enthält außerdem die bis dahin nicht committeten Änderungen an Header, LangSwitch, OverlayMenu, Wordmark und globals.css. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,7 @@ Adressen, Englisch liegt vollstaendig unter `/en/`:
|
||||
| `/leistungen/keynotes/` | Keynotes & Speaking |
|
||||
| `/impressum/` | Impressum |
|
||||
| `/datenschutz/` | Datenschutzerklärung |
|
||||
| `/her-career/` | Messe-Landingpage zur herCAREER Expo 2026 – Ziel des QR-Codes auf der Rückwandgrafik, ausgeliefert auch unter `her-career.anelia-wolf.com` (`docs/SUBDOMAIN-HERCAREER.md`) |
|
||||
| 404 | „Diese Fährte endet hier.“ – deutsch, mit englischem Zweizeiler darunter |
|
||||
| `/en/` | English start page |
|
||||
| `/en/services/coaching/` | Coaching & Assessments |
|
||||
@@ -33,6 +34,7 @@ Adressen, Englisch liegt vollstaendig unter `/en/`:
|
||||
| `/en/services/keynotes/` | Keynotes & Speaking |
|
||||
| `/en/imprint/` | Imprint (Übersetzung, verbindlich bleibt `/impressum/`) |
|
||||
| `/en/privacy/` | Privacy (Übersetzung, verbindlich bleibt `/datenschutz/`) |
|
||||
| `/en/her-career/` | herCAREER Expo 2026 (englische Fassung der Messeseite) |
|
||||
|
||||
Dazu erzeugt der Build `sitemap.xml`, `robots.txt`, `icon.svg` und `apple-icon.png`.
|
||||
|
||||
@@ -154,12 +156,22 @@ Beides steht an genau einer Stelle: `routesByLang` in `src/lib/i18n.ts`.
|
||||
Wer eine Adresse aendert, aendert sie dort – Navigation, Fuss, Sitemap,
|
||||
hreflang und der Sprachumschalter lesen alle aus dieser Tabelle.
|
||||
|
||||
**Umschalter.** Die beiden Flaggen im Kopf (`LangSwitch.tsx`) fuehren nicht
|
||||
pauschal auf die Startseite, sondern auf das Gegenstueck derselben Seite
|
||||
(`counterpart()`). Unter 1024 px ist im Kopf kein Platz; dort steht der
|
||||
Umschalter im Overlay-Menue. Eine Flagge steht streng genommen fuer ein Land
|
||||
und nicht fuer eine Sprache – deshalb steht das Kuerzel DE/EN daneben und der
|
||||
zugaengliche Name nennt die Sprache ausgeschrieben.
|
||||
**Umschalter.** Der Umschalter (`LangSwitch.tsx`) steht auf jeder Breite im Kopf
|
||||
und fuehrt nicht pauschal auf die Startseite, sondern auf das Gegenstueck
|
||||
derselben Seite (`counterpart()`). Zwei Formen:
|
||||
|
||||
- ab 1024 px beide Sprachen nebeneinander, die aktive still in Gold,
|
||||
- darunter nur die Zielsprache als ein Knopf – ein Tipp, ein Wechsel. Neben
|
||||
Wortmarke und „Menue“ hat auf einem Telefon kein Paar Platz.
|
||||
|
||||
Der Kopf liegt ueber dem Overlay-Menue, der Knopf bleibt also auch bei offenem
|
||||
Menue erreichbar. Im Menue selbst steht er nicht mehr: Dort fiel er auf kurzen
|
||||
Geraeten (iPhone SE, 667 px) unter die Kante, ohne dass man dem Menue ansah,
|
||||
dass darunter noch etwas kommt.
|
||||
|
||||
Eine Flagge steht streng genommen fuer ein Land und nicht fuer eine Sprache –
|
||||
deshalb steht das Kuerzel DE/EN daneben und der zugaengliche Name nennt die
|
||||
Sprache ausgeschrieben.
|
||||
|
||||
**Zwei Wurzel-Layouts.** `app/(de)/layout.tsx` schreibt `<html lang="de">`,
|
||||
`app/en/layout.tsx` schreibt `<html lang="en">`. Im App Router schreibt nur das
|
||||
@@ -240,6 +252,12 @@ Ressourcen lädt, ist eine sehr strenge Content-Security-Policy möglich.
|
||||
speist Canonical-URLs, OpenGraph und `sitemap.xml`. Bei anderer Domain hier
|
||||
ändern und neu bauen.
|
||||
|
||||
**Subdomain `her-career.anelia-wolf.com`**: Der QR-Code auf der Rückwandgrafik
|
||||
zeigt auf diese Adresse – gedruckt und damit unveränderlich. Sie braucht keinen
|
||||
zweiten Build: derselbe Docroot, `/` liefert `her-career/index.html`, alles andere
|
||||
geht per 301 auf die Hauptdomain. Vhost-Beispiele für nginx und Apache, DNS,
|
||||
Zertifikat und Prüfbefehle stehen in **`docs/SUBDOMAIN-HERCAREER.md`**.
|
||||
|
||||
---
|
||||
|
||||
## 3. Bilder und Logo einspielen (Drop-in)
|
||||
@@ -330,6 +348,7 @@ Freigaben vorliegen. Kein Flag verlangt eine Codeänderung an Komponenten.
|
||||
| `show24hPromise` | `false` | Zusage „Antwort innerhalb von 24 Stunden“ |
|
||||
| `showIndustry` | `false` | Branchennennung im Nebentätigkeits-Kontext |
|
||||
| `showTwins` | `true` | Zwillinge-Satz in der Biografie |
|
||||
| `showHerCareer` | `true` | Messeseite `/her-career/` trägt den Termine-Ledger („Auf der Messe“) und steht in der Sitemap; die Meta-Beschreibung nennt Stand und Uhrzeit. Ab dem 24.10.2026 auf `false` – siehe Abschnitt 6. |
|
||||
| `showLangSwitch` | `true` | Sprachumschalter im Kopf und im Overlay-Menü. Auf `false` verschwinden beide Flaggen, die englischen Seiten bleiben über ihre Adresse erreichbar. |
|
||||
|
||||
Nicht bestätigte Aussagen sind bewusst ausgeschaltet: eine Zusage, die nicht
|
||||
@@ -414,7 +433,14 @@ vergangenes Event). Zu tun, mit Termin im Kalender:
|
||||
3. Auch anpassen: `src/content/keynotes.ts` (Meta-Zeile
|
||||
„Keynote · herCAREER Expo 2026 · 23.10. · 10:30“) und
|
||||
`src/content/home.ts` (Marginalie „Bühne“, Fact-Zeile).
|
||||
4. `npm run build`, `out/` hochladen.
|
||||
4. **Messeseite `/her-career/`**: `flags.showHerCareer` auf `false` setzen. Damit
|
||||
fällt der Termine-Ledger weg, die Meta-Beschreibung wechselt auf die Fassung ohne
|
||||
Stand und Uhrzeit, und die Seite verschwindet aus der Sitemap; Hero, Messe-Special,
|
||||
Themen und Kontakt bleiben stehen. Die Seite selbst bleibt erreichbar – gedruckte
|
||||
QR-Codes laufen weiter.
|
||||
Ist das Messe-Special nach der Messe hinfällig, muss sein Text mit weg
|
||||
(`src/content/her-career.ts`, `src/content/en/her-career.ts`).
|
||||
5. `npm run build`, `out/` hochladen.
|
||||
|
||||
**Offen: Wer pflegt das, und wann?** Das ist Spec §12 Punkt 17 und muss mit
|
||||
der Kundin geklärt werden – am besten als feste Zuständigkeit plus
|
||||
@@ -481,7 +507,7 @@ Produktions-Build.
|
||||
| `npx tsc --noEmit -p tsconfig.json` | fehlerfrei |
|
||||
| `npm run lint` (ESLint) | fehlerfrei |
|
||||
| `npm run build` | erfolgreich, 12 statische Seiten |
|
||||
| Routen in `out/` | `/`, `/leistungen/coaching/`, `/leistungen/trainings/`, `/leistungen/keynotes/`, `/impressum/`, `/datenschutz/`, `404.html` (+ `_not-found/`) – alle vorhanden |
|
||||
| Routen in `out/` | `/`, `/leistungen/coaching/`, `/leistungen/trainings/`, `/leistungen/keynotes/`, `/her-career/`, `/impressum/`, `/datenschutz/`, `404.html` (+ `_not-found/`) – alle vorhanden |
|
||||
| `localStorage` / `sessionStorage` / `document.cookie` in `out/` | **kein Treffer** (HTML, JS, CSS geprüft) |
|
||||
| Externe Origins in den HTML-Dateien | nur `anelia-wolf.com`, `linkedin.com`, `her-career.com`, `bfdi.bund.de`, `schema.org`, `w3.org` (SVG-Namespace) |
|
||||
| Externe Ressourcen | keine: 0 iframes, alle `<script src>` unter `/_next/`, alle 18 `@font-face` zeigen auf lokale `.woff2` in `_next/static/media/`. Die Treffer `nextjs.org`, `react.dev`, `gsap.com`, `github.com` liegen ausschließlich als Text in Fehlermeldungen und Lizenzkommentaren in Vendor-Bundles – **keine Requests**. |
|
||||
@@ -530,7 +556,8 @@ Produktions-Build aus `out/` ist er nicht vorhanden.
|
||||
- [ ] Freigegebene Blöcke per Flag eingeschaltet (FAQ, Stimmen, Speaker-PDF …)
|
||||
- [ ] `hostOutsideEu` korrekt gesetzt, AV-Verträge mit Hoster und E-Mail-Anbieter
|
||||
- [ ] Domain in `src/lib/site.ts` stimmt, HTTPS aktiv, 404-Seite konfiguriert
|
||||
- [ ] `out/` hochgeladen, alle zwölf Routen im Browser geprüft (sechs deutsch, sechs englisch)
|
||||
- [ ] `out/` hochgeladen, alle vierzehn Routen im Browser geprüft (sieben deutsch, sieben englisch)
|
||||
- [ ] Subdomain `her-career.anelia-wolf.com` eingerichtet und mit dem **gedruckten** QR-Code gescannt (`docs/SUBDOMAIN-HERCAREER.md`)
|
||||
- [ ] Sprachumschalter auf jeder Seite geprüft: er führt auf dieselbe Seite in der anderen Sprache, nicht auf die Startseite
|
||||
- [ ] Kalendereintrag für den 24.10.2026 (Termine-Block, Abschnitt 6)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user