RSS Club for WordPress

What if I told you there was a secret social network, hidden in plain sight? If you're reading this message, you're now a member of RSS Club! RSS Club is a series of posts which are only visible to

What if I told you there was a secret social network, hidden in plain sight? If you’re reading this message, you’re now a member of RSS Club (https://daverupert.com/rss-club/)!

RSS Club is a series of posts which are only visible to RSS / Atom subscribers. Like you 😃

If you want this for your own WordPress site, here’s what you’ll need:

• A blog post which is only visible in RSS / Atom.

• Which has no HTML rendering on your site.

• And cannot be found in your site’s search.

• Nor via search engines.

• Also, doesn’t appear on your mailing list.

• Does not get shared or syndicated to the Fediverse.

(This is a bit more strict than the original rules (https://daverupert.com/2018/01/welcome-to-rss-club/) which allow for web rendering and being found via a search engine.)

Start With A Category (https://shkspr.mobi/blog/2026/04/rss-club-for-wordpress/#start-with-a-category)

The easiest way to do this in WordPress is via a category - not a tag.

After creating a category on your blog, click the edit link. You will see in the URl bar a tag_id.

Whenever you want to make an RSS-exclusive post, you select the category before you publish.

Disable Display (https://shkspr.mobi/blog/2026/04/rss-club-for-wordpress/#disable-display)

This code stops any page in the RSS Club category from being displayed on the web.

function rss_club_post_blocker(): void { if ( is_singular( “post” ) && has_category( “rss-club” ) && !current_user_can( “edit_posts” ) ) { status_header( 403 ); echo “You must be a member of RSS Club to view this content.”; exit; } } add_action( “template_redirect”, “rss_club_post_blocker” );

Editors can still see it, but everyone else gets a blocked message.

Remove From Site Search and SiteMap (https://shkspr.mobi/blog/2026/04/rss-club-for-wordpress/#remove-from-site-search-and-sitemap)

Here’s a snippet to stick in your functions.php - it removes the category from any queries unless it is for the admin pages or the RSS feeds.

// Remove the RSS Club category from search results. // $query is passed by reference function rss_club_search_filter( \WP_Query $query ): void { // Ignore admin screens. if ( !is_admin() && !is_feed() ) { // Find the RSS-Club category ID. $category = get_category_by_slug( “rss-club” );

    //  Remove it from the search results.
    if ( $category ) {
        \(query->set( "category__not_in", [\)category->term_id] );
    }       
}

} add_action( “pre_get_posts”, “rss_club_search_filter” );

This code also redacts that category from the build-in sitemap. Note - the name of the category still shows up in the XML, but it leads to a 404.

Exclude From Email and Social Media RSS Feeds (https://shkspr.mobi/blog/2026/04/rss-club-for-wordpress/#exclude-from-email-and-social-media-rss-feeds)

My mailing list and social media posts are fed from RSS. So how do remove an entire category from an RSS feed?

Simple! Append ?cat=-1234 to the end!

A negative category ID will remove the category from being displayed. So my email subscribers won’t see the RSS only content. Of course, they get email-only exclusive posts, so don’t feel too bad for them 😊

Fediverse Exclusion (https://shkspr.mobi/blog/2026/04/rss-club-for-wordpress/#fediverse-exclusion)

The manual way is easiest. Assuming you have the ActivityPub plugin (https://github.com/Automattic/wordpress-activitypub/) and a the Share On Mastodon plugin (https://github.com/janboddez/share-on-mastodon/), you can unselect the sharing options before publishing.

If you think you might forget to toggle those boxen, there is a filter for the share plugin (https://github.com/janboddez/share-on-mastodon/issues/31):

function rss_club_mastodon_filter( bool $is_enabled, int $post_id ): bool { global $exclude; if ( has_category( $exclude, $post_id ) ) { return false; } return $is_enabled; } add_filter( “share_on_mastodon_enabled”, “rss_club_mastodon_filter”, 10, 2 );

Similarly, there’s a filter for the ActivityPub plugin (https://github.com/Automattic/wordpress-activitypub/blob/730d0ae51ce77be28439969dd9788c745a46681f/includes/functions-post.php#L77):

function rss_club_activitypub_filter( bool $disabled, \WP_Post $post ): bool { global $exclude; if ( has_category( $exclude, $post ) ) { return true; }

return $disabled;

} add_filter( “activitypub_is_post_disabled”, “rss_club_activitypub_filter”, 10, 2 );

Enjoy! (https://shkspr.mobi/blog/2026/04/rss-club-for-wordpress/#enjoy)

If you’ve set up your own RSS Club feed, drop me a line (https://edent.tel/) so I can subscribe 😊

Write a comment
No comments yet.