Validator de podcast RSS

Lipiți XML-ul RSS al podcastului și vedeți exact unde trebuie corectate problemele de XML, canal, episod, fișier audio și dată.

Podcast RSS XML

Lipiți feed complet, inclusiv declarația XML și rădăcina <rss>.

Aceasta este o verificare statică a structurii. Adresele feedului, copertei și fișierelor media nu sunt deschise; verificați separat disponibilitatea, numărul de octeți, decodarea audio și acceptarea de către director.

Diagnosticarea feedului

Aceasta este o verificare statică a structurii. Adresele feedului, copertei și fișierelor media nu sunt deschise; verificați separat disponibilitatea, numărul de octeți, decodarea audio și acceptarea de către director.

    Lipiți un feed, apoi validați-l pentru a vedea fiecare problemă cu o linie, o coloană și o cale XML.

    Gata pentru RSS XML.

    Feedul podcastului este verificat în browser. BroBroGo nu încarcă și nu salvează nimic.

    Întrebări frecvente

    Ce verifică acest Podcast RSS Validator?

    Verifică dacă XML-ul RSS 2.0 este bine format, dacă sunt prezente câmpurile RSS obligatorii și câmpurile uzuale Apple Podcasts, precum și atributele <enclosure>, valorile duplicate și datele RFC 2822.

    Testează fișierul audio?

    Verifică adresa URL din <enclosure>, numărul de octeți, tipul MIME, unicitatea adresei și concordanța dintre numele și tipul fișierului. Nu descarcă și nu decodează fișierul audio.

    Va fi acceptat peste tot un feed care trece?

    Nu. Aplicațiile și directoarele de podcasturi pot impune reguli și verificări la distanță suplimentare. Un rezultat fără erori arată doar că XML-ul lipit a trecut verificările statice afișate aici.

    Structura și cerințele RSS 2.0 pentru podcasturi

    Un feed de podcast funcționează pe baza specificației RSS 2.0, un format XML standardizat utilizat pentru distribuirea de conținut audio și metadate către platformele de redare. Pentru ca un feed să fie valid, structura XML trebuie să respecte reguli stricte de sintaxă și ierarhie.

    Rădăcina documentului trebuie să fie <rss>. Orice alt element plasat ca rădăcină va genera eroarea: "Rădăcina documentului trebuie să fie <rss>.". De asemenea, este obligatoriu să Setați atributul version al elementului <rss> la 2.0. În plus, RSS trebuie să conțină exact un element copil direct <channel>. Dacă această regulă nu este respectată, validatorul va raporta o problemă de tipul: "RSS trebuie să conțină exact un element <channel> copil direct; s-au găsit ‹count›.".

    Pentru a asigura compatibilitatea cu platformele moderne de distribuție, Declarați spațiul de nume Apple Podcasts pe <rss>. Lipsa acestei declarații împiedică interpretarea corectă a etichetelor specifice utilizate pentru organizarea emisiunilor. De asemenea, dacă feedul conține o declarație de tip document, procesarea va fi oprită, afișându-se eroarea: "Eliminați declarația DOCTYPE înainte de a verifica acest feed.". În cazul în care structura XML este coruptă sau incompletă, se va afișa mesajul: "Remediați XML malformat, apoi validați din nou.".

    Cerințe specifice pentru Apple Podcasts și canale

    Platformele de distribuție, în special Apple Podcasts, impun prezența unor câmpuri obligatorii la nivel de canal (<channel>) și de episod (<item>). Absența acestora împiedică indexarea corectă a podcastului. Atunci când un câmp esențial lipsește, validatorul semnalează eroarea: "Adăugați ‹field› necesar.".

    Fiecare canal trebuie să îndeplinească următoarele criterii de validare:

    • Adrese URL valide: Câmpurile de legătură trebuie să fie corect formatate. Eroarea "‹field› trebuie să fie un URL complet HTTP sau HTTPS." este declanșată dacă adresele nu conțin protocolul corespunzător.
    • Coperta canalului: Imaginea asociată trebuie definită corect. În caz contrar, se va afișa eroarea: "Setați itunes:image href la un URL complet HTTP sau HTTPS.".
    • Categorii valide: Clasificarea emisiunii necesită etichete conforme. Lipsa acestora generează eroarea: "Adăugați un atribut text nevid la itunes:category.".
    • Indicatorul de conținut explicit: Eticheta <itunes:explicit> este obligatorie și trebuie definită strict. Mesajul de eroare asociat este: "Setați itunes:explicit la true sau false.".
    • Prezența episoadelor: Un canal nu poate fi gol. Regula de validare cere să "Adăugați cel puțin un episod <item> pe canal.".
    • Emisiuni în serie: Dacă podcastul este de tip serial, structura impune ca "Emisiunile în serie au nevoie de un număr întreg pozitiv itunes:episode pentru fiecare episod.".

    Validarea fișierelor audio (Enclosures)

    Elementul <enclosure> definește fișierul media asociat fiecărui episod. Acesta este un element critic, deoarece conține legătura directă către fișierul audio pe care utilizatorii îl vor descărca sau asculta prin streaming. Fiecare episod trebuie să aibă exact un <enclosure>. Dacă se detectează mai multe elemente de acest tip, validatorul va returna eroarea: "Păstrați exact un <enclosure> în acest episod; găsit ‹count›.".

    Fiecare etichetă de tip enclosure trebuie să conțină atribute specifice. Lipsa acestora declanșează eroarea: "Adăugați atributul ‹attribute› necesar la <enclosure>.". Validatorul analizează următoarele atribute:

    1. URL-ul fișierului: Trebuie să fie o adresă validă și directă. În caz contrar, se afișează: "Setați atributul url al elementului <enclosure> la un URL HTTP sau HTTPS complet.".
    2. Dimensiunea fișierului (length): Trebuie exprimată în octeți. Dacă valoarea nu este un număr întreg, se va afișa eroarea: "Setați atributul length al elementului <enclosure> la un număr întreg de octeți.". Dacă valoarea este zero, validatorul emite avertismentul: "Atributul length al elementului <enclosure> este 0. Confirmați numărul real de octeți înainte de publicare.".
    3. Tipul MIME: Acesta indică formatul media al fișierului. Utilizatorii trebuie să folosească un tip MIME valid, cum ar fi audio/mpeg. Dacă tipul MIME nu este recunoscut, se afișează eroarea: "Utilizați un tip MIME valid, cum ar fi audio/mpeg.".

    Dacă tipul MIME indică un format care nu este audio, validatorul va emite avertismentul: "Acest <enclosure> nu este marcat ca audio. Confirmați că episodul trebuie să fie un videoclip sau un document.". De asemenea, sistemul verifică dacă extensia fișierului din URL se potrivește cu tipul MIME declarat. În caz de neconcordanță, se afișează avertismentul: "Extensia fișierului media și tipul MIME nu corespund (‹extension› și ‹mime›).". Pentru a preveni erorile de redare, adresele URL ale fișierelor media trebuie să fie unice în cadrul feedului. Dacă se detectează o dublare, se va afișa eroarea: "Această adresă URL din <enclosure> repetă valoarea de la rândul ‹first›.".

    Formatarea datelor și gestionarea identificatorilor unici

    Ordinea și afișarea episoadelor în aplicațiile de podcast depind direct de corectitudinea datelor de publicare și a identificatorilor unici (GUID). Fiecare episod trebuie să aibă o dată de publicare validă. Lipsa acesteia generează avertismentul: "Adăugați <pubDate> pentru ca aplicațiile de podcasturi să poată ordona și publica episodul corect.".

    Datele de publicare trebuie să respecte cu strictețe standardul RFC 2822. Dacă formatul este incorect, validatorul va afișa eroarea: "Utilizați o dată RFC 2822 cu o dată calendaristică și un fus orar real, de exemplu: Sat, 01 Apr 2023 19:00:00 +0000.". Deși utilizarea numelor de fus orar (cum ar fi EST sau GMT) este permisă din punct de vedere tehnic, aceasta poate cauza probleme de compatibilitate pe anumite platforme. Din acest motiv, validatorul emite avertismentul: "Acest fus orar numit este acceptat, dar mai puțin portabil; preferați un offset numeric, cum ar fi +0000.".

    Identificatorul unic global (GUID) este utilizat de agregatoare pentru a urmări dacă un episod a fost modificat sau dacă este complet nou. Fiecare episod trebuie să aibă un GUID unic. Dacă se detectează valori identice pentru episoade diferite, validatorul va raporta eroarea: "Acest GUID repetă valoarea de la linia ‹first›.".

    De asemenea, dimensiunea totală a feedului în ceea ce privește numărul de episoade este importantă pentru vizibilitate. Dacă un feed conține un număr foarte mare de episoade, se va declanșa avertismentul: "Acest feed are ‹count› de episoade; Apple Podcasts afișează doar cele mai recente 2.000.".

    Interpretarea rezultatelor și depanarea XML-ului

    Atunci când introduceți un feed în instrumentul de validare, rezultatele sunt grupate sub secțiunea Diagnosticarea feedului. Validatorul afișează un rezumat clar al stării feedului, indicând numărul de probleme găsite prin mesaje precum:

    • erori ‹count›
    • Avertismente ‹count›
    • ‹count› episoade

    Dacă feedul este complet valid din punct de vedere structural, se va afișa mesajul: "Nu au fost găsite probleme structurale.". În caz contrar, veți vedea mesajul de sinteză: "S-au găsit ‹errors› erori și ‹warnings› avertismente.".

    Pentru a facilita corectarea rapidă a erorilor, validatorul oferă coordonatele exacte ale fiecărei probleme în fișierul XML. Fiecare eroare sau avertisment este însoțit de detalii de localizare:

    • Linia ‹line›, coloana ‹column›: Indică poziția exactă a caracterului problematic.
    • Remediere: ‹path›: Oferă calea XML (de tip XPath) către elementul care necesită atenție.
    • Accesați ‹path› la linia ‹line›: Reprezintă o legătură directă care vă permite să navigați instantaneu la elementul afectat pentru a-l edita.

    Dacă numărul de probleme identificate este foarte mare, lista de rezultate poate fi limitată pentru a menține lizibilitatea interfeței, afișând mesajul: "Se afișează primele ‹shown› dintre cele ‹total› de probleme.". În plus, dacă analizatorul XML întâmpină o eroare fatală de interpretare, acesta va oferi informații suplimentare prin mesajul: "Detaliu analizator: ‹detail›".

    Confidențialitate și limite de procesare

    Acest instrument este conceput pentru a asigura o procesare rapidă și privată. Feedul podcastului este verificat în browser. BroBroGo nu încarcă și nu salvează nimic. Toate operațiunile de analiză și validare a textului XML au loc local, pe dispozitivul dumneavoastră.

    Instrumentul are o limită de procesare de maximum 500.000 de caractere per verificare. Dacă introduceți un text care depășește această dimensiune, sistemul va afișa mesajul: "Acest instrument acceptă cel mult ‹max› de caractere la o verificare.". De asemenea, dacă procesul de analiză durează prea mult din cauza complexității sau a dimensiunii fișierului, se va afișa mesajul: "Validarea a durat prea mult. Încercați un feed mai mic.". În cazul în care procesul este întrerupt din motive tehnice neprevăzute, se va afișa mesajul: "Validarea nu s-a putut finaliza.".

    Este important de reținut că acest validator efectuează exclusiv o verificare statică a structurii XML. Instrumentul nu descarcă și nu decodează fișierele audio și nu verifică dacă adresele URL ale imaginilor sau ale fișierelor media sunt active pe serverele de găzduire. Trecerea validării structurale nu garantează că un director extern (cum ar fi Apple Podcasts sau Spotify) va accepta sau va publica automat feedul, deoarece aceste platforme pot aplica reguli de rețea și politici de conținut suplimentare în momentul înscrierii.

    Întrebări frecvente

    Ce verifică acest Podcast RSS Validator?

    Verifică dacă XML-ul RSS 2.0 este bine format, dacă sunt prezente câmpurile RSS obligatorii și câmpurile uzuale Apple Podcasts, precum și atributele <enclosure>, valorile duplicate și datele RFC 2822.

    Testează fișierul audio?

    Verifică adresa URL din <enclosure>, numărul de octeți, tipul MIME, unicitatea adresei și concordanța dintre numele și tipul fișierului. Nu descarcă și nu decodează fișierul audio.

    Va fi acceptat peste tot un feed care trece?

    Nu. Aplicațiile și directoarele de podcasturi pot impune reguli și verificări la distanță suplimentare. Un rezultat fără erori arată doar că XML-ul lipit a trecut verificările statice afișate aici.

    Ce trebuie să fac dacă primesc eroarea legată de DOCTYPE?

    Trebuie să deschideți fișierul XML al feedului și să ștergeți complet declarația <!DOCTYPE...> de la începutul documentului, apoi să introduceți din nou codul în validator. Această declarație nu este permisă în structura standard a unui feed de podcast.