← Omegro Working Hub
Omegro Podcast Hub · Build Spec

Website Architecture & Requirements

Omegro Podcast Hub

A build specification for the development team. This document defines every page, field, and structured-data requirement needed to launch the podcast on omegro.com. It is written to be built from directly.

Prepared byThe Unspoken Pitch
ForOmegro Marketing
Version1.0 (Draft for review)
PlatformWebflow CMS

What this document covers

  1. The principle that shapes the build
  2. Information architecture
  3. The podcast hub page
  4. CMS: Episodes collection
  5. CMS: Guests collection
  6. Episode page template
  7. Guest profile template
  8. Resources page integration
  9. Footer & homepage placement
  10. Schema / structured data
  11. On-page requirements for AI visibility
  12. Reporting hooks
  13. Worked example: a real episode page
  14. Build sequence
  15. Pre-launch checklist
  16. What sits outside this spec
  17. Glossary of terms

Tick items in sections 14 and 15 as you go. Progress saves in this browser. Code blocks have a copy button.

01The principle that shapes the build

One decision drives everything below, so it goes first.

The podcast's discoverability does not come from the audio. Search engines and AI assistants like ChatGPT, Perplexity and Google's AI answers cannot listen to audio or watch video. They read and cite text. So every bit of findability lives in the text wrapped around each episode: the transcript, the summary, the takeaways written as real questions, and the structured metadata underneath.

The audio and video are for people. The text is for the machines doing the citing. That sets the priority order for the whole build. A beautiful player with no transcript is invisible to AI search. A plain page with a full transcript and clean schema gets cited.

Practical consequence. Every episode needs its own crawlable page on omegro.com, carrying the full transcript and structured data. Spotify, Apple and YouTube are distribution. They are not the home. The home is a page Omegro controls and can be cited with a real URL.

02Information architecture

The podcast becomes a new top-level section of the site, not a sub-item buried inside Resources. It also appears inside Resources as a filterable content type, so it is reachable from both routes.

omegro.com/en/podcast # the hub: all episodes live here ├── /en/podcast/[episode-slug] # one page per episode ├── /en/podcast/guest/[guest-slug] # one page per guest └── /en/podcast/topic/[topic-slug] # optional: topic hubs, phase 2 Cross-links: Resources filter → adds "Podcast" as a content type Footer → podcast icon beside social channels Homepage → podcast button beside "Watch Video" and "Team & Culture"
URL note. The live site serves content under an /en/ locale path (the Resources page sits at omegro.com/en/resources/). The hub should be built at omegro.com/en/podcast, with a clean omegro.com/podcast redirect pointing to it so the shorter URL still works in print and on social. Building at /podcast alone would sit outside the site's existing structure.

03The podcast hub page

omegro.com/en/podcast. This is the front door and the page most likely to rank for "[show name] podcast" searches. It carries the PodcastSeries schema (see section 10). Content blocks, in order:

  1. HeroShow name, one-line positioning statement, cover art, and the subscribe buttons (Spotify, Apple, YouTube, RSS). Keep the positioning line written the way someone would search, not an internal tagline.
  2. Featured episodeOne episode pinned to the top, editorially chosen. Pulls from the Episodes collection.
  3. Episode libraryAll episodes in reverse chronological order, newest first. Each card links to its own episode page. This list is the crawlable index of the show.
  4. Topic filter (optional, phase 2)Filter the library by topic tag once there are enough episodes to warrant it.
  5. About the showA short paragraph on what the podcast covers and who it is for, written in plain search-friendly language.
  6. Newsletter captureEmail signup so listeners convert into a first-party audience rather than staying locked inside Spotify or YouTube.

04CMS: Episodes collection

The reusable structure so every episode is entered the same way. Each field below becomes a field in the Webflow Episodes collection. Required fields must be present for the schema and AEO to work. Optional fields improve the page but are not load-bearing.

