ポッドキャストの配信において、RSSフィードの構造的な正確さは、各プラットフォームへの確実な配信を左右する極めて重要な要素です。「ポッドキャストRSSバリデーター」は、提供されたポッドキャストのRSS XMLを解析し、XML構造、チャンネルおよびエピソードの必須フィールド、音声エンクロージャ、日付フォーマットなどの問題を特定して修正箇所を提示するツールです。
RSS 2.0規格とApple Podcastsの要件
ポッドキャストのフィードは、RSS 2.0規格に準拠したXML構造を持つ必要があります。本ツールは、入力されたXMLがウェルフォームド(整合している状態)であるかを検証します。
具体的な構造ルールとして、文書のルートは <rss> でなければならず、その version 属性は "2.0" に設定されている必要があります。また、Apple Podcastsの規格に対応するため、<rss> 要素内でApple Podcastsの名前空間(xmlns:itunes)が正しく宣言されている必要があります。RSSフィード内には、直系の <channel> 要素が1つだけ存在しなければならず、チャンネル内には少なくとも1つのエピソード(<item>)が含まれている必要があります。
チャンネルおよびエピソードの必須フィールド検証
配信プラットフォームでフィードが正しく認識されるためには、チャンネルレベルおよびエピソードレベルで特定の必須フィールドが存在しなければなりません。
- 必須フィールドの欠落: 必要な要素が存在しない場合、「必須フィールド
‹field›を追加してください。」というエラーが発生します。 - URLの妥当性: リンクや画像URLは、完全なHTTPまたはHTTPS URLである必要があります。不適切な場合は「
‹field›には完全なHTTPまたはHTTPS URLを指定してください。」や「itunes:imageのhrefに完全なHTTPまたはHTTPS URLを指定してください。」と警告されます。 - カテゴリと表現規制:
<itunes:category>には空でないtext属性が必要であり、<itunes:explicit>タグは "true" または "false" に設定されている必要があります。 - シリアル型番組: 連続ドラマ(Serial)形式のショーでは、各エピソードに正の整数が割り当てられている必要があります。
音声エンクロージャ(enclosure)の検証ルール
ポッドキャストの各エピソード(<item>)には、音声ファイルを示す <enclosure> タグが正確に1つだけ存在しなければなりません。2つ以上存在する場合は「このエピソードの<enclosure>は1つだけにしてください。‹count›個見つかりました。」というエラーになります。
本ツールは、エンクロージャの以下の属性を静的にチェックします。
- url: 完全なHTTPまたはHTTPS URLである必要があります。
- length: 整数のバイト数を指定する必要があります。値が0の場合は「<enclosure>のlengthが0です。公開前に実際のバイト数を確認してください。」という警告が表示されます。
- type (MIMEタイプ):
audio/mpegなどの有効なMIMEタイプを使用する必要があります。音声以外のMIMEタイプが指定されている場合は「この<enclosure>は音声として指定されていません。動画または文書のエピソードを意図しているか確認してください。」と警告され、拡張子とMIMEタイプが矛盾している場合は「メディアのファイル名とMIMEタイプは一致しません(‹extension›と‹mime›)。」と通知されます。
なお、本ツールは音声ファイル自体のダウンロードやデコードは行いません。
日付フォーマット(RFC 2822)と重複のチェック
エピソードの公開日は、ポッドキャストアプリが正しく並べ替えや公開処理を行うために不可欠です。日付が欠落している場合は「<pubDate>を追加して、ポッドキャストアプリがこのエピソードを確実に並べ替え、公開できるようにします。」と警告されます。
日付はRFC 2822形式に準拠し、実際のカレンダー日付とタイムゾーンを含める必要があります。無効な形式の場合は「実際のカレンダー日付とタイムゾーンでRFC 2822の日付を使用してください。例えば:Sat, 01 Apr 2023 19:00:00 +0000。」というエラーが表示されます。また、"EST" や "GMT" などの名前付きタイムゾーンは、「この名前付きタイムゾーンは受け入れられますが、移植性は低いです。+0000のような数値オフセットを推奨します。」という警告の対象となります。
さらに、フィード内での重複もチェックされます。同一のエンクロージャURLや重複したGUIDが存在する場合、それぞれ「このエンクロージャURLは行‹first›の値を繰り返しています。」「このGUIDは行‹first›の値を繰り返しています。」として検出されます。
診断結果の解釈とデバッグ
検証を実行すると、結果画面に「フィード診断」という見出しとともに、検出された「‹count›エラー」「‹count›警告」「‹count›エピソード」の数が表示されます。
問題が検出された場合、ツールはXPath形式のパスと行・列番号を用いて、具体的な位置を示します。画面上の「‹line›行目の‹path›へ移動」というリンクをクリックすることで、該当するXMLコードの位置へ直接ジャンプして修正作業を行うことができます。
フィード内のエピソード数が2,000件を超える場合、「このフィードには‹count›エピソードがあります; Apple Podcasts は最新の2,000件のみ表示します。」という警告が表示されます。また、検出された問題の数が多い場合は「全‹total›件のうち先頭‹shown›件を表示しています。」と表示され、リストが切り詰められることがあります。
プライバシーと処理の仕様
ポッドキャストのフィードはブラウザ内で確認されます。BroBroGoがアップロードまたは保存することはありません。
本ツールが1回に処理できる入力制限は最大500,000文字です。検証中に問題が発生した場合は、以下のエラーメッセージが表示されます。
- 入力がない場合: 「検証前にポッドキャストのRSS XMLを貼り付けてください。」
- DOCTYPE宣言が含まれる場合: 「このフィードを確認する前にDOCTYPE宣言を削除してください。」
- XMLが破損している場合: 「誤ったXMLを修正し、再度検証します。」
- 処理がタイムアウトした場合: 「検証に時間がかかりすぎました。より小さいフィードをお試しください。」
よくある質問(FAQ)
このポッドキャストのRSSバリデーターは何をチェックしますか?
RSS 2.0 XMLが正しく構成されているか、必須のRSSフィールドとApple Podcastsで一般的なチャンネル・エピソードフィールドがあるかを確認し、<enclosure>属性、重複、RFC 2822形式の日付も検査します。
音声ファイルはテストされますか?
<enclosure>のURL、バイト長、MIMEタイプ、重複、ファイル名とタイプの整合性を確認します。音声のダウンロードやデコードは行いません。
通過したフィードはどこでも受け入れられるのでしょうか?
いいえ。ポッドキャストアプリはルールやリモートチェックを追加できます。パスとは、貼り付けられたXMLがここに示された静的チェックを満たしたことを意味します。ディレクトリがそれを受け入れたり公開したりするわけではありません。