Darstellung
17 – Public Website / Landing / Lösungen (Marketing)
Reifegrad: 🟡 funktional, CMS-abhängig · Schicht: WORK7_SURFACE=landing, src/app/{page,[slug],[locale],loesungen,solutions,resources}, src/lib/payload-cms.ts, src/lib/firecrawl/*, src/components/{marketing,resources}/*, src/app/api/contact/*
Zweck
Öffentliche Marketing-Website (Landingpages, Lösungen, Blog/Ressourcen, Kontaktformular), die über das landing-Surface desselben Codebestands ausgeliefert wird (siehe adr-0001-landing-app-domain-split).
Surface & Routing
- Bei
WORK7_SURFACE=landingliefert die App nur Marketing-Routen aus; App-Pfade werden aufapp.work7.netumgeleitet (src/middleware.ts,src/lib/site-surface.ts). - Marketing-Routen:
/(Startseite, seit 2026-07-02 konsolidiert aus dem statischen Prototyp, siehe feature-landing-consolidation),/kontakt(Cal.com + Demo-Konto),/loesungen+/loesungen/[gewerk](hardcoded Gewerke-Seiten),/vergleiche/[slug],/hosting-sicherheit,/solutions(CMS),/resources(Ressourcen/Blog),/[slug](CMS-Detailseiten),/[locale]/{about,blog}(lokalisiert),/impressum,/datenschutz(siehe 19-legal-impressum-datenschutz),sitemap.xml+robots.txt(Next-Metadata-Routen). - Erlaubte Landing-APIs:
/api/contact,/api/health.
Content über Payload-CMS
- Inhalte (Artikel, Landingpages, programmatische Seiten, FAQ) kommen aus einer externen Payload-CMS-Instanz (
src/lib/payload-cms.ts):fetchResourceBySlug,fetchResourcesList,fetchSolutionBySlugetc. - Env:
PAYLOAD_CMS_URL,PAYLOAD_CMS_API_KEY,USE_PAYLOAD_INSIGHTS=true(lokal über ngrok auspayload-seo-cms, Prod-Paritätcms.laendletech.at, siehesrc/README.md). - ISR: Detailseiten
revalidate = 60. SEO-Metadaten (Title/Description/OG/Canonical/noindex) kommen aus den CMS-seo-Feldern. - Komponenten:
src/components/resources/*(Shell, Cover-Image, Author-Byline),src/components/marketing/SiteNavbar.tsx.
Kontaktformular
POST /api/contact(Zod-validiert: Name, E-Mail, Branche, Interessen, Nachricht, Datenschutz-Zustimmung) → Versand per Microsoft Graph überno-reply@work7.net.POST /api/contact/access-request– Zugangs-/Demo-Anfrage.
Tracking / SEO
- GA4-Website-Tracking dokumentiert in
feature-ga4-website-tracking.md. - Marktanalyse/Wettbewerb unter
../market-research/.
Firecrawl
src/lib/firecrawl/client.ts – Web-Scraping; primär für die Impressum-Extraktion bei Kontakten genutzt (siehe 03-kontakte-crm), nicht für die öffentliche Site selbst.
Bekannte Befunde / offene Punkte
/solutionsund/resourcessind ohne erreichbares Payload-CMS leer (harte Laufzeit-Abhängigkeit). Für Dev:npm run seed:dev-golden-samplesimpayload-seo-cms.- Es existieren zwei Sprach-/Pfadwelten:
/loesungen(de) und/solutionssowie ein[locale]-Segment (about/blog) – Routing-Strategie bei Bedarf vereinheitlichen. customer_website-Feld (Migration 032) gehört zu Kontakten, nicht zur Marketing-Site.