managarten/apps/uload/docs/reports/landing-page-strategie.md
Wuesteon ff80aeec1f refactor: restructure
monorepo with apps/ and services/
  directories
2025-11-26 03:03:24 +01:00

6.8 KiB

Landing Page Strategie - uLoad

Übersicht

Dieses Dokument analysiert die optimale Strategie für die Implementierung einer Landing Page für uLoad (ulo.ad). Es werden zwei Hauptansätze verglichen: eine separate Astro.js Landing Page versus eine integrierte SvelteKit-Lösung.

Aktuelle Situation

Projekt-Analyse

  • Framework: SvelteKit 2.22 mit Svelte 5.0
  • Backend: PocketBase (eingebettet)
  • Styling: Tailwind CSS 4.0
  • Deployment: Docker + Coolify auf Hetzner VPS
  • Hauptfunktionen:
    • URL-Verkürzung mit QR-Code-Generierung
    • Benutzer-Dashboard mit Analytics
    • Öffentliche Profile (ulo.ad/p/username)
    • Mehrsprachigkeit (Paraglide.js)

Aktuelle Struktur

Die Anwendung ist derzeit eine vollständige SaaS-Lösung mit:

  • Homepage (/) - Einfaches URL-Verkürzungstool
  • Dashboard (/dashboard) - Verwaltung für registrierte Benutzer
  • Öffentliche Profile (/p/[username])
  • Authentifizierung (Login/Register)

Ansatz 1: Separate Astro.js Landing Page

Vorteile

  1. Performance

    • Statische HTML-Generierung = extrem schnelle Ladezeiten
    • Perfekte Lighthouse Scores möglich
    • Minimal JavaScript im Browser
    • CDN-optimiert
  2. SEO-Optimierung

    • Vollständig statischer Content
    • Perfekte Meta-Tags und strukturierte Daten
    • Schnellere Indexierung durch Suchmaschinen
    • Bessere Core Web Vitals
  3. Entwicklung

    • Klare Trennung zwischen Marketing und Produkt
    • Unabhängige Deployment-Zyklen
    • Marketing-Team kann ohne Backend-Kenntnisse arbeiten
    • A/B Testing einfacher implementierbar
  4. Skalierbarkeit

    • Landing Page kann auf separatem CDN laufen
    • Keine Belastung der App-Server
    • Unterschiedliche Skalierungsstrategien möglich

Nachteile

  1. Komplexität

    • Zwei separate Codebases zu verwalten
    • Doppelte Dependencies und Updates
    • Zwei Build-Pipelines nötig
    • Zwei Deployment-Prozesse
  2. Konsistenz

    • Design-System muss synchron gehalten werden
    • Komponenten-Duplikation möglich
    • Brand-Konsistenz schwieriger
  3. User Experience

    • Harter Übergang zwischen Landing Page und App
    • Mögliche Layout-Shifts beim Wechsel
    • Verschiedene Loading-States
  4. Wartung

    • Höherer Wartungsaufwand
    • Zwei verschiedene Tech-Stacks
    • Mehr Testing-Aufwand

Ansatz 2: Integrierte SvelteKit-Lösung

Vorteile

  1. Einheitlichkeit

    • Eine Codebase für alles
    • Konsistentes Design-System
    • Gemeinsame Komponenten-Bibliothek
    • Einheitliche User Experience
  2. Entwicklungseffizienz

    • Weniger Duplikation
    • Ein Build-Prozess
    • Gemeinsame Testing-Infrastruktur
    • Einfachere lokale Entwicklung
  3. Feature-Integration

    • Nahtlose Integration von App-Features
    • Live-Demos direkt in der Landing Page
    • Dynamische Inhalte möglich (z.B. Live-Statistiken)
    • Progressives Enhancement
  4. Wartbarkeit

    • Ein Tech-Stack zu pflegen
    • Zentrale Dependency-Verwaltung
    • Einheitliche CI/CD Pipeline

Nachteile

  1. Performance

    • Größeres JavaScript-Bundle
    • Langsamere initiale Ladezeit
    • Komplexere Hydration
    • Schwieriger zu optimieren
  2. Skalierung

    • Landing Page und App teilen sich Ressourcen
    • Schwieriger unterschiedlich zu skalieren
    • Potenzielle Performance-Einbußen bei hohem Traffic
  3. Flexibilität

    • Marketing-Änderungen betreffen gesamte App
    • Deployment der Landing Page erfordert App-Deployment
    • Weniger Freiheit für Marketing-Experimente