FieldTypeReqPurpose
titlePlain textYesEpisode title, written as a real search phrase, not just "Episode 12". Names the guest and topic where possible.
slugSlugYesURL segment. Readable and keyword-bearing.
episode-numberNumberYesSequential number for ordering and reference.
summaryPlain textYes40 to 60 word answer to the core question of the episode. This is the block AI engines lift. It goes at the top of the page.
show-notesRich textYes600 to 1,200 words of structured notes with question-style subheadings. The substance an engine reads.
transcriptRich textYesFull, accurate transcript. The single highest-impact field for AI visibility. Rendered as real HTML text on the page, not a downloadable file.
audio-urlLink / FileYesThe episode audio file URL. Feeds the AudioObject in the schema.
audio-durationPlain textYesDuration in ISO 8601 format, e.g. PT37M for 37 minutes. Feeds the schema.
video-embedVideo / EmbedNoYouTube embed. Adds a second search surface.
date-publishedDateYesPublish date. Feeds datePublished in the schema.
guestReference → GuestsNoLinks to the guest profile in the Guests collection. Multi-reference if more than one guest.
topic-tagsMulti-referenceNoTopic categories for filtering and topic hubs.
key-takeawaysRich textYesThree to five takeaways written as question-and-answer pairs. Feeds the FAQPage schema.
related-resourcesMulti-referenceNoLinks to related case studies, articles, or other episodes for internal linking.
cover-imageImageYesEpisode thumbnail. Feeds the schema image.

05CMS: Guests collection

A separate collection so guests are entered once and reused across every episode they appear in. Powers the guest profile pages and the Person schema.

FieldTypeReqPurpose
namePlain textYesFull name. Must be spelled identically everywhere it appears across the site.
slugSlugYesURL segment for the guest page.
role-titlePlain textYesJob title. Feeds jobTitle in the schema.
companyPlain textYesTheir company. Feeds worksFor.
bioRich textYesShort professional bio.
photoImageYesHeadshot. Feeds schema image.
linkedin-urlLinkNoLinkedIn profile. Feeds sameAs, which helps engines confirm identity.

06Episode page template

omegro.com/en/podcast/[episode-slug]. This is where most AI citations will land, so the order of blocks matters. Lead with the answer, then the depth.

  1. Title (H1)The episode title, phrased as a real search query.
  2. The 40 to 60 word answerThe summary field, placed immediately under the title. This is what an engine quotes. Answer the core question in plain words before anything else loads.
  3. PlayerAudio player, with the YouTube embed beside or below it if video exists.
  4. Guest stripGuest photo, name, role, company, pulled from the Guests collection, linking to the full profile.
  5. Key takeaways as Q&AThe key-takeaways field, rendered as visible question-and-answer pairs. These double as the FAQPage schema source.
  6. Show notesThe show-notes field, with subheadings written as questions people actually ask.
  7. Full transcriptThe complete transcript, rendered as on-page HTML text. Not a PDF, not a download. The engine has to be able to read it in the page.
  8. Related resourcesInternal links to related case studies, articles and episodes.
  9. Subscribe / newsletterRepeat the subscribe buttons and email capture.
Why this order. AI engines reward pages that answer the question early and render cleanly as text. Answer first, prove it with the transcript, keep the scripts light so the content is not blocked from loading.

07Guest profile template

omegro.com/en/podcast/guest/[guest-slug]. A light page per guest that builds an entity Google and AI engines can recognise, and gives each episode a credibility anchor.

  • Guest name (H1), photo, role and company.
  • Bio.
  • A list of every episode they appear in, pulled automatically via the reference field.
  • Person schema (see section 10).

08Resources page integration

The existing Resources page at omegro.com/en/resources/ already carries news, acquisition announcements and case studies with a content-type filter. Add Podcast as a new option in that filter.

The cleanest way to do this in Webflow depends on how the current Resources filter is built. Two approaches:

  • If Resources already reads from multiple collections filtered by a shared "type" field, add the Episodes collection to that filter set with type "Podcast". Preferred.
  • If Resources is a single collection, the developer confirms whether podcast episodes should be mirrored in as items tagged "Podcast", or whether the filter should be extended to read the Episodes collection alongside the existing one.
Developer to confirm. The exact filter wiring depends on the current Resources CMS setup, which sits inside the Webflow project. This spec defines the requirement: Podcast becomes a selectable content type in the Resources filter, and selecting it surfaces episodes that link through to their own pages. The developer chooses the cleanest implementation for the existing build.

09Footer & homepage placement

Footer

