WordPress.com just rolled out its Posts to Podcast feature, and the marketing copy makes it sound like a magic “one-click” solution. It is impressive. But from an architectural point of view, it’s worth looking at what actually happens when you trigger that AI generation from your dashboard.
I’ve seen plenty of “text-to-speech” plugins fail over the years, either because the audio sounded robotic or because they bloated the database with transient files. This implementation seems to lean on the existing Media Library instead, which is a smarter bet for long-term site stability.
How Posts to Podcast handles your data
The feature lives under Media -> Create AI Podcast. When you pick your recent content, the system isn’t just reading your post’s post_content. It’s probably running it through an LLM to script a two-host conversation, then sending that to a high-fidelity TTS (text-to-speech) engine. What you get back is a draft post and an audio file stored right in your media library.
If you manage sites for clients, the usual “gotcha” with automated audio is metadata. WordPress.com generates a full transcript alongside the audio, which helps with SEO and accessibility. And because the audio is a standard .wav or .mp3 file in your library, you aren’t locked into their player. You can hook into the media metadata and serve it through your own templates.
If you’re curious how AI is changing the platform more broadly, I covered WordPress.com AI workspaces and Studio Blueprints in an earlier piece.
Managing AI-generated media with WP-CLI
My main worry with something like Posts to Podcast is media bloat. If you generate weekly recaps for several sites, your wp-content/uploads folder will grow fast. If you ran this kind of logic on a self-hosted site, you’d want to audit those files regularly. I’d use a WP-CLI command to find the large generated assets before they eat your disk space.
# List all audio files in the media library ordered by size
wp post list --post_type='attachment' --post_mime_type='audio/mpeg' --orderby='meta_value_num' --meta_key='_wp_attachment_metadata'
Hooking into the audio from your theme
If you’re building a custom theme and want these AI podcasts to look as good as they sound, don’t rely on the default block output. You can use a filter to check whether a post has a “podcast” meta key and adjust your loop from there. Something like this would add a “Listen Now” badge on your archive pages:
<?php
/**
* Automatically flag posts that have a generated podcast companion.
*/
function bbioon_flag_podcast_posts( $title, $id = null ) {
if ( ! is_admin() && is_main_query() && in_the_loop() ) {
// Assume 'is_ai_podcast' is a meta key set by the generation tool
$has_audio = get_post_meta( $id, 'is_ai_podcast', true );
if ( $has_audio ) {
$title .= ' <span class="podcast-badge">🎧 Listen</span>';
}
}
return $title;
}
add_filter( 'the_title', 'bbioon_flag_podcast_posts', 10, 2 );
If this Posts to Podcast work is eating your dev hours, let me handle it. I’ve been wrestling with WordPress since the 4.x days.
My verdict
It isn’t perfect. AI audio still trips into the occasional uncanny-valley pronunciation. But for a business owner who wants more reach without hiring a voice actor and a sound editor, Posts to Podcast saves a lot of time. Just review the draft transcript every time. The AI talks well, but it still makes technical “typos” that can hurt your credibility.