<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Melih</title>
    <description>The latest articles on DEV Community by Melih (@melkosa).</description>
    <link>https://dev.to/melkosa</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3943882%2F51282fda-9a23-49c8-a955-066ff441bf11.jpg</url>
      <title>DEV Community: Melih</title>
      <link>https://dev.to/melkosa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/melkosa"/>
    <language>en</language>
    <item>
      <title>Canlı TV Yayın Siteleri için Schema.org BroadcastService Implementasyonu</title>
      <dc:creator>Melih</dc:creator>
      <pubDate>Thu, 21 May 2026 17:04:50 +0000</pubDate>
      <link>https://dev.to/melkosa/canli-tv-yayin-siteleri-icin-schemaorg-broadcastservice-implementasyonu-11ma</link>
      <guid>https://dev.to/melkosa/canli-tv-yayin-siteleri-icin-schemaorg-broadcastservice-implementasyonu-11ma</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hikayenin Başlangıcı&lt;/strong&gt;&lt;br&gt;
Geçtiğimiz aylarda Türkiye'deki bir canlı TV streaming sitesi olan kiraztv.com üzerinde teknik bir SEO denetimi yaparken, ilk bakışta her şey yolunda görünüyordu. WordPress, Rank Math SEO eklentisi, temiz URL yapısı, hızlı sunucu (TTFB 300ms civarı), responsive tasarım… Klasik bir "iyi yapılandırılmış" WordPress sitesi.&lt;br&gt;
Ancak Chrome DevTools'u açıp document.querySelectorAll('script[type="application/ld+json"]').length yazdığımda gelen sonuç beni şaşırttı:&lt;br&gt;
0&lt;br&gt;
110'dan fazla kanal sayfasının HİÇBİRİNDE yapısal veri yoktu.&lt;br&gt;
Bu yazıda, canlı TV ve yayın siteleri için en kritik schema'ları nasıl uyguladığımı, hangi çözümün hangi probleme cevap olduğunu ve 2026'da AI Overviews / Search Generative Experience (SGE) çağında bunların neden hayati olduğunu paylaşacağım.&lt;br&gt;
Neden BroadcastService? Neden Şimdi?&lt;br&gt;
Google 2024'ten itibaren arama sonuçlarına AI Overviews getirdi. Bu sistem, yapısal verisi zengin sayfaları belirgin biçimde tercih ediyor. Özellikle:&lt;br&gt;
• "X kanalı canlı izle" tipi sorgular&lt;br&gt;
• "X kanalı frekansı" tipi soru-cevap sorguları&lt;br&gt;
• Knowledge Panel ve Entity-based sonuçlar&lt;br&gt;
Bunlarda öne çıkmak için sıradan Article schema'sı yetmiyor. TV ve yayın siteleri için Schema.org'un sunduğu özel tipleri kullanmak gerekiyor:&lt;br&gt;
Schema  Ne işe yarar&lt;br&gt;
TelevisionChannel   Kanalın kendisini tanımlar (logo, dil, yayıncı)&lt;br&gt;
BroadcastService    Yayın hizmetini tanımlar (frekans, format, dağıtım)&lt;br&gt;
BroadcastEvent  Canlı yayın olayını tanımlar (LIVE badge için)&lt;br&gt;
VideoObject Player'ı tanımlar (thumbnail, süre, embed)&lt;br&gt;
FAQPage Sık Sorulan Sorular için (zengin sonuç)&lt;br&gt;
BreadcrumbList  Site içi navigasyon yolu&lt;br&gt;
Bunların hepsini doğru şekilde implemente ettiğimde, Google Search Console'daki "Discovered – currently not indexed" uyarısı 3 hafta içinde dramatik biçimde azaldı ve organik tıklama oranı (CTR) bazı sayfalarda iki katına çıktı.&lt;br&gt;
Şimdi nasıl yapıldığını adım adım göstereyim.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Adım: TelevisionChannel + BroadcastService Schema&lt;/strong&gt;&lt;br&gt;
Her kanal sayfası için temel schema şu şekilde olmalı:&lt;br&gt;
&lt;code&gt;{&lt;br&gt;
  "@context": "https://schema.org",&lt;br&gt;
  "@type": "TelevisionChannel",&lt;br&gt;
  "name": "ATV",&lt;br&gt;
  "alternateName": "atv",&lt;br&gt;
  "url": "https://example.com/canlitv/atv/",&lt;br&gt;
  "logo": "https://example.com/uploads/atv.jpg",&lt;br&gt;
  "broadcastChannelId": "ATV-HD",&lt;br&gt;
  "inBroadcastLineup": {&lt;br&gt;
    "@type": "CableOrSatelliteService",&lt;br&gt;
    "name": "Türksat 4A"&lt;br&gt;
  },&lt;br&gt;
  "providesBroadcastService": {&lt;br&gt;
    "@type": "BroadcastService",&lt;br&gt;
    "name": "ATV Canlı Yayın",&lt;br&gt;
    "broadcastDisplayName": "ATV",&lt;br&gt;
    "broadcaster": {&lt;br&gt;
      "@type": "Organization",&lt;br&gt;
      "name": "Turkuvaz Medya Grubu",&lt;br&gt;
      "url": "https://www.turkuvazmedya.com/"&lt;br&gt;
    },&lt;br&gt;
    "inLanguage": "tr",&lt;br&gt;
    "videoFormat": "HD",&lt;br&gt;
    "broadcastFrequency": {&lt;br&gt;
      "@type": "BroadcastFrequencySpecification",&lt;br&gt;
      "broadcastFrequencyValue": 12053,&lt;br&gt;
      "broadcastSignalModulation": "DVB-S",&lt;br&gt;
      "broadcastSubChannel": "H"&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/code&gt;&lt;br&gt;
WordPress'te Bu Schema'yı Otomatik Üretmek&lt;br&gt;
Her kanal için manuel JSON-LD yazmak 110 sayfada delilik olur. Custom Post Type meta alanlarından otomatik üretim yapan bir fonksiyon yazdım. functions.php'ye veya kendi eklentinize ekleyebilirsiniz:&lt;br&gt;
add_action( 'wp_head', 'kanal_schema_olustur', 99 );&lt;/p&gt;

&lt;p&gt;function kanal_schema_olustur() {&lt;br&gt;
    if ( ! is_singular( 'canlitv' ) ) {&lt;br&gt;
        return;&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$post_id     = get_the_ID();
$kanal_adi   = get_the_title( $post_id );
$url         = get_permalink( $post_id );
$logo        = get_the_post_thumbnail_url( $post_id, 'full' );
$yayinci     = get_post_meta( $post_id, 'yayinci_kurulus', true );
$frekans     = get_post_meta( $post_id, 'turksat_frekans', true );
$dil         = get_post_meta( $post_id, 'yayin_dili', true ) ?: 'tr';
$format      = get_post_meta( $post_id, 'yayin_formati', true ) ?: 'HD';

$schema = [
    '@context' =&amp;gt; 'https://schema.org',
    '@type'    =&amp;gt; 'TelevisionChannel',
    'name'     =&amp;gt; $kanal_adi,
    'url'      =&amp;gt; $url,
    'logo'     =&amp;gt; $logo,
    'providesBroadcastService' =&amp;gt; [
        '@type'                =&amp;gt; 'BroadcastService',
        'name'                 =&amp;gt; $kanal_adi . ' Canlı Yayın',
        'broadcastDisplayName' =&amp;gt; $kanal_adi,
        'inLanguage'           =&amp;gt; $dil,
        'videoFormat'          =&amp;gt; $format,
        'broadcaster'          =&amp;gt; [
            '@type' =&amp;gt; 'Organization',
            'name'  =&amp;gt; $yayinci,
        ],
    ],
];

if ( $frekans ) {
    $schema['providesBroadcastService']['broadcastFrequency'] = [
        '@type'                        =&amp;gt; 'BroadcastFrequencySpecification',
        'broadcastFrequencyValue'      =&amp;gt; (int) $frekans,
        'broadcastSignalModulation'    =&amp;gt; 'DVB-S',
    ];
}

echo '&amp;lt;script type="application/ld+json"&amp;gt;';
echo wp_json_encode( $schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE );
echo '&amp;lt;/script&amp;gt;';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
Custom Post Type meta alanlarını ACF (Advanced Custom Fields) veya Meta Box ile kolayca yönetebilirsiniz. Her yeni kanal eklendiğinde editör frekansı, yayıncıyı, dili girer ve schema otomatik üretilir.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Adım: BroadcastEvent ile "LIVE" Badge&lt;/strong&gt;&lt;br&gt;
Google'ın canlı yayınlar için arama sonuçlarında gösterdiği o güzel kırmızı LIVE rozeti var ya — onu almak için BroadcastEvent şart:&lt;br&gt;
{&lt;br&gt;
  "&lt;a class="mentioned-user" href="https://dev.to/context"&gt;@context&lt;/a&gt;": "&lt;a href="https://schema.org" rel="noopener noreferrer"&gt;https://schema.org&lt;/a&gt;",&lt;br&gt;
  "@type": "BroadcastEvent",&lt;br&gt;
  "name": "ATV Canlı Yayın",&lt;br&gt;
  "isLiveBroadcast": true,&lt;br&gt;
  "startDate": "2026-05-20T00:00:00+03:00",&lt;br&gt;
  "endDate": "2026-05-21T00:00:00+03:00",&lt;br&gt;
  "videoFormat": "HD",&lt;br&gt;
  "broadcastOfEvent": {&lt;br&gt;
    "@type": "Event",&lt;br&gt;
    "name": "ATV Günlük Yayın Akışı"&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
startDate ve endDate dinamik olmalı. Yine WordPress fonksiyonuyla:&lt;br&gt;
function broadcast_event_schema() {&lt;br&gt;
    if ( ! is_singular( 'canlitv' ) ) return;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$bugun       = current_time( 'Y-m-d' );
$yarin       = date( 'Y-m-d', strtotime( $bugun . ' +1 day' ) );
$kanal_adi   = get_the_title();

$schema = [
    '@context'        =&amp;gt; 'https://schema.org',
    '@type'           =&amp;gt; 'BroadcastEvent',
    'name'            =&amp;gt; $kanal_adi . ' Canlı Yayın',
    'isLiveBroadcast' =&amp;gt; true,
    'startDate'       =&amp;gt; $bugun . 'T00:00:00+03:00',
    'endDate'         =&amp;gt; $yarin . 'T00:00:00+03:00',
    'videoFormat'     =&amp;gt; 'HD',
];

echo '&amp;lt;script type="application/ld+json"&amp;gt;';
echo wp_json_encode( $schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE );
echo '&amp;lt;/script&amp;gt;';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
add_action( 'wp_head', 'broadcast_event_schema', 100 );&lt;br&gt;
İpucu: isLiveBroadcast: true Google'a "bu yayın şu an canlı" sinyali verir. Eğer 7/24 yayın yapan bir kanalsa endDate her gün otomatik 1 gün ileri kayar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Adım: VideoObject ile Player'ı Tanımla&lt;/strong&gt;&lt;br&gt;
Eğer sayfanızda gömülü bir player varsa (HLS.js, Video.js, JW Player vs.), Google'a bu video hakkında bilgi vermeniz lazım:&lt;br&gt;
{&lt;br&gt;
  "&lt;a class="mentioned-user" href="https://dev.to/context"&gt;@context&lt;/a&gt;": "&lt;a href="https://schema.org" rel="noopener noreferrer"&gt;https://schema.org&lt;/a&gt;",&lt;br&gt;
  "@type": "VideoObject",&lt;br&gt;
  "name": "ATV Canlı Yayını HD izle",&lt;br&gt;
  "description": "ATV canlı yayını kesintisiz HD kalitede izleyin.",&lt;br&gt;
  "thumbnailUrl": "&lt;a href="https://example.com/uploads/atv.jpg" rel="noopener noreferrer"&gt;https://example.com/uploads/atv.jpg&lt;/a&gt;",&lt;br&gt;
  "uploadDate": "2026-03-01T00:00:00+03:00",&lt;br&gt;
  "contentUrl": "&lt;a href="https://example.com/canlitv/atv/" rel="noopener noreferrer"&gt;https://example.com/canlitv/atv/&lt;/a&gt;",&lt;br&gt;
  "embedUrl": "&lt;a href="https://example.com/canlitv/atv/?embed=1" rel="noopener noreferrer"&gt;https://example.com/canlitv/atv/?embed=1&lt;/a&gt;",&lt;br&gt;
  "publication": {&lt;br&gt;
    "@type": "BroadcastEvent",&lt;br&gt;
    "isLiveBroadcast": true,&lt;br&gt;
    "startDate": "2026-05-20T00:00:00+03:00"&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
Önemli: thumbnailUrl mutlaka gerçek, erişilebilir ve en az 60×30 piksel olmalı. Google bu görseli arama sonuçlarında küçük önizleme olarak gösterir.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Adım: FAQPage Schema (En Büyük Kazanç)&lt;/strong&gt;&lt;br&gt;
Sayfanızda 5+ Sık Sorulan Soru varsa, FAQPage schema organik CTR'ı %20-50 artırabilir. Bu, denetimini yaptığım sitedeki en büyük kaçırılmış fırsattı.&lt;br&gt;
{&lt;br&gt;
  "&lt;a class="mentioned-user" href="https://dev.to/context"&gt;@context&lt;/a&gt;": "&lt;a href="https://schema.org" rel="noopener noreferrer"&gt;https://schema.org&lt;/a&gt;",&lt;br&gt;
  "@type": "FAQPage",&lt;br&gt;
  "mainEntity": [&lt;br&gt;
    {&lt;br&gt;
      "@type": "Question",&lt;br&gt;
      "name": "ATV ne zaman kuruldu?",&lt;br&gt;
      "acceptedAnswer": {&lt;br&gt;
        "@type": "Answer",&lt;br&gt;
        "text": "ATV, 12 Temmuz 1993 tarihinde Sabah Grubu bünyesinde yayın hayatına başladı."&lt;br&gt;
      }&lt;br&gt;
    },&lt;br&gt;
    {&lt;br&gt;
      "@type": "Question",&lt;br&gt;
      "name": "ATV Türksat frekansı nedir?",&lt;br&gt;
      "acceptedAnswer": {&lt;br&gt;
        "@type": "Answer",&lt;br&gt;
        "text": "Türksat 4A üzerinden 12053 H 27500 - FEC 5/6 frekansı kullanılmaktadır."&lt;br&gt;
      }&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
WordPress'te FAQ bloklarını ACF Repeater alanından üretip otomatik schema'ya çevirmek:&lt;br&gt;
function faq_schema_olustur() {&lt;br&gt;
    if ( ! is_singular( 'canlitv' ) ) return;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$sorular = get_field( 'sss_listesi' );
if ( empty( $sorular ) ) return;

$main_entity = [];
foreach ( $sorular as $satir ) {
    $main_entity[] = [
        '@type' =&amp;gt; 'Question',
        'name'  =&amp;gt; $satir['soru'],
        'acceptedAnswer' =&amp;gt; [
            '@type' =&amp;gt; 'Answer',
            'text'  =&amp;gt; wp_strip_all_tags( $satir['cevap'] ),
        ],
    ];
}

$schema = [
    '@context'   =&amp;gt; 'https://schema.org',
    '@type'      =&amp;gt; 'FAQPage',
    'mainEntity' =&amp;gt; $main_entity,
];

echo '&amp;lt;script type="application/ld+json"&amp;gt;';
echo wp_json_encode( $schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE );
echo '&amp;lt;/script&amp;gt;';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
add_action( 'wp_head', 'faq_schema_olustur', 101 );&lt;br&gt;
2024 Güncellemesi: Google FAQ rich results'ı bazı bölgelerde kısıtladı, ancak Türkiye'de hâlâ aktif. Ayrıca AI Overviews FAQ schema'sını kaynak olarak hâlâ tercih ediyor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Adım: BreadcrumbList — Navigasyon Yolu&lt;/strong&gt;&lt;br&gt;
Kullanıcının hangi yoldan geldiğini Google'a göstermek için:&lt;br&gt;
{&lt;br&gt;
  "&lt;a class="mentioned-user" href="https://dev.to/context"&gt;@context&lt;/a&gt;": "&lt;a href="https://schema.org" rel="noopener noreferrer"&gt;https://schema.org&lt;/a&gt;",&lt;br&gt;
  "@type": "BreadcrumbList",&lt;br&gt;
  "itemListElement": [&lt;br&gt;
    {&lt;br&gt;
      "@type": "ListItem",&lt;br&gt;
      "position": 1,&lt;br&gt;
      "name": "Ana Sayfa",&lt;br&gt;
      "item": "&lt;a href="https://example.com/" rel="noopener noreferrer"&gt;https://example.com/&lt;/a&gt;"&lt;br&gt;
    },&lt;br&gt;
    {&lt;br&gt;
      "@type": "ListItem",&lt;br&gt;
      "position": 2,&lt;br&gt;
      "name": "Ulusal",&lt;br&gt;
      "item": "&lt;a href="https://example.com/kanal-kategorisi/ulusal/" rel="noopener noreferrer"&gt;https://example.com/kanal-kategorisi/ulusal/&lt;/a&gt;"&lt;br&gt;
    },&lt;br&gt;
    {&lt;br&gt;
      "@type": "ListItem",&lt;br&gt;
      "position": 3,&lt;br&gt;
      "name": "ATV",&lt;br&gt;
      "item": "&lt;a href="https://example.com/canlitv/atv/" rel="noopener noreferrer"&gt;https://example.com/canlitv/atv/&lt;/a&gt;"&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
Bu, arama sonuçlarında URL yerine güzel bir "Ana Sayfa &amp;gt; Ulusal &amp;gt; ATV" yolunun çıkmasını sağlar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test ve Doğrulama&lt;/strong&gt;&lt;br&gt;
Tüm bunları yazdıktan sonra mutlaka iki yerden test edin:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Google Rich Results Test:
&lt;a href="https://search.google.com/test/rich-results" rel="noopener noreferrer"&gt;https://search.google.com/test/rich-results&lt;/a&gt;
URL'yi yapıştırın, "Test URL" deyin. Hangi rich result'lara uygun olduğunu gösterir.&lt;/li&gt;
&lt;li&gt;Schema Markup Validator:
&lt;a href="https://validator.schema.org/" rel="noopener noreferrer"&gt;https://validator.schema.org/&lt;/a&gt;
Bu, schema'nızın syntax açısından doğru olup olmadığını kontrol eder.&lt;/li&gt;
&lt;li&gt;Chrome DevTools'tan hızlı kontrol:
// Sayfada kaç schema var?
document.querySelectorAll('script[type="application/ld+json"]').length&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;// Hepsini görüntüle&lt;br&gt;
Array.from(&lt;br&gt;
  document.querySelectorAll('script[type="application/ld+json"]')&lt;br&gt;
).map(s =&amp;gt; JSON.parse(s.textContent));&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sonuçlar — 3 Hafta Sonra&lt;/strong&gt;&lt;br&gt;
Metrik  Önce   Sonra   Değişim&lt;br&gt;
Indexlenen sayfa    38  109 +187%&lt;br&gt;
"Kanal adı canlı izle" CTR    %2.4    %4.8    +100%&lt;br&gt;
AI Overviews'ta görünme   0   12 sayfa    Yeni&lt;br&gt;
Rich Results uyumlu 0   108 Yeni&lt;br&gt;
Ortalama pozisyon   18.2    12.6    -5.6&lt;br&gt;
Not: Bu rakamlar Google Search Console verilerine dayanmaktadır. Sektörünüze ve rekabete göre değişebilir, ancak en azından doğru yönde bir hareket görmeyi kesinlikle garanti ediyor.&lt;br&gt;
Öğrendiklerim&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;WordPress sitelerinin %90'ında Custom Post Type'lar için schema yok. Rank Math, Yoast gibi eklentiler her CPT için otomatik özel schema üretmez. Sizin yazmanız gerekir.&lt;/li&gt;
&lt;li&gt;Schema, "varsa iyi olur" değil — 2026'da "olmazsa olmaz". AI Overviews ve SGE, yapısal veri olmadan içeriğinizi referans almaz. Trafiğinizin önemli bir kısmı buradan gelecek.&lt;/li&gt;
&lt;li&gt;JSON-LD &amp;gt; Microdata. Google bunu açıkça söylüyor: JSON-LD tercih edilir. Microdata ile HTML'inizi karıştırmayın, ayrı script bloğunda tutun.&lt;/li&gt;
&lt;li&gt;Tek doğru schema yok. Her sayfaya farklı schema'lar birlikte (multiple JSON-LD blocks) eklenebilir. Bir kanal sayfasında 5 ayrı schema bulunabilir: TelevisionChannel + BroadcastEvent + VideoObject + FAQPage + BreadcrumbList.&lt;/li&gt;
&lt;li&gt;Tarih alanlarını dinamik tutun. startDate gibi alanları PHP date() ile her sayfa yüklemesinde güncelleyin. Eski tarih = Google'a "bu sayfa güncel değil" sinyali.
Sıradaki Yazı
Bir sonraki yazıda Core Web Vitals optimizasyonu — özellikle 80+ görseli olan ve 10+ reklam iframe'i bulunan yoğun video sitelerinde LCP'yi 3 saniyenin altına çekmenin yollarını anlatacağım.
Sorularınızı, eklemelerinizi yorumlara yazabilirsiniz. Tartışmaya açığım — özellikle sizin sitelerinizde benzer schema implementasyonları nasıl gitti, hangi sorunlarla karşılaştınız?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Kullanılan Kaynaklar:&lt;br&gt;
• Schema.org — BroadcastService: &lt;a href="https://schema.org/BroadcastService" rel="noopener noreferrer"&gt;https://schema.org/BroadcastService&lt;/a&gt;&lt;br&gt;
• Schema.org — TelevisionChannel: &lt;a href="https://schema.org/TelevisionChannel" rel="noopener noreferrer"&gt;https://schema.org/TelevisionChannel&lt;/a&gt;&lt;br&gt;
• Schema.org — BroadcastEvent: &lt;a href="https://schema.org/BroadcastEvent" rel="noopener noreferrer"&gt;https://schema.org/BroadcastEvent&lt;/a&gt;&lt;br&gt;
• Google — Video Structured Data: &lt;a href="https://developers.google.com/search/docs/appearance/structured-data/video" rel="noopener noreferrer"&gt;https://developers.google.com/search/docs/appearance/structured-data/video&lt;/a&gt;&lt;br&gt;
• Google — FAQ Structured Data: &lt;a href="https://developers.google.com/search/docs/appearance/structured-data/faqpage" rel="noopener noreferrer"&gt;https://developers.google.com/search/docs/appearance/structured-data/faqpage&lt;/a&gt;&lt;br&gt;
• Örnek Çalışma: &lt;a href="https://kiraztv.com/" rel="noopener noreferrer"&gt;Canlı TV&lt;/a&gt;&lt;/p&gt;

</description>
      <category>canli</category>
      <category>tv</category>
      <category>broadcastservice</category>
      <category>schema</category>
    </item>
  </channel>
</rss>
