What this checks, and why each one matters
Podcast directories do not publish a single definitive validation specification, but they converge on the same set of requirements in practice. These are the ones that actually determine whether your show gets listed.
Feed-level
- Reachable and returns XML. The feed must respond successfully and return XML rather than a web page. Submitting a podcast website URL instead of the feed URL is one of the most common mistakes.
-
Well-formed XML. A single unescaped
&in an episode title will break the whole feed. Special characters must be encoded. -
iTunes namespace declared. Without it, every
itunes:tag is silently ignored — so your artwork, category and explicit rating all vanish as far as the directory is concerned. - Title, description and language. Required, and used throughout every app that lists you.
- Explicit rating. Not optional. A feed that does not declare it will be rejected.
- A valid category. It must match one of Apple's defined categories. An invented or misspelled category fails.
- Reachable artwork. We issue a request for the image to confirm a directory could fetch it. A Dropbox or Google Drive share link resolves to a web page rather than an image file and will fail here.
- A self-referencing atom link. Best practice rather than a documented directory requirement — it declares the feed's own canonical address, which helps when a feed is mirrored or moved.
- itunes:block not set. This tag explicitly tells directories not to list the show. It is a frequent leftover from a draft or private state and causes shows to silently disappear.
Episode-level
- At least one episode. Directories will not review an empty feed. A trailer counts.
-
A working enclosure on every episode. The
<enclosure>carries the audio URL. An episode without one is not an episode as far as a directory is concerned. - Unique, permanent guids. Duplicate guids make apps treat a new episode as one they already have, so it never appears. This is a genuinely confusing failure because everything else looks correct.
- Publication dates that are not in the future. Most apps hide future-dated episodes with no error anywhere. A timezone mistake is the usual cause, and it is the single most common reason one episode is missing from an otherwise working show.
If your feed passes but the show still is not listed
A valid feed rules out most causes but not all of them. Work through podcast not showing up on Spotify or Apple, which covers the non-feed causes — unfinished ownership verification, review windows, missing redirects after a host migration, and shows that are listed but too generically titled to find by searching.