Podcast RSS Akışlarında Yapısal Standartlar ve RSS 2.0 Kuralları
Podcast yayıncılığının temeli, içeriğin dağıtımını otomatikleştiren RSS 2.0 standartlarına dayanır. Bir podcast akışının (feed) tüm platformlar tarafından sorunsuz bir şekilde okunabilmesi için XML yapısının hatasız kurulması gerekir. Podcast RSS Doğrulayıcı, yapıştırdığınız XML verisini statik kurallara göre analiz ederek olası şema hatalarını ve eksiklikleri tespit eder.
Doğrulama sürecinde ilk olarak XML belgesinin kök öğesi denetlenir. Geçerli bir podcast akışında belge kökü mutlaka <rss> olmalıdır. Bu kurala uyulmadığında araç, "Belge kökü <rss> olmalıdır." hatasını verir. Ayrıca, <rss> öğesinin version niteliğinin değeri tam olarak "2.0" olmak zorundadır. Eğer bu değer farklıysa, "rss<rss> öğesinin version niteliğini 2.0 olarak ayarlayın." uyarısı üretilir.
Apple Podcasts gibi yaygın dizinlerin özel etiketlerinin tanınabilmesi için Apple Podcasts ad alanının (namespace) <rss> üzerinde doğru şekilde bildirilmesi gerekir. Bu bildirim eksik olduğunda "rss üzerinde Apple Podcasts ad alanını bildirin: ‹namespace›" hatası ile karşılaşılır. Son olarak, standart bir RSS akışı hiyerarşik olarak tam olarak bir doğrudan alt <channel> öğesi içermelidir. Birden fazla kanal öğesi tespit edilirse, "RSS tam olarak bir doğrudan alt <channel> öğesi içermelidir; ‹count› tane bulundu." hatası tetiklenir.
Kanal ve Bölüm Düzeyinde Zorunlu Alanlar
Bir podcast kanalının ve bu kanala ait bölümlerin istemciler tarafından doğru işlenebilmesi için belirli meta veri alanlarının bulunması şarttır. Gerekli alanlardan biri eksik olduğunda sistem doğrudan "Gerekli ‹field›'yi ekleyin." hatasını verir. Kanal ve bölüm düzeyindeki bağlantıların ve görsellerin doğruluğu da bu aşamada kontrol edilir:
- Bağlantı Doğrulaması: Akış içindeki yönlendirme bağlantılarının geçerli bir yapıda olması gerekir. Geçersiz bağlantılar için "
‹field›, tam bir HTTP veya HTTPS URL'si olmalıdır." uyarısı verilir. - Görsel Kaynakları: Kanal veya bölüm görsellerinin adresleri kontrol edilir. Hatalı durumlarda "itunes:image href'yi tam bir HTTP veya HTTPS URL'sine ayarlayın." hatası gösterilir.
- Kategoriler: Podcast'in türünü belirten kategori etiketlerinin içi boş bırakılamaz. Geçersiz tanımlamalarda "itunes:category'ye boş olmayan bir text niteliği ekleyin." uyarısı üretilir.
- Explicit (Uygunsuz İçerik) Etiketi: İçeriğin yetişkinlere yönelik olup olmadığını belirten
<itunes:explicit>etiketi yalnızca iki değer alabilir. Bu değer "true" veya "false" olarak ayarlanmalıdır. - Bölüm Sayısı: Yayına hazır bir podcast kanalının boş olmaması gerekir. Eğer akışta hiç bölüm tanımlanmamışsa "Kanala en az bir <item> bölümü ekleyin." uyarısı verilir.
- Seri Şovlar: Eğer podcast yapısı sıralı (serial) olarak kurgulanmışsa, bölümlerin takibi için sayısal bir sıra bulunmalıdır. Seri şovların her bölüm için pozitif bir itunes:episode tamsayısına ihtiyacı vardır.
Ses Dosyası ve Enclosure Özniteliklerinin Kontrolü
Podcast bölümlerinin temelini oluşturan ses dosyaları, RSS içinde <enclosure> etiketiyle taşınır. Her bir bölümün (item) içinde tam olarak bir adet <enclosure> bulunmalıdır. Eğer bir bölümde birden fazla dosya tanımlanmışsa "Bu bölümde tam olarak bir <enclosure> bulundurun; ‹count›'yi buldu." hatası oluşur.
<enclosure> etiketinin taşıması gereken zorunlu öznitelikler (attributes) vardır. Bunlardan biri eksik olduğunda "Gerekli ‹attribute› özniteliğini <enclosure>'ye ekleyin." uyarısı verilir. Doğrulayıcı, bu öznitelikleri şu kurallara göre denetler:
| Öznitelik | Kontrol Kuralı | Hata / Uyarı Mesajı |
|---|---|---|
| url | Tam ve geçerli bir HTTP/HTTPS adresi olmalıdır. | <enclosure> öğesinin url niteliğini tam bir HTTP veya HTTPS URL’sine ayarlayın. |
| length | Dosya boyutu tam sayı bayt cinsinden yazılmalıdır. | <enclosure> öğesinin length niteliğini tam sayı bayt değerine ayarlayın. |
| length (0 değeri) | Değerin 0 olması yayıncılık hatasına işaret eder. | <enclosure> öğesinin length niteliği 0. Yayınlamadan önce gerçek bayt sayısını doğrulayın. |
| type | Geçerli bir MIME türü (örneğin audio/mpeg) girilmelidir. | audio/mpeg gibi geçerli bir MIME türü kullanın. |
Ses dosyası kontrollerinde MIME türü ile dosya uzantısının uyumu da incelenir. Eğer dosya uzantısı ile belirtilen MIME türü uyuşmuyorsa "Medya dosya adı ve MIME türü uyuşmuyor (‹extension› ve ‹mime›)." uyarısı verilir. Ayrıca, dosya türü ses dışı bir formatı işaret ediyorsa "Bu <enclosure> ses olarak işaretlenmemiş. Bölümün bilerek video veya belge olarak yayınlandığını doğrulayın." uyarısı tetiklenir. Akış içinde aynı ses dosyasının mükerrer kullanımını engellemek adına, "Bu <enclosure> URL’si, ‹first›. satırdaki değeri yineliyor." denetimi de yapılır.
Tarih Formatı (RFC 2822) ve Bölüm Sınırları
Podcast uygulamalarının bölümleri doğru kronolojik sırayla dizebilmesi ve yeni bölümleri zamanında yayınlayabilmesi için yayın tarihlerinin standartlara uygun olması gerekir. Bölümlerde yayın tarihi eksik olduğunda "Podcast uygulamalarının bölümü doğru sıralayıp yayınlayabilmesi için <pubDate> ekleyin." uyarısı gösterilir.
Tarih formatı kesinlikle RFC 2822 standardına uygun olmalıdır. Geçersiz tarih formatlarında sistem şu hatayı döndürür: "Gerçek takvim tarihi ve saat dilimine sahip bir RFC 2822 tarihi kullanın; örneğin: Sat, 01 Apr 2023 19:00:00 +0000."
Saat dilimi tanımlanırken sayısal uzaklıkların kullanılması taşınabilirlik açısından önemlidir. Adlandırılmış saat dilimleri (örneğin EST, GMT) kullanıldığında sistem "Bu adlandırılmış saat dilimi kabul edilir ancak daha az taşınabilir; +0000 gibi sayısal bir uzaklığı tercih edin." uyarısını verir.
Ayrıca, akışın genel boyutu ve bölüm sayısı da platform sınırları açısından taranır. Çok fazla bölüme sahip akışlar için "Bu akışta ‹count› bölüm var; Apple Podcasts yalnızca en yeni 2.000 bölümü gösterir." uyarısı verilerek yayıncılar bilgilendirilir. Her bölümün benzersiz bir kimliğe (GUID) sahip olması gerektiğinden, yinelenen kimlikler için "Bu GUID, ‹first› satırındaki değeri tekrarlar." hatası basılır.
Hata Mesajlarını Yorumlama ve Hata Ayıklama
Podcast RSS Doğrulayıcı, analiz sonrasında tespit edilen sorunları "Akış tanısı" başlığı altında listeler. Sonuç ekranında toplam kaç sorun olduğu "‹count› hata" ve "‹count› uyarı" şeklinde gösterilir. Ayrıca akışta tespit edilen toplam bölüm sayısı da "‹count› bölüm" ifadesiyle belirtilir.
Hataların XML dosyası içinde kolayca bulunabilmesi için her sorunun yanında tam konumu "‹line› satırı, ‹column› sütunu" şeklinde belirtilir. Doğrulayıcı, hatanın kaynağına doğrudan ulaşabilmeniz için XPath benzeri bir yol sunar ve bunu "Düzeltme: ‹path›" etiketiyle gösterir. Kullanıcılar, doğrudan ilgili satıra odaklanmak için "‹line› satırında ‹path›'ye gidin" bağlantısını kullanabilirler. Çok fazla hata içeren büyük dosyalarda liste sınırlandırılabilir; bu durumda "Toplam ‹total› sorunun ilk ‹shown› tanesi gösteriliyor." bilgisi verilir.
Eğer akışta hiçbir hata veya uyarı bulunamazsa ekranda "Yapısal sorun bulunamadı." mesajı belirir. Sorun bulunması durumunda ise "‹errors› hata ve ‹warnings› uyarı bulundu." özeti gösterilir.
Gizlilik ve İşlem Sınırları
Podcast RSS Doğrulayıcı, gizlilik odaklı bir çalışma prensibine sahiptir. Podcast akışınız tarayıcınızda kontrol edilir. BroBroGo hiçbir şeyi yüklemez veya kaydetmez. Tüm analiz işlemleri yerel olarak tarayıcı üzerinde gerçekleştirilir.
Doğrulama aracının teknik sınırları ve çalışma kuralları şunlardır:
- Karakter Sınırı: Araç, tek seferde en fazla 500.000 karaktere kadar olan XML verilerini kabul eder. Bu sınır aşıldığında "Bu araç her kontrolde en fazla
‹max›karakter kabul eder." uyarısı verilir. - Zaman Aşımı: Analiz işleminin çok uzun sürmesi durumunda "Doğrulama çok uzun sürdü. Daha küçük bir akış deneyin." mesajı gösterilir.
- Tamamlanamayan İşlemler: Beklenmedik bir hata nedeniyle analiz yarıda kalırsa "Doğrulama tamamlanamadı." uyarısı basılır.
- Boş Giriş: Herhangi bir veri yapıştırılmadan doğrulama başlatılmak istendiğinde "Doğrulamadan önce Podcast RSS XML'yi yapıştırın." uyarısı gösterilir.
- DOCTYPE Kısıtlaması: XML içinde DOCTYPE bildirimi yer alıyorsa güvenlik ve standartlar gereği "Bu feed'yi kontrol etmeden önce DOCTYPE bildirimini kaldırın." hatası verilir.
- Bozuk XML: XML yapısının temel kurallara uymaması ve ayrıştırılamaması durumunda "Arızalı XML'yi düzeltin ve tekrar doğrulayın." hatası ile birlikte "Ayrıştırıcı ayrıntısı:
‹detail›" teknik açıklaması sunulur.
Bu araç statik bir yapı kontrolüdür. Akış, kapak ve medya URL’leri açılmaz; erişilebilirliği, bayt sayısını, sesin çözülebilmesini ve dizin kabulünü ayrıca doğrulamanız gerekir.
Sıkça Sorulan Sorular
Bu Podcast RSS Doğrulayıcı neyi kontrol ediyor?
RSS 2.0 XML’in düzgün oluşturulup oluşturulmadığını, zorunlu RSS ve yaygın Apple Podcasts alanlarını, <enclosure> niteliklerini, yinelenen değerleri ve RFC 2822 tarihlerini kontrol eder.
Ses dosyasını test ediyor mu?
<enclosure> URL’sini, bayt sayısını, MIME türünü, URL’nin benzersizliğini ve dosya adıyla türün uyumunu kontrol eder. Ses dosyasını indirmez veya çözmez.
Geçen bir feed her yerde kabul edilecek mi?
Hayır. Podcast uygulamaları ve dizinleri ek kurallar ve uzaktan kontroller uygulayabilir. Başarılı sonuç yalnızca yapıştırılan XML’in burada gösterilen statik kontrolleri geçtiğini belirtir.
Doğrulama işlemi sırasında verilerim sunucuya gönderilir mi?
Hayır. Podcast akışınız tamamen kendi tarayıcınızda kontrol edilir. BroBroGo hiçbir veriyi sunucularına yüklemez veya kaydetmez.