Identität & Metadaten
title, subtitle, description, podcast_author, podcast_url, web_feed, publisher_website_url.
Kernaussage: Wir starten die Podcast-Suchmaschine für SEO und Online-Marketing auf seo-day.de – Discovery über Websearch und 10 Podcast-Verzeichnisse, KI-Relevanzprüfung, Website-Crawl, KI-Profile, Episoden-Suggests und eine filterbare Suche mit Themen, Aktualität und Sortierung. Alles läuft über start-podcast-de-import.php (8 CLI-Steps) und endet in der öffentlichen Suche unter /podcasts.
Elf Kapitel – vom Launch-Überblick über die 8-Step-Pipeline bis zu Git-Statistiken, klassischer Aufwandsschätzung und Agentur-CTA. Direkt zur gewünschten Section springen.
Ab sofort findet ihr auf seo-day.de eine Podcast-Suchmaschine für SEO und Online-Marketing – erreichbar unter /podcasts. Die Ergebnisliste lädt per AJAX über /api/podcast-suche-results, Autosuggest über /api/podcast-suche-autosuggest. Statt einer statischen Liste bauen wir ein wachsendes Verzeichnis aus freigegebenen Kanälen, die wir automatisiert finden, per KI auf Relevanz prüfen, anreichern und strukturieren.
Das bedeutet für euch in der Praxis:
podcast_de_search_suggest)
Die Datenbasis entsteht über php start-podcast-de-import.php. Der Orchestrator CLIPodcastDeImportOrchestrator führt acht Steps aus – jeder Step ist ein eigener Service mit fester Verantwortung:
| Step | Service | Aufgabe |
|---|---|---|
| 001 | CLIPodcastDeImport001LogFileClearService | Log-Verzeichnis logs-podcast-de-import vorbereiten |
| 002 | CLIPodcastDeImport002ExecuteWebSearchDiscoveryService | Cursor-Agent Websearch nach SEO-/Marketing-Podcasts mit Ausschlussliste bekannter Kanäle |
| 003 | CLIPodcastDeImport003ExecuteDirectorySearchDiscoveryService | Verzeichnis-Suche auf 10 Plattformen (podcast.de, fyyd, Podchaser, …) – max. ein Lauf pro Plattform und Tag |
| 004 | CLIPodcastDeImport004ExecuteRelevanceValidationService | KI-Relevanzprüfung vor DB-Speicherung – nur SEO/Online-Marketing-Podcasts |
| 005 | CLIPodcastDeImport005ExecuteImportService | Import freigegebener Kanäle in podcast_de_channel via podcast.de/Typesense |
| 006 | CLIPodcastDeImport006ExecuteWebsiteEnrichmentService | Publisher-Website aus RSS + Domain-Crawl → website_crawl_markdown |
| 007 | CLIPodcastDeImport007ExecuteAiProfileGenerationService | Einmaliges KI-Profil nach Website-Crawl → ai_profile_text |
| 008 | CLIPodcastDeImport008ExecuteSearchSuggestGenerationService | Such-Suggests aus Episoden-Titeln → podcast_de_search_suggest |
Jeder Step schreibt Fortschritt in eigene Tabellen oder direkt in podcast_de_channel, damit Wiederholungsläufe nur offene Arbeit nachziehen – keine doppelten Agent-Läufe ohne Grund.
Die Themen-Kategorien kommen aus config/podcast-de-import/podcast-topic-config.php. Der vollständige Satz umfasst derzeit 10 Themen-Slugs – darunter eine repräsentative Auswahl:
Die Verzeichnis-Queries kommen aus config/podcast-de-import/podcast-directory-search-config.php – derzeit 4 Suchbegriffe (online marketing, onlinemarketing, suchmaschinenoptimierung, seo) auf 10 Plattformen (podcast.de, fyyd, podcaster.de, Podcastatlas, Deutsche Podcasts, Podcastplattform, Podcastclub, Podcast Index, Listen Notes, Podchaser). Pro Plattform höchstens ein Agent-Lauf pro Kalendertag; Treffer landen in podcast_directory_search_hit, der letzte Lauf in podcast_directory_search_platform_last_run.
Merksatz: Discovery ist kein einmaliger Scrape, sondern ein wiederholbarer Kreislauf – neue Verzeichnisse, neue Kandidaten, neue Profile, ohne manuelles Copy-Paste.
Freigegebene Kanäle werden in podcast_de_channel persistiert (Schema: briefing/database/004-podcast_de_channel.sql). Die wichtigsten Felder für Suche und Karten:
title, subtitle, description, podcast_author, podcast_url, web_feed, publisher_website_url.
recent_episodes_json, num_of_shows, show_pub_at_latest, year_created, episodes_in_json_ld.
ai_profile_text, website_crawl_markdown, podcast_language, topic_tags (pro Episode im JSON).
Freitext auf Titel/Untertitel/Beschreibung/Autor; Themen-Filter pro Episode; Aktualitäts-Filter 1d/3d/7d; Sortierung nach Episoden, Datum, Startjahr.
Sechs MySQL-Tabellen bilden den Import- und Verzeichnis-Stack ab. Die Grafik zeigt, welcher CLI-Step welche Tabelle befüllt und wie die Daten zum zentralen Kanal-Verzeichnis und zur Autosuggest-Suche fließen:
platform_key + podcast_urltopic_tagTreffer aus 10 Plattformen (fyyd, Podchaser, …)
platform_keylast_search_completed_atlast_discovered_countMax. ein Agent-Lauf pro Plattform und Tag
podcast_de_idis_relevanttopic_tagsNur SEO-/Online-Marketing-Podcasts passieren hier
podcast_de_id · title · topic_tagsrecent_episodes_json · show_pub_at_latestwebsite_crawl_markdown · ai_profile_textImport, Website-Crawl und KI-Profil – Quelle für /podcasts und die API
Liest aus podcast_de_channel
normalized_episode_titleanalyzed_at · episode_languagesuggest_textfirst_found_at · last_found_atVorschläge für /api/podcast-suche-autosuggest
Merksatz: Discovery-Tabellen sammeln Kandidaten, die Relevanz-Tabelle filtert,
podcast_de_channelist das zentrale Verzeichnis – die Suggest-Tabellen hängen daran für Autocomplete in der Suche.
Die Suche ist live – filtert nach euren Kriterien und zeigt KI-Profile sowie letzte Episoden direkt in der Karte:
CTA: Podcast-Suche öffnen (/podcasts) – Themen, Aktualität, Sortierung und Autosuggest in einer Oberfläche.
Transparenz gehört zum Launch dazu. Weder die Podcast-Suche noch dieser Artikel laufen über ein klassisches CMS oder ein JavaScript-Framework – beides ist reines PHP, Twig und linearer Screen-Flow.
Eine PHP-Datei unter htdocs/scripts/app/screen-*/ – sie delegiert an einen Orchestrator und rendert Twig. Keine Business-Logik im Screen selbst.
Screen → ScreenOrchestrator → ScreenServices → Services → Repositories. Jeder Step genau ein Service-Call – Hollywood-Prinzip.
Jede Änderung beginnt in briefing/ – erst Markdown-Briefing, dann PHP, Twig, CSS, Tests. Dieser Post folgt demselben Muster.
Cursor Rules, Skills, Subagents, Ralph Loop – jede Nacht automatische Checks und PHPUnit (UI, Service, Repository, Orchestrator). Keine Zeile „von Hand“ im klassischen Sinn: alles mit Cursor und LLMs gebaut, aber unter harten Regeln.
Mehr Hintergrund zu Architektur und Nightly-Checks findet ihr in diesen Blog-Artikeln:
Transparenz endet nicht bei der Architektur – auch die Git-Historie erzählt die Geschichte. Der Podcast-Stack ist Greenfield-Neubau ab dem 1. Juni 2026 – erster Commit am 1. Juni 2026 um 13:41 Uhr, Finalisierung mit 8 CLI-Steps, KI-Profilen und Autosuggest am 7. Juni 2026 um 17:51 Uhr (MESZ). Die Kennzahlen unten beziehen sich ausschließlich auf den Podcast-Scope (Briefings, PHP, Twig, CSS, JS, Tests, Config, SQL, Prompts – keine fremden Treffer wie Crawler-Daten zu podcast.de aus anderen Features).
| Kennzahl | Wert |
|---|---|
| Erster Podcast-Commit | 01.06.2026, 13:41 Uhr |
| Letzter Commit (Stand Redaktion) | 07.06.2026, 17:51 Uhr |
| Entwicklungszeitraum | 1.–7. Juni 2026 (~6 Tage Wanduhr) |
| Commits im Podcast-Scope | 52 Commits (nur Podcast-Dateien) |
| Betroffene Dateien (Podcast-Scope) | 361 Dateien (Briefings, PHP, Twig, CSS, JS, Tests, Config, SQL) |
| Neue Codezeilen (Podcast-Scope) | ~39.420 Zeilen (Einfügungen, Greenfield-Neubau) |
| MySQL-Tabellen | 6 (podcast_de_channel + 5 Import-/Suche-Tabellen) |
| CLI-Steps | 8 im Orchestrator CLIPodcastDeImportOrchestrator |
| Verzeichnis-Plattformen | 10 (podcast.de, fyyd, Podchaser, …) |
| Netto-Zeitinvest Fabian (Launch-Sprint) | ~20 Minuten aktive Steuerung (Prompts, Review, Freigaben) |
Was bedeutet das? In knapp einer Woche (1.–7. Juni 2026) entstanden 361 Dateien und fast 40.000 neue Zeilen im Podcast-Scope – alles Greenfield, ohne Altlasten. Das zeigt die Maschinen-Geschwindigkeit von Agentic AI Coding. Die 20 Minuten sind die menschliche Netto-Arbeit pro Iterationsrunde: Richtung vorgeben, Ergebnisse prüfen, freigeben – nicht jede Zeile tippen.
Was steckt in 361 Dateien und fast 40.000 neuen Zeilen im Podcast-Scope? Ein komplettes Feature: Discovery über Websearch und Verzeichnisse, KI-Relevanz, Import, Website-Crawl, KI-Profile, Episoden-Suggests, Suche mit AJAX-Filtern, API-Endpoints, Briefings, Translations in sechs Sprachen und PHPUnit-Tests über alle Schichten. Wäre das ohne Agentic AI Coding mit klassischem Team gebaut worden, sähe der Aufwand grob so aus:
| Rolle | Personentage (Richtwert) | Typischer Tagessatz |
|---|---|---|
| Software-Architekt | 5–6 PT | ~950–1.100 € |
| Backend-Entwickler | 22–28 PT | ~800–950 € |
| Frontend-Entwickler | 14–18 PT | ~750–900 € |
| QA / Test-Engineer | 12–14 PT | ~600–750 € |
| Projektmanager | 7–9 PT | ~850–1.000 € |
| Summe | ~60–75 Personentage | ~55.000–70.000 € Projektkosten |
Kalenderzeit und Risiko im klassischen Modell:
Die Schätzung ist bewusst eine Gegengerechnung, keine Agentur-Rechnung. Sie zeigt die Größenordnung: Was früher ein Quartalsprojekt mit fünf Köpfen war, ist mit dem richtigen KI-Framework in iterativen Sprints machbar – wenn Architektur, Regeln und Tests von Anfang an mitgedacht werden.
Viele Teams haben Ideen auf der Backlog-Liste, die aus Budget- oder Machbarkeitsgründen seit Jahren liegen bleiben: ein internes Verzeichnis, eine Discovery-Pipeline, ein mehrsprachiger Screen mit voller Testabdeckung. Mit Agentic AI Coding ist bei uns fast alles machbar – oft für ein Budget, das klassisch nicht einmal die Angebots-Phase abdecken würde.
Beauftragung & Kontakt: Wer Lust hat, ein vergleichbares Projekt umzusetzen – ob Podcast-Verzeichnis, Branchen-Discovery oder eigenes KI-Produkt – kann sich bei uns melden. Auf /ki findet ihr unseren Agentur-Screen: dort seht ihr, wie wir arbeiten, und könnt direkt Kontakt aufnehmen. Wir bauen für euch, was bisher zu teuer oder zu komplex schien – überschaubar, testbar und produktionsreif.
Podcast-Discovery für SEO und Online-Marketing ist kein manuelles Link-Verzeichnis mehr, sondern ein automatisierter Kreislauf: Websearch → Verzeichnisse → KI-Relevanz → Import → Crawl → Profil → Suggests → filterbare Suche. 361 Dateien, ~39.400 neue Zeilen, 6 Tabellen, 8 CLI-Steps – in einer Woche (1.–7. Juni 2026) und netto ~20 Minuten menschliche Steuerung pro Iterationsrunde. Probiert die Suche unter /podcasts aus. Wer ähnliches für das eigene Unternehmen will: /ki.