Hybride Lösung (Empfehlung)

Konzept

Optimierte Landing Page innerhalb von SvelteKit mit speziellen Optimierungen:

  1. Struktur

    src/routes/
    ├── (app)/          # Hauptanwendung
    │   ├── dashboard/
    │   ├── login/
    │   └── ...
    ├── (landing)/      # Landing Page Bereich
    │   ├── +page.svelte
    │   ├── pricing/
    │   ├── features/
    │   └── about/
    └── (public)/       # Öffentliche Profile
        └── p/
    
  2. Optimierungen

    • Separates Layout für Landing Pages
    • Minimales JavaScript für Landing-Bereich
    • Prerendering für statische Seiten
    • Lazy Loading für App-Features
    • Edge-Caching für Landing Pages
  3. Implementierung

    • SvelteKit's +page.server.ts für SSR
    • export const prerender = true für statische Seiten
    • Separate Tailwind-Konfiguration für Landing
    • Component-Level Code Splitting

Vorteile dieser Lösung

  • Best of Both Worlds: Performance von statischen Seiten + Einheitlichkeit von SvelteKit
  • Schrittweise Migration: Kann später zu Astro migriert werden
  • Kosten-Nutzen: Maximaler Nutzen bei minimalem Aufwand
  • Flexibilität: Kann je nach Wachstum angepasst werden

Empfehlung

Kurzfristig (3-6 Monate)

Hybride SvelteKit-Lösung implementieren:

  • Landing Page als optimierte Route in SvelteKit
  • Prerendering für SEO-kritische Seiten
  • Fokus auf Performance-Optimierung
  • Gemeinsame Komponenten-Bibliothek

Mittelfristig (6-12 Monate)

Bei Bedarf evaluieren:

  • Traffic-Analyse der Landing Page
  • Performance-Metriken überprüfen
  • Marketing-Anforderungen bewerten

Langfristig (12+ Monate)

Bei hohem Traffic oder speziellen Marketing-Anforderungen:

  • Migration zu separater Astro.js Landing Page
  • Microservice-Architektur implementieren
  • CDN-First Strategie

Implementierungsplan

Phase 1: Optimierung (2 Wochen)

  1. Aktuelle Homepage analysieren
  2. Performance-Bottlenecks identifizieren
  3. Prerendering implementieren
  4. Code-Splitting optimieren

Phase 2: Landing Page Entwicklung (4 Wochen)

  1. Design erstellen
  2. Hero Section implementieren
  3. Features Section
  4. Pricing/CTA Sections
  5. SEO-Optimierung

Phase 3: Testing & Launch (2 Wochen)

  1. A/B Testing Setup
  2. Performance Testing
  3. SEO Audit
  4. Launch

Metriken für Erfolg

Performance

  • Lighthouse Score > 95
  • First Contentful Paint < 1.0s
  • Time to Interactive < 2.5s
  • Cumulative Layout Shift < 0.1

Business

  • Conversion Rate Landing → Sign Up
  • Bounce Rate < 40%
  • Average Session Duration > 2 Min
  • SEO Rankings für Ziel-Keywords

Fazit

Für uLoad empfehle ich die hybride SvelteKit-Lösung als optimalen Startpunkt. Dies bietet:

  1. Schnelle Implementierung ohne große Architektur-Änderungen
  2. Konsistente User Experience über die gesamte Plattform
  3. Flexibilität für zukünftige Skalierung
  4. Kosteneffizienz durch eine Codebase
  5. Möglichkeit zur Migration wenn das Wachstum es erfordert

Die separate Astro.js Landing Page sollte als Option für die Zukunft behalten werden, wenn:

  • Der Traffic signifikant steigt (>100k Besucher/Monat)
  • Marketing-Team dedizierte Ressourcen benötigt
  • Performance-Probleme mit der aktuellen Lösung auftreten
  • Internationale Expansion andere Anforderungen stellt

Erstellt am: Januar 2025 Autor: Claude Code Assistant Projekt: uLoad (ulo.ad)