Add a podcast icon in the footer alongside the existing social channel icons. It links to the hub at /en/podcast, not to an external Spotify or Apple URL. The point is to pull people onto the owned pages first.

Homepage

Add a podcast button on the homepage beside the existing "Watch Video" and "Team & Culture" buttons, matching their styling. It links to the hub. Once a flagship episode exists, this button can point to the featured episode instead, whichever drives the stronger first impression.

Hold the launch. Per Omegro's note, none of this goes live until a few episodes are ready. The build can be staged and reviewed behind the scenes, then switched on when the library has enough depth to look established from day one.

10Schema / structured data

This is the AEO core. All markup is JSON-LD, placed in the <head> of each page. Webflow allows custom code per page and per CMS template, so these can be templated with CMS field bindings where the platform allows, or injected via the page custom-code area.

Honest context on Google. Google deprecated Google Podcasts in 2024 and no longer maintains podcast-specific rich-results documentation. So this schema is not chasing a Google rich snippet. Its value now is with AI answer engines and podcast directories, which use the schema.org vocabulary to understand and cite the content. Verified against schema.org (current vocabulary version) and current AEO practice as of July 2026. The developer should validate every block with the Schema Markup Validator and Google's Rich Results Test before go-live, since these standards move.

Hub page: PodcastSeries

One block on /en/podcast. Replace the placeholder values.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastSeries",
  "name": "[SHOW NAME]",
  "description": "[ONE-LINE SHOW DESCRIPTION]",
  "url": "https://omegro.com/en/podcast",
  "image": "[COVER ART URL]",
  "webFeed": "[RSS FEED URL]",
  "publisher": {
    "@type": "Organization",
    "name": "Omegro",
    "url": "https://omegro.com"
  }
}
</script>

Episode page: PodcastEpisode + AudioObject

One block per episode page, bound to the CMS fields.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastEpisode",
  "url": "https://omegro.com/en/podcast/[slug]",
  "name": "[title]",
  "datePublished": "[date-published, YYYY-MM-DD]",
  "description": "[summary]",
  "timeRequired": "[audio-duration, e.g. PT37M]",
  "associatedMedia": {
    "@type": "AudioObject",
    "contentUrl": "[audio-url]",
    "encodingFormat": "audio/mpeg"
  },
  "partOfSeries": {
    "@type": "PodcastSeries",
    "name": "[SHOW NAME]",
    "url": "https://omegro.com/en/podcast"
  }
}
</script>

Episode page: FAQPage

A second block on the episode page, built from the key takeaways. Only include this where the takeaways are genuinely written as questions and answers.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "[question 1]",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "[answer 1]"
      }
    }
  ]
}
</script>

Guest page: Person

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "[name]",
  "jobTitle": "[role-title]",
  "worksFor": {
    "@type": "Organization",
    "name": "[company]"
  },
  "image": "[photo URL]",
  "sameAs": ["[linkedin-url]"]
}
</script>

11On-page requirements for AI visibility

Schema removes ambiguity, but the text is what earns the citation. These rules apply to every episode page and are non-negotiable for the AEO value to land.

  • Full transcript on every episode page. The single highest-impact step. Without it, the episode is invisible to AI engines. Rendered as HTML text, not a file.
  • Answer the core question in the first 40 to 60 words. The summary block at the top of the page, in plain language, so an engine can lift it directly.
  • Headings phrased as real questions. Use the way people actually ask, not internal episode numbers or clever titles.
  • Named-entity consistency. Lock every guest name, company name and product name to one spelling across titles, show notes and transcripts. Inconsistent spelling confuses engines trying to match your content to a query.
  • Short paragraphs and lists. Break key points out so they are easy to lift.
  • Internal linking. Link each episode to related case studies, articles and episodes. This builds topic clusters engines can follow.
  • Clean, fast, text-first rendering. The content must load without heavy scripts blocking it.
  • Include episode and guest pages in the XML sitemap. New CMS pages need to be in the sitemap so engines discover them quickly rather than waiting to stumble on them.
  • Open Graph and social share tags on every page. Controls the title, description and image that appear when an episode is shared on LinkedIn or elsewhere. Omegro shares on LinkedIn, so a broken or blank preview is visible and worth preventing.
  • Canonical tags. Each episode page points to itself as canonical, so the /podcast redirect and any syndication do not create duplicate-content confusion.
  • Descriptive image alt text. Cover images and guest photos get real alt text, not blank or "image1". Small, and it helps both accessibility and discovery.
