The GCRN has been publishing content since 2009, technically 2008. That’s a long time to accumulate technical debt and nowhere is it more obvious than in our back catalog of episode titles and descriptions.
Across 4,500+ episodes, the problems stack up fast. Titles that were just the show name and an episode number, no hint of what was actually discussed. Show name acronyms nobody outside the network would recognize. Descriptions written years ago that reference dead links from back when we self-hosted our audio. Tags that were mostly just the show and the hosts, rarely the actual content. None of it was built with search or discovery in mind, because back then, discovery wasn’t the game. You published, you had a feed, people subscribed. Today, both traditional SEO and the newer AEO landscape (how AI systems summarize and recommend content) depend on episodes actually describing themselves.
So we’re running an experiment: can AI, working directly from episode transcripts, rebuild that metadata at scale, well enough to move the needle on findability, without losing what makes the show sound like the show?
The Stack
I started this with the Gemini API, partly because it was free and partly because I already use it elsewhere in the GCRN plugin ecosystem. It hit API limits fast at this volume, so I brought in the Anthropic API on top of it to handle generation, pulling directly from transcripts and the original description to pull out names, references, and specifics that a generic rewrite would miss or hallucinate. Because let’s be real, AI does hallucinate often if you don’t give it strict guardrails.
The generation is built against our actual brand voice and style guide, not a generic AI writing prompt. With strict adherence to that, not writing clickbait titles, and literally being authentic. I cannot stand the way articles are written by geek or news websites. That’s the difference between “content that sounds like it was regenerated” and content that still sounds like The GCRN. Every output still gets a human pass. I audit each one before anything goes live: I can accept or reject the title, the description, and the tags independently, so I’m not stuck taking or leaving a whole generation just because two out of three parts are good.
Rules I built into the process:
- Titles have to be specific to the actual content, not just the show name and a number. It will strip out those details automatically to feed it based on the content discussed.
- Review episodes get “Review” explicitly in the title, and roundup or multi-title review shows list out what’s covered. Sometimes I remove it based on the topical nature of it.
- Descriptions stick strictly to what’s in the transcript, no invented details, no clickbait. It even strips out old content that we have had embedded that Google has had fun hitting with 404 errors the past decade.
- A description can pose a genuine question if it fits, but it has to be earned by the content. Again, only pulled from the transcript and original descriptions.
- Host social links and contact info at the end of descriptions are never touched, they carry over exactly as written.
- Descriptions run up to six sentences depending on what the episode actually warrants.
Once I approve a batch, it updates WordPress and I can toggle a push back out through the RSS.com API to the live feed, so the metadata is consistent everywhere the show lives, not just on the site. Additionally, it doesn’t break SEO with the original episode post URL staying the same despite a title change.
Rollout order
I didn’t run this against the whole catalog at once. I started with our smaller shows, lower episode counts, lower risk if something in the process needed tuning. And it quite frequently did. From there it moves to our larger shows, and reviews are their own category since they need that title convention applied consistently. As I went along, there was still a lot of tweaking needed but it worked as I expected it to.
Where it stands
This is still an active experiment, not a finished case study. So far, results seem to be trending positive across platforms, but I do want real numbers, not a gut feeling, before I call it a win. Once there’s enough post-rewrite data to compare against baseline, that’s the follow-up article: what actually moved, what didn’t, and whether the AEO angle held up the way I’m hoping it does.