Move inactive projects out of active workspace: - bauntown (community website) - maerchenzauber (AI story generation) - memoro (voice memo app) - news (news aggregation) - nutriphi (nutrition tracking) - reader (reading app) - uload (URL shortener) - wisekeep (AI wisdom extraction) Update CLAUDE.md documentation: - Add presi to active projects - Document archived projects section - Update workspace configuration Archived apps can be re-activated by moving back to apps/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
10 KiB
Blog-System Implementation Plan für uload
Executive Summary
Basierend auf der Analyse empfehle ich die PocketBase-Integration (Option 1) als optimale Lösung. Dieser Plan zeigt die konkrete Umsetzung in 5 Entwicklungstagen.
Projektziele
- ✅ Content Marketing Platform für SEO & Thought Leadership
- ✅ Nahtlose Integration in bestehendes uload-System
- ✅ Skalierbar für 100+ Artikel
- ✅ DSGVO-konform
- ✅ Mobile-optimiert
- ✅ Mehrsprachigkeit vorbereitet (Paraglide.js bereits integriert)
Timeline & Milestones
Tag 1: Database & Backend Setup
Ziel: Komplette Datenbank-Struktur und API-Endpoints
Vormittag (4h)
- PocketBase Collections erstellen
- Relationen definieren
- Validation Rules setzen
- Test-Daten einfügen
Nachmittag (4h)
- Server-Routes implementieren
- API-Endpoints testen
- Error Handling
- Pagination Logic
Tag 2: Frontend Basis-Komponenten
Ziel: Blog-Übersicht und Artikel-Ansicht funktionsfähig
Vormittag (4h)
- Blog-Übersichtsseite
- BlogCard Komponente
- Kategorie-Filter
- Tag-Cloud
Nachmittag (4h)
- Artikel-Detailseite
- Reading Progress Bar
- Table of Contents
- Share Buttons
Tag 3: Admin-Interface
Ziel: Vollständiges CMS für Blog-Verwaltung
Vormittag (4h)
- Admin-Dashboard
- Artikel-Liste mit Status
- Bulk-Actions
- Suchfunktion
Nachmittag (4h)
- Rich-Text Editor (Tiptap)
- Media Upload
- Preview-Funktion
- Auto-Save
Tag 4: SEO & Performance
Ziel: Optimale Sichtbarkeit und Geschwindigkeit
Vormittag (4h)
- Meta-Tags Management
- Schema.org Markup
- XML Sitemap
- RSS/Atom Feed
Nachmittag (4h)
- Image Optimization
- Lazy Loading
- Cache-Strategy
- CDN-Integration
Tag 5: Features & Polish
Ziel: Premium-Features und finale Optimierungen
Vormittag (4h)
- Verwandte Artikel
- Lesezeit-Berechnung
- Newsletter-Integration
- Social Media Auto-Post
Nachmittag (4h)
- Analytics Dashboard
- A/B Testing Setup
- Mobile Optimierung
- Launch-Vorbereitung
Technische Spezifikationen
Datenbank-Schema
-- blog_posts Collection
CREATE TABLE blog_posts (
id TEXT PRIMARY KEY,
slug TEXT UNIQUE NOT NULL,
title TEXT NOT NULL,
excerpt TEXT,
content TEXT NOT NULL,
featured_image TEXT,
author TEXT REFERENCES users(id),
status TEXT DEFAULT 'draft',
published_at DATETIME,
views_count INTEGER DEFAULT 0,
reading_time INTEGER,
meta_title TEXT,
meta_description TEXT,
og_image TEXT,
created DATETIME DEFAULT CURRENT_TIMESTAMP,
updated DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- blog_categories Collection
CREATE TABLE blog_categories (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
slug TEXT UNIQUE NOT NULL,
description TEXT,
color TEXT DEFAULT '#3B82F6',
posts_count INTEGER DEFAULT 0
);
-- blog_tags Collection
CREATE TABLE blog_tags (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
slug TEXT UNIQUE NOT NULL,
usage_count INTEGER DEFAULT 0
);
-- blog_post_tags Junction Table
CREATE TABLE blog_post_tags (
id TEXT PRIMARY KEY,
post_id TEXT REFERENCES blog_posts(id) ON DELETE CASCADE,
tag_id TEXT REFERENCES blog_tags(id) ON DELETE CASCADE,
UNIQUE(post_id, tag_id)
);
API Endpoints
// Blog API Routes
GET / api / blog / posts; // Liste mit Pagination
GET / api / blog / posts / [slug]; // Einzelner Artikel
POST / api / blog / posts / [slug] / view; // View Counter
GET / api / blog / categories; // Alle Kategorien
GET / api / blog / tags; // Alle Tags
GET / api / blog / search; // Volltextsuche
GET / api / blog / feed.xml; // RSS Feed
GET / api / blog / sitemap.xml; // Sitemap
// Admin API Routes (auth required)
POST / api / admin / blog / posts; // Neuer Artikel
PUT / api / admin / blog / posts / [id]; // Update
DELETE / api / admin / blog / posts / [id]; // Löschen
POST / api / admin / blog / posts / [id] / publish; // Veröffentlichen
POST / api / admin / blog / upload; // Bild-Upload
Komponenten-Architektur
src/lib/components/blog/
├── BlogCard.svelte # Artikel-Karte für Listen
├── BlogPost.svelte # Vollständiger Artikel
├── BlogSidebar.svelte # Sidebar mit Kategorien/Tags
├── BlogSearch.svelte # Suchfunktion
├── BlogPagination.svelte # Pagination
├── ReadingProgress.svelte # Lesefortschritt
├── TableOfContents.svelte # Inhaltsverzeichnis
├── ShareButtons.svelte # Social Sharing
├── RelatedPosts.svelte # Ähnliche Artikel
├── Newsletter.svelte # Newsletter-Signup
├── CommentSection.svelte # Kommentare (Phase 2)
└── admin/
├── PostEditor.svelte # Rich-Text Editor
├── MediaLibrary.svelte # Medien-Verwaltung
├── SEOPanel.svelte # SEO-Einstellungen
└── PublishPanel.svelte # Veröffentlichung
Content-Strategie
Launch-Content (5 Artikel)
-
"Die Psychologie kurzer URLs" (bereits geschrieben)
- Kategorie: Marketing Psychology
- Ziel: Thought Leadership
-
"URL-Shortener Setup in 5 Minuten"
- Kategorie: Tutorials
- Ziel: Onboarding
-
"DSGVO-konforme Link-Verwaltung"
- Kategorie: Compliance
- Ziel: Trust Building
-
"10 Link-Tracking Metriken die zählen"
- Kategorie: Analytics
- Ziel: Education
-
"QR-Codes: Der ultimative Guide 2024"
- Kategorie: Features
- Ziel: Feature Awareness
Content-Kalender (erste 3 Monate)
Monat 1: Foundations (4 Artikel/Monat)
- Woche 1: Psychology & UX
- Woche 2: Technical Tutorial
- Woche 3: Case Study
- Woche 4: Industry Trends
Monat 2: Deep Dives (6 Artikel/Monat)
- Analytics Deep Dives
- Integration Guides
- Performance Optimization
- Security Best Practices
Monat 3: Growth (8 Artikel/Monat)
- Guest Posts
- User Success Stories
- Feature Announcements
- Comparison Articles
SEO-Strategie
Target Keywords
Primary Keywords (Schwierigkeit: Mittel)
- "url kürzen" (9.900 Suchen/Monat)
- "link verkürzen" (6.600 Suchen/Monat)
- "kurze urls" (2.400 Suchen/Monat)
Long-Tail Keywords (Schwierigkeit: Leicht)
- "kostenlos url kürzen ohne anmeldung"
- "eigene domain für kurze links"
- "qr code mit logo erstellen"
- "link tracking dsgvo konform"
Technical SEO Checklist
- Strukturierte Daten (Schema.org)
- XML Sitemap
- Robots.txt Update
- Canonical URLs
- Open Graph Tags
- Twitter Cards
- Alt-Texte für Bilder
- Lazy Loading
- WebP Bilder
- Breadcrumbs
Performance KPIs
Technical Metrics
- Page Load: < 2s (Mobile 3G)
- Time to Interactive: < 3.5s
- Core Web Vitals: Alle grün
- Lighthouse Score: > 90
Business Metrics
- Organic Traffic: +50% in 3 Monaten
- Conversion Rate: Blog → Sign-up > 3%
- Engagement Rate: > 2 Min Average Time
- Bounce Rate: < 60%
Risk Management
Potenzielle Risiken & Mitigationen
| Risiko | Wahrscheinlichkeit | Impact | Mitigation |
|---|---|---|---|
| Editor-Komplexität | Mittel | Hoch | Start mit SimpleMDE, später Upgrade |
| Performance-Probleme | Niedrig | Mittel | Caching-Strategy von Anfang an |
| Content-Erstellung | Hoch | Mittel | Freelancer-Pool aufbauen |
| SEO-Konkurrenz | Mittel | Niedrig | Nischen-Keywords fokussieren |
Budget & Ressourcen
Entwicklung (5 Tage)
- Developer: 5 Tage × 8h = 40h
- Design Assets: Vorhandene UI-Komponenten nutzen
- Testing: 1 Tag zusätzlich
Content (Ongoing)
- Launch Content: 5 Artikel (intern)
- Monthly Content: 4-8 Artikel
- Freelancer Budget: €500-1000/Monat
Tools & Services
- Grammarly: Rechtschreibprüfung
- Canva Pro: Grafiken
- Unsplash+: Stock-Fotos
- Monitoring: Bereits vorhanden
Quality Assurance
Pre-Launch Checklist
Funktionalität
- Alle CRUD-Operationen funktionieren
- Pagination arbeitet korrekt
- Suche liefert relevante Ergebnisse
- Filter funktionieren
- RSS Feed validiert
Performance
- Lighthouse Audit > 90
- Mobile-Responsive
- Bilder optimiert
- Caching aktiviert
SEO
- Meta-Tags vollständig
- Sitemap generiert
- Schema.org implementiert
- Social Cards funktionieren
Security
- Input-Validation
- XSS-Protection
- CSRF-Token
- Rate Limiting
Accessibility
- WCAG 2.1 AA konform
- Keyboard-Navigation
- Screen-Reader kompatibel
- Kontrast-Verhältnisse
Post-Launch Plan
Woche 1
- Monitoring Setup
- Bug Fixes
- Performance Tuning
- Erste Analytics
Monat 1
- Content-Pipeline etablieren
- SEO-Optimierungen
- User-Feedback sammeln
- A/B Tests starten
Quartal 1
- Feature-Erweiterungen
- Newsletter-Integration
- Kommentar-System
- Multi-Language Support
Success Metrics
Launch (Tag 1)
- ✅ Blog live und funktional
- ✅ 5 Launch-Artikel online
- ✅ Keine kritischen Bugs
Monat 1
- ✅ 20+ Blog-Artikel
- ✅ 1000+ Unique Visitors
- ✅ 5+ Backlinks
Quartal 1
- ✅ 50+ Blog-Artikel
- ✅ 10.000+ Monthly Visitors
- ✅ Top 10 Rankings für Target Keywords
- ✅ 100+ Newsletter-Subscriber
Entscheidung & Next Steps
Sofort-Maßnahmen
- Heute: Entscheidung für Implementierung
- Morgen: Development-Start mit Database Setup
- Diese Woche: MVP fertigstellen
- Nächste Woche: Content-Erstellung beginnen
- In 2 Wochen: Blog-Launch
Team-Alignment
- Product Owner: Feature-Priorisierung
- Developer: Technische Implementierung
- Marketing: Content-Strategie
- Design: UI/UX Review
Empfehlung: Sofortiger Start mit der PocketBase-Integration. Der vorgeschlagene 5-Tage-Plan ist realistisch und liefert ein production-ready Blog-System, das perfekt in die bestehende uload-Architektur passt.
Kontakt für Rückfragen: Bei Fragen zur Implementierung oder für Detail-Diskussionen stehe ich zur Verfügung.