How to prevent episodes from shows to appear in the main feed

Hi, how could I prevent episodes of shows (using the show module) to appear in the main feed? I would love if there was a toggle per episode, but I cannot find one. Is there?

Or - as an alternative - how could I ‘turn off’ the main feed all together, just using the show feeds? (Could I do this by a redirect, or something?) I am using the shows module for different series and I do not wnat everyone with the main feed address to get access to all the episodes of “all the great shows” (Rotl). If that was possible, I could create a new show, a new feed and I would be relatively confident knowing, who I gave the link to and who has access.

Not possible, except for workarounds like you mentioned: ideally on the webserver level, forbid access to the main feed url or redirect it to one of your shows.

Hey Eric,
are there any news on this topic, per any chance? The problem is that I seem unable to make it work, even if I do the redirect on the webserver. Probably I am doing it wrong, but I thought, this would be such an important feature for easily having multiple shows without one overall feed that you cannot turn off, maybe there are some news?

If this is not possible is the only solution really to have multiple wordpress/publisher instances for every show one?
I would appreciate any help, also if someone knows some tricks…

We made the decision in the very beginning of the development that multiple podcasts means setting up a WordPress multisite. It’s not something that is changeable at this point unfortunately. The “shows” feature was an afterthought that sometimes is good enough for certain use-cases, but wasn’t aimed at modeling “completely separate podcasts”.

You can try this code snippet. Disclaimer: untested LLM output, but it looks plausible.

<?php
add_action("template_redirect", "my_disable_unfiltered_podlove_feed", 9);

function my_disable_unfiltered_podlove_feed()
{
    if (!is_feed()) {
        return;
    }

    // Only target Podlove feeds, not arbitrary WordPress feeds.
    if (
        !function_exists("\\Podlove\\Feeds\\get_feed") ||
        !\Podlove\Feeds\get_feed()
    ) {
        return;
    }

    // Allow show feeds like /show/my-show/feed/mp3/
    if (get_query_var("shows")) {
        return;
    }

    global $wp_query;
    $wp_query->set_404();
    status_header(404);
    nocache_headers();

    exit();
}