Future enhancements, not needed for launch. Worth knowing so they are on record, but none block go-live: chapter-level timestamps with Clip schema, which let AI engines cite a specific moment in an episode rather than the whole thing; VideoObject schema if the show leans into YouTube as a primary surface; and topic hub pages once several episodes cover the same theme, which build the topic clusters engines follow. These are phase 2. Flagging them now means the CMS can be structured so they slot in later without a rebuild.

12Reporting hooks

The podcast should report into the attribution framework already in build, not sit in a siloed podcast dashboard. From the website side, that means the pages need to be instrumented so podcast traffic and engagement can be traced the same way as everything else.

  • Ensure the existing analytics and tag setup fires on the new podcast pages and templates from launch.
  • Tag subscribe-button clicks and newsletter signups as trackable events, so listener-to-audience conversion is measurable.
  • Keep episode URLs clean and consistent so referral and campaign tracking reads cleanly.

The measurement question of what counts as success for this audience sits at the strategy layer, not the build layer, and is handled separately. The build requirement here is simply that the pages are instrumented from day one rather than retrofitted later.

13Worked example: a real episode page

Everything above is structure. This is one episode page built out in full, so the developer can see exactly what "good" looks like, and the content team has a template to write against.

Illustrative only. The guest, quotes and detail below are a made-up sample to show the shape. Replace with real episode content. It is not a real person or a real interview.

Title (H1)

Selling a vertical software business to a permanent acquirer: what actually changes on day one

The 40 to 60 word answer (summary block, top of page)

When a founder sells to a permanent-hold acquirer like Omegro, the biggest change is not ownership, it is time horizon. There is no exit clock and no flip. The business keeps its name and its team, and the founder shifts from chasing a sale to building for the long term.

Key takeaways as Q&A

Does a founder have to leave after selling to Omegro?
No. Most founders stay and keep running the business. The model is built on continuity of the existing team, not replacement.

What happens to the product roadmap after acquisition?
It stays with the people who know the market. Roadmap decisions remain close to the customers rather than being set centrally.

How is a permanent-hold acquirer different from private equity?
Private equity buys to sell again within a few years. A permanent-hold acquirer buys to keep, which removes the pressure to dress the business up for a resale.

Transcript snippet (rendered as on-page text, full transcript continues)

Host: So the day the deal closed, what actually felt different?
Guest: Honestly, less than I expected. Same team, same office, same product. What changed was the conversation in my own head. I stopped running the business as something I was going to sell one day.
Host: And the roadmap?
Guest: Still ours. That was the part I was most worried about, and it turned out to be the part they were most hands-off on.

Fully populated schema for this episode

Same blocks as section 10, with the sample values filled in so the developer sees a complete example rather than placeholders.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PodcastEpisode",
  "url": "https://omegro.com/en/podcast/selling-to-a-permanent-acquirer",
  "name": "Selling a vertical software business to a permanent acquirer: what actually changes on day one",
  "datePublished": "2026-09-15",
  "description": "When a founder sells to a permanent-hold acquirer, the biggest change is time horizon, not ownership. The team, name and roadmap stay in place.",
  "timeRequired": "PT41M",
  "associatedMedia": {
    "@type": "AudioObject",
    "contentUrl": "https://[podcast-host]/omegro/ep-04.mp3",
    "encodingFormat": "audio/mpeg"
  },
  "partOfSeries": {
    "@type": "PodcastSeries",
    "name": "[SHOW NAME]",
    "url": "https://omegro.com/en/podcast"
  }
}
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Does a founder have to leave after selling to Omegro?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Most founders stay and keep running the business. The model is built on continuity of the existing team, not replacement."
      }
    },
    {
      "@type": "Question",
      "name": "How is a permanent-hold acquirer different from private equity?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Private equity buys to sell again within a few years. A permanent-hold acquirer buys to keep, which removes the pressure to dress the business up for a resale."
      }
    }
  ]
}
</script>
Note the pattern. The takeaway questions, the on-page Q&A, and the FAQ schema all use the same wording. That consistency is deliberate. It gives an AI engine the same question phrased the way a real person would ask it, in the visible text and in the structured data, which is exactly the path to a citation.

