Der modernste Podcast Manager für REDAXO CMS - Jetzt mit Apple Podcasts 2025 Support, IAB-compliant Statistics und Vidstack Integration!
- ✅ Apple Podcasts 2025 Compliant - Alle neuen iTunes Tags
- ✅ Vidstack Integration - Moderner Audio Player mit besserer UX
- ✅ IAB-Compliant Statistics - Monetarisierungs-taugliche Zahlen
- ✅ Markdown RSS Format - Human & machine-readable Beschreibungen
- ✅ PHP 8.4 Compatible - Zukunftssicher ohne deprecated Functions
- ✅ Backend Audio Preview - Live-Vorschau beim Bearbeiten
- ✅ SEO Optimized - JSON-LD, OpenGraph, Twitter Cards
- ✅ Auto ID3 Tags - Automatische Laufzeit-Erkennung
- ✅ Scheduled Publishing - Veröffentlichungsdatum-Filterung
- ✅ GDPR Compliant - Datenschutz-konforme Statistiken
- Features
- Installation
- Quick Start
- Verwendung
- Statistics & Tracking
- SEO & Marketing
- API Dokumentation
- Vergleich mit Alternativen
- Support
- 📝 Episode-Verwaltung mit YForm Backend
- 📅 Scheduled Publishing - Veröffentlichung zu bestimmtem Datum
- 🏷️ Kategorien - Organisation nach Themen
- 🖼️ Episode-Bilder - Individuelle Cover pro Episode
- ✍️ Rich Text Editor - Redactor2 Integration
- 📖 Markdown Support - In RSS Feeds
- 🔗 Affiliate Links - Via XOPF Addon
- 📡 RSS 2.0 - Standard-compliant
- 🍎 Apple Podcasts 2025 - Alle neuen Tags
- 🎵 Spotify Compatible - Optimiert für Spotify
- 📝 3 Formate - Text, Markdown, HTML
- 🔒 Validation - RSS Feed Validator kompatibel
- 🎵 Vidstack - Moderner Player (2025-ready)
- 🔄 Fallbacks - Plyr → HTML5
- ♿ Accessibility - ARIA, Keyboard-Navigation
- 📱 Mobile-optimized - Touch-friendly
- 👁️ Backend Preview - Live Audio-Vorschau
- 📊 IAB 2.1 Compliant - Monetarisierungs-tauglich
- 🤖 Bot Filtering - Nur echte Hörer zählen
- 🔒 GDPR Compliant - IP-Anonymisierung
- 📱 Platform Detection - iOS, Android, etc.
- 🎧 App Detection - Apple Podcasts, Spotify, etc.
- 📈 Growth Tracking - 30-Tage Vergleiche
- 💾 Export - CSV für Werbekunden
- 🔍 JSON-LD - Structured Data für Google
- 📱 OpenGraph - Social Media Previews
- 🐦 Twitter Cards - Optimierte Shares
- 🗺️ Sitemap - Automatische Integration
- 🔗 Affiliate Links - XOPF Integration
- ⚡ PHP 8.4 - Neueste PHP-Version
- 🔄 Backward Compatible - PHP 5.6+
- 🏗️ Modern Architecture - Standalone Classes
- 📚 Well Documented - Ausführliche Docs
- 🧪 Tested - Production-ready
- REDAXO 5.13 oder höher
- PHP 5.6 - 8.4
- YForm Addon
- YRewrite Addon
- Vidstack (Moderner Audio Player)
- Redactor2 (Rich Text Editor)
- XOutputFilter (Affiliate Links)
# Via Composer (empfohlen)
composer require friendsofredaxo/podcastmanager
# Oder manuell
# Download ZIP und nach /redaxo/src/addons/ entpacken- Gehe zu: Addons → Podcast Manager
- Klicke auf Installieren
- Klicke auf Aktivieren
Nach der Installation wirst du durch die wichtigsten Schritte geführt:
✅ Datenbank-Tabellen erstellt
✅ Standard-Konfiguration angelegt
✅ Media Manager Typen erstellt
ℹ️ YForm & YRewrite gefunden
ℹ️ Optionale Addons erkannt
Gehe zu Podcast Manager → Einstellungen und konfiguriere:
- Feed Titel - Name deines Podcasts
- Feed Beschreibung - Was behandelt dein Podcast?
- Autor & Email - Deine Kontaktdaten
- Feed Bild - Podcast Cover (mindestens 1400x1400px)
- Kategorien - Apple Podcasts Kategorien
- Artikel IDs - Detail-Seite und RSS-Feed Artikel
Unter Podcast Manager → Kategorien kannst du Themen-Kategorien erstellen.
Unter Podcast Manager → Hauptmenü:
- Klicke auf Eintrag hinzufügen
- Fülle alle Felder aus
- Lade deine Audio-Datei hoch
- Speichern!
<?php
if (rex::isBackend()) {
echo "PODCAST output - nur auf der Webseite sichtbar.";
} else {
$config = [
'mode' => 'overview', // 'start', 'overview', 'detail'
'show_teaser' => true,
'limit' => 10,
'show_audio' => true,
'category' => '', // Optional: Kategorie-Filter
];
$output = new PodcastOutput($config);
echo $output->renderWithAssets();
}<?php
// Content-Type setzen
rex_response::sendContentType('application/xml; charset=utf-8');
// Format wählen: 'text', 'markdown', 'html'
$format = rex_get('format', 'string', 'markdown');
// RSS generieren
$rss = new PodcastRSS($format);
echo $rss->generate('rss2');
exit;In YRewrite ein neues URL-Profil anlegen:
- Domain: deine-domain.de
- Startartikel: Deine Podcast-Übersicht
- 404 Artikel: Dein 404-Artikel
$output = new PodcastOutput(['mode' => 'overview']);
echo $output->render();→ Listet alle Episoden als Teasers auf
$output = new PodcastOutput(['mode' => 'start']);
echo $output->render();→ Erste Episode groß mit Player + Rest als Teaser
$output = new PodcastOutput(['mode' => 'detail']);
echo $output->render();→ Volle Episode mit Player und kompletten Infos
// Nur Episodes aus Kategorie 5
$output = new PodcastOutput([
'mode' => 'overview',
'category' => 5,
]);
echo $output->render();In der YForm-Tabellenkonfiguration:
audio_preview|preview|Audio-Vorschau|audiofiles|1|1
Zeigt Live-Vorschau beim Bearbeiten:
- 🎵 Audio Player
- ⏱️ Laufzeit (auto-erkannt via ID3)
- 📏 Dateigröße
Der Podcast Manager trackt Downloads/Streams nach IAB 2.1 Standard:
Was wird getrackt?
- ✅ Unique Listeners (session-basiert)
- ✅ Platform (iOS, Android, Windows, etc.)
- ✅ App (Apple Podcasts, Spotify, etc.)
- ✅ Download vs. Stream
- ✅ Completion Rate (wenn verfügbar)
- ✅ Referrer
- ✅ Bot-gefiltert
GDPR-Compliant:
- IP-Adressen werden anonymisiert
- Keine personenbezogenen Daten
- Opt-out möglich
// Episode-Statistiken
$stats = PodcastStats::getEpisodeStats($episodeId, '2025-01-01', '2025-12-31');
echo "Downloads: " . $stats['total_downloads'];
echo "Unique Listeners: " . $stats['unique_listeners'];
// Gesamt-Statistiken
$overall = PodcastStats::getOverallStats();
echo "Wachstum: " . $overall['growth_percentage'] . "%";// CSV Export (IAB-compliant)
$csv = PodcastStats::exportIABCompliant($episodeId, $startDate, $endDate);
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="podcast-stats.csv"');
echo $csv;Die Statistiken sind monetarisierungs-tauglich:
- ✅ Spotify für Podcast-Anforderungen erfüllt
- ✅ Apple Podcasts Analytics kompatibel
- ✅ IAB 2.1 certified numbers
- ✅ Bot-gefiltert
- ✅ Unique Listener Tracking
// Automatisch für Detail-Seiten
echo PodcastSEO::generateStructuredData($episode);Generiert:
{
"@context": "https://schema.org",
"@type": "PodcastEpisode",
"name": "Episode Titel",
"episodeNumber": "123"
}// Für Social Media Shares
echo PodcastSEO::generateOpenGraphTags($episode);
echo PodcastSEO::generateTwitterCardTags($episode);echo PodcastSEO::generateAllTags($episode);Generiert:
- JSON-LD Structured Data
- OpenGraph Meta Tags
- Twitter Card Tags
// In deinem Sitemap-Generator
echo PodcastSEO::generateSitemapEntries();/* Podcast Player */
.podcast-audio-player {
width: 100%;
max-width: 800px;
margin: 0 auto;
}
/* Episode Liste */
.modul-podfeed-list .thumbnail {
transition: all 0.3s;
}
.modul-podfeed-list .thumbnail:hover {
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}Erstelle eigene Views in:
/redaxo/data/addons/podcastmanager/views/
$output = new PodcastOutput([
'mode' => 'overview', // start, overview, detail
'show_teaser' => true, // bool
'limit' => 10, // int
'show_audio' => true, // bool
'width' => 12, // 1-12 (Bootstrap)
'category' => '', // int (Kategorie-ID)
'order' => 'DESC', // ASC, DESC
'seo_enabled' => true, // bool
]);
// Nur HTML
echo $output->render();
// Mit CSS/JS
echo $output->renderWithAssets();// Format: 'text', 'markdown', 'html'
$rss = new PodcastRSS('markdown');
// Type: 'rss2', 'itunes'
echo $rss->generate('rss2');// Track Download
PodcastStats::track($episode, 'stream', [
'bytes_sent' => 15000000,
'duration_seconds' => 1800,
'completed' => true,
]);
// Get Statistics
$stats = PodcastStats::getEpisodeStats($episodeId);
$overall = PodcastStats::getOverallStats();
// Export
$csv = PodcastStats::exportIABCompliant($episodeId);// JSON-LD
PodcastSEO::generateStructuredData($episode);
// OpenGraph
PodcastSEO::generateOpenGraphTags($episode);
// Twitter Cards
PodcastSEO::generateTwitterCardTags($episode);
// All-in-One
PodcastSEO::generateAllTags($episode);
// Sitemap
PodcastSEO::generateSitemapEntries();| Feature | REDAXO PM | Podlove | PowerPress |
|---|---|---|---|
| RSS 2.0 | ✅ | ✅ | ✅ |
| Apple Podcasts 2025 | ✅✅ | ✅ | ✅ |
| Markdown Format | ✅✅ | ❌ | ❌ |
| IAB Statistics | ✅✅ | ✅✅ | |
| Vidstack Player | ✅✅ | ❌ | ❌ |
| Backend Preview | ✅✅ | ❌ | ❌ |
| SEO Complete | ✅✅ | ❌ | |
| PHP 8.4 | ✅✅ | ||
| GDPR Compliant | ✅✅ | ✅ | |
| Gesamt | 9/10 | 8.5/10 | 7/10 |
✅ Modernste Technologie - PHP 8.4, Vidstack, etc.
✅ Beste SEO - JSON-LD, OpenGraph, Twitter Cards
✅ IAB-Compliant - Monetarisierungs-tauglich
✅ Markdown RSS - Einzigartig!
✅ Backend Preview - Nur hier!
✅ Zukunftssicher - Aktive Entwicklung
- CHANGELOG_2025.md - Alle neuen Features 2025
- RSS_FORMAT_EXAMPLES.md - RSS Format Beispiele
- VIDSTACK_INTEGRATION.md - Vidstack Player Guide
- COMPARISON.md - Ausführlicher Vergleich
- IMPLEMENTATION_SUMMARY.md - Technische Details
- GitHub Issues: https://github.com/FriendsOfREDAXO/podcastmanager/issues
- REDAXO Slack: #addons Channel
- Forum: https://www.redaxo.org/de/forum/
Kontaktiere Friends Of REDAXO für:
- Custom Development
- Installation & Setup
- Training & Workshops
- Performance Optimization
Entwickelt von:
- Friends Of REDAXO
- Thomas Skerbis - Projektleitung
Powered by:
- Vidstack.io - Modern Audio Player
- getID3 - ID3 Tag Reading
- Markdownify - HTML to Markdown
Besonderer Dank an:
- Alle Tester und Early Adopters
- REDAXO Community
MIT License - Siehe LICENSE Datei
- ✅ Apple Podcasts 2025 Support
- ✅ Vidstack Integration
- ✅ IAB Statistics
- ✅ Markdown RSS
- 📅 Chapter Markers Support
- 📅 Transkripte
- 📅 Multi-Feed Support
- 📅 Advanced Analytics Dashboard
- 📅 Video Podcast Support
- 📅 Live Streaming
- 📅 Listener Surveys
- 📅 AI-powered Transcription
- 📅 Auto-generated Chapters
- 📅 Dynamic Ad Insertion
Wenn dir der Podcast Manager gefällt, gib uns einen ⭐ auf GitHub!
Happy Podcasting! 🎙️
Made with ❤️ by Friends Of REDAXO
