0
Documentation / Podcast Manager

Podcast Manager

Host multiple podcast shows with episode management, auto-generated RSS feeds, and Apple/Spotify-ready metadata.

What It Does

Podcast Manager runs the full podcast workflow: show setup, episode creation (with or without AI TTS), cover art management, RSS feed generation, and public episode pages with an audio player. One admin panel covers multiple shows on the same site.

Getting Started

  1. Open Podcast Manager and pick the show you want to edit (or create one).
  2. Set the show’s cover art, title, description, and category — these feed Apple/Spotify directly.
  3. On the Episodes tab, create a new episode: upload (or TTS-generate) the MP3, set title, description, season, and episode number.
  4. Confirm the RSS feed at podcast_feed.php lists your new episode.
  5. Embed a cards/list/mega view on any page via shortcode.

Cover Art & Descriptions

Covers must be 3000×3000 to meet Apple and Spotify specs — smaller covers get rejected or look blurry in directories. Every episode description should lead with the site URL on its own line for SEO and click-through, in both the MP3 ID3 tags and episodes.json.

Episode Numbering

Respect what’s already there. Read the latest episode metadata before creating new entries. Never reset, renumber, or invent a sequence — RSS and podcast apps key off season/episode numbers and will break subscribers’ feeds if you rewrite history.

Dual-Voice & TTS

For shows using multiple AI voices, scripts must include explicit [SPEAKER] tags. Without tags, the renderer silently falls back to the first voice and you’ll get a monologue instead of a dialogue. After every generation, audit the tag distribution in the script before approving the MP3. The Professor voice is American (Kelsey Grammer style) on en-US-Chirp3-HD-Algieba — never British. TTS config lives in admin/data/podcasts/tts_config.json.

Gotchas / Tips

  • Covers under 3000×3000 get flagged by Apple Connect — just do it right the first time.
  • Every episode description starts with the site URL on its own line. MP3 tags and episodes.json.
  • Some older episodes are already correctly tagged — don’t blindly re-tag the whole archive.
  • The podcast cron runs as www-data. Don’t duplicate it under root — dual execution races TTS and both fail.
  • If an episode sounds mono-voice when it shouldn’t, check for missing [SPEAKER] tags in the source script.
  • RSS feed auto-regenerates — if subscribers don’t see a new episode, check your episode numbering didn’t collide.