14Build sequence

Suggested order of operations for the developer. Tick each step as it lands.

0 of 0 done
  1. 01Create the Episodes and Guests CMS collections with the fields in sections 4 and 5.
  2. 02Build the episode page template (section 6) and guest page template (section 7), binding fields.
  3. 03Build the hub page (section 3) reading from the Episodes collection.
  4. 04Add the schema blocks (section 10) to each template, bound to CMS fields where possible.
  5. 05Set up the /en/podcast routing and the /podcast redirect.
  6. 06Add Podcast to the Resources filter (section 8).
  7. 07Add the footer icon and homepage button (section 9), staged, not yet linked live if launch is being held.
  8. 08Validate every schema block with the Schema Markup Validator and Rich Results Test.
  9. 09Load the first few episodes, review, then switch the section live.

15Pre-launch checklist

A tick-through before the section goes live, grouped by who owns each part. Progress is saved in this browser, so you can come back to it.

0 of 0 done

Developer (build)

  • Episodes and Guests CMS collections created with all required fields.
  • Hub, episode and guest templates built and binding correctly.
  • /en/podcast routing live, /podcast redirect working.
  • Podcast added to the Resources filter.
  • Footer icon and homepage button in place, styled to match.
  • Every schema block validated with the Schema Markup Validator and Rich Results Test.
  • Analytics firing on all new templates, subscribe and signup events tagged.
  • Pages load fast and render as text without scripts blocking content.

Content (Omegro)

  • Show name, one-line description and cover art finalised.
  • First few episodes recorded and published to the host.
  • Full transcript produced for every launch episode.
  • Summary, show notes and Q&A takeaways written for each, following the worked example.
  • Guest names, companies and product names spelled consistently everywhere.
  • Subscribe links ready for Spotify, Apple and YouTube.

16What sits outside this spec

This document is the website architecture and requirements. It defines what to build and why, and the build itself is executed by the development team working from it. A few things a live podcast depends on sit outside a website spec entirely. They are listed here so nothing gets assumed or dropped, and so ownership is clear.

WhatWhy it mattersOwner
Podcast host and RSS feedThe audio has to live on a host, which generates the RSS feed. The schema cannot be finished until that feed URL exists.Omegro
TranscriptsThe single highest-impact item for AI visibility. Auto-transcribe then clean up. Ongoing per episode.Omegro
Publishing to Spotify, Apple, YouTubeThe subscribe buttons need somewhere to point. The show has to be live on the platforms.Omegro
Episode copyTitles, summaries, show notes and takeaways written per the worked example. This is content, not structure.Omegro
Visual design of the pagesThis spec is the skeleton, what goes where and why. It does not design the look. If pixel-level mockups are wanted, that is a separate design piece.To be agreed
The build inside WebflowConstructing the collections, templates, schema and routing from this spec.Omegro dev

The structure here is designed once and reused for every future episode, so the effort is front-loaded. Once it is built, each new episode is a straightforward CMS entry rather than a fresh build.

17Glossary of terms

Plain-English definitions for the non-technical reader, so the document is usable by the whole team, not just the developer.

AEOAnswer Engine Optimisation. Getting your pages cited by AI assistants like ChatGPT, Perplexity and Google's AI answers, not just ranked in classic search.
CMSContent Management System. The back end of the website where content is entered and managed. In this case, Webflow.
CollectionA reusable content type in the CMS, like a database table. One collection for Episodes, one for Guests, so every entry follows the same structure.
Schema / structured dataInvisible code on a page that tells search engines and AI what the content is: a podcast episode, a guest, a Q&A. It removes ambiguity so the content can be understood and cited.
JSON-LDThe specific format the schema code is written in. The standard, preferred way to add structured data.
RSS feedThe feed a podcast host produces that distributes episodes to Spotify, Apple and other apps. Also feeds the show's schema.
SlugThe readable part of a page's URL, e.g. the selling-to-a-permanent-acquirer in the example URL above.