Advanced

The podcast

Set up Quiet's podcast home at /podcast/: cover art and a description from one page, episodes from tagged posts, and listening links for Spotify, Apple and twenty more.

Quiet gives a podcast its own home at /podcast/: your cover art, a line about the show, buttons for the apps people listen in, and the full list of episodes.

An episode is an ordinary post tagged #podcast, so writing show notes is writing a post.

The podcast page

Set up the show

Publish a page with the slug podcast. The title becomes the show's name. This is the page the route reads, so it has to exist before the address works.

Set its feature image to your cover art. Square, 1400 by 1400 pixels or larger, which is what podcast directories ask for anyway.

Write the show's description in the excerpt. One or two sentences.

Put your player embed in the body, if you have one. A Spotify, Apple or podcast-host embed card sits between the header and the episode list.

Upload the routes file, if you have not already: Settings → Labs → Beta features → Upload routes file. See Installation, steps 4 and 5.

The podcast page - Editor

Field on the podcast pageOn the page
Feature imageThe square cover art
Primary tagThe small label above the name. Falls back to the word Podcast
TitleThe show's name, and the browser tab title
ExcerptThe line under the name, and the description used when the page is shared
BodyFree space between the header and the episode list, for a player embed
(automatic)The episode count beside the label

Nothing at /podcast/ until the page exists

The address is bound to a page slugged podcast. Without it, /podcast/ answers 404, and so does /podcast/rss/. Publishing the page fixes both.

Add episodes

#podcast

Write the episode as an ordinary post: title, show notes, links, a transcript if you have one.

Put the meta line in the Excerpt, written however you like. The demo uses with Ellen Marsh · 1h 04m. Ghost has no field for a guest or a duration, so this line is where they live.

Embed the episode's player at the top of the body, from your podcast host or Spotify.

Under Tags, add #podcast, then publish.

An episode row

The episode - Editor

The episode

The episode

The episode

Episodes are listed newest first, each row showing its title, your meta line and its date, with a padlock if it is members-only. Each episode page carries an All episodes link back to the show.

The numbers are decoration

The 01, 02, 03 beside episodes on the homepage band are the row's position in that band, not the episode number. If numbering matters, put it in the excerpt.

Tagging an existing post moves it

A published post you now tag #podcast moves from /its-slug/ to /podcast/its-slug/, with no forwarding address. If it has been shared, add a redirect at Settings → Labs → Redirects. And never tag one post both #podcast and #video: the podcast claims it and it vanishes from the video channel and the archive.

The row of app buttons on the podcast page and on the homepage band. There is no setting for these, because Ghost has no field for a show's Spotify address: you paste one snippet instead, and both places pick it up.

The simple form

For any of the built-in platforms, add a meta tag in Settings → Code injection → Site header:

<meta name="quiet-podcast-spotify" content="https://open.spotify.com/show/YOUR-ID">
<meta name="quiet-podcast-apple" content="https://podcasts.apple.com/podcast/YOUR-ID">
<meta name="quiet-podcast-youtube" content="https://youtube.com/@your-channel">
<meta name="quiet-podcast-overcast" content="https://overcast.fm/itunes-YOUR-ID">

Buttons appear in the order you write them, with each platform's own logo and colour.

Listen links - Code injection

The episode

The listening links row

The episode

Site-wide, not the page's own code injection

It has to be the Settings → Code injection fields, not the Code injection box inside the podcast page. Ghost does not run a page's own injection on this address, because the page is being used as the route's data rather than as the page being viewed. Site-wide costs nothing elsewhere: the tags are invisible, and the row only renders where there is a place for it.

Twenty-two of them:

Common alternative spellings are accepted, so apple-podcasts, pocketcasts, yt and ytmusic all work.

The RSS button

Off unless you ask for it, and always last in the row:

<meta name="quiet-podcast-rss" content="https://feeds.transistor.fm/YOUR-SHOW">

Point it at your podcast host's feed, whichever host that is.

Why Ghost's own feed is not offered

/podcast/rss/ would be a blog feed: no audio files, no durations, no episode numbers. A podcast app cannot use it, and submitting it to a directory would fail. So Quiet switches it off and lets you link the real feed instead.

Add an anchor block in Settings → Code injection → Site footer:

<div data-quiet-podcast-links hidden>
  <a data-platform="player-fm" href="https://player.fm/series/your-show"></a>
  <a data-name="My Network" href="https://network.example.com"
     data-svg='<svg viewBox="0 0 24 24"><path d="M12 2 2 22h20L12 2Z"/></svg>'
     data-color="#444444"></a>
</div>
AttributeWhat it does
hrefRequired. Where the button goes
data-platformUse a built-in logo and colour by name
data-nameThe button's label, for a platform with no built-in logo
data-svgYour own icon, as inline SVG
data-colorA hex colour, for example #444444

This block goes in Site footer, the meta tags in Site header

A <div> pasted into Site header lands inside the document's head, where it breaks the rest of the page. Meta tags are safe in either field, but the anchor block is not.

The listening links row

What readers see with JavaScript off

No button row at all, rather than an empty one. Everything else on the page (cover art, description, embed, the full episode list) is ordinary HTML and works.