Adăugați un flux Podcast extern la fluxurile site-ului dvs. WordPress

Funcții WordPress Podcast Feed

Se folosește un podcast popular online WordPress ca platformă de publicare a informațiilor despre podcast-ul lor, precum și publicarea unei tone de informații despre fiecare emisiune. Cu toate acestea, ei găzduiesc propriu-zis podcastul pe un motor extern de găzduire a podcasturilor. Este destul de transparent pentru vizitatorii site-ului - dar nu are o caracteristică invizibilă pentru utilizatori, dar vizibilă pentru crawlerele precum Google.

Google specifică acest lucru în asistența lor:

În plus, dacă asociați fluxul RSS cu o pagină de pornire, utilizatorii care caută podcastul dvs. după nume pot obține o descriere a podcastului dvs., precum și un carusel de episoade pentru emisiunea dvs. în Căutarea Google. Dacă nu furnizați o pagină de pornire conectată sau Google nu vă poate ghici pagina de pornire, episoadele dvs. pot apărea în continuare în rezultatele Căutării Google, dar grupate numai cu episoade din alte podcast-uri pe același subiect.

Google - Obțineți podcastul dvs. pe Google

 Cu cele două asociate, puteți obține o acoperire plăcută în Google:

Podcast-uri pe Google SERP

Accesarea cu crawlere a site-ului dezvăluie un feed de postare pe blog, dar nu și actualul flux podcast - care este găzduit extern. Compania dorește să păstreze fluxul actual de blog, așa că dorim să adăugăm un feed suplimentar pe site. Iată cum:

  1. Trebuie să codificăm a feed nou în cadrul temei lor WordPress.
  2. Avem nevoie să preluați și publicați fluxul de podcast extern în noul feed.
  3. Avem nevoie să adăugați un link în cap a site-ului WordPress care afișează noua adresă URL a fluxului.
  4. Bonus: Trebuie să curățăm noua adresă URL a fluxului de podcast, astfel încât să nu trebuiască să depindem de șirurile de interogare și să putem rescrie calea într-un URL frumos.

Cum să adăugați un nou flux la WordPress

În cadrul temei sau al fișierului functions.php al temei copilului (foarte recomandat), veți dori să adăugați noul feed și să spuneți WordPress cum îl veți construi. O notă despre asta ... va publica noul feed la https://yoursite.com/?feed=podcast

function add_podcast_feed() {
    add_feed( 'podcast', 'render_podcast_feed' );
}
add_action( 'init', 'add_podcast_feed' );

Preluați un flux de podcast extern și publicați-l într-un flux WordPress

I-am spus WordPress că vom reda podcast-ul folosind render_podcast_feed, așa că dorim acum să preluăm fluxul extern (desemnat ca https: //yourexternalpodcast.com/feed/ în funcția de mai jos și copiați-o în WordPress în momentul solicitării. O notă ... WordPress va ascunde răspunsul în cache.

function render_podcast_feed() {
    header( 'Content-Type: application/rss+xml' );
    $podcast = 'https://yourexternalpodcast.com/feed/';
    
    $response = wp_remote_get( $podcast );
        try {
            $podcast_feed = $response['body'];

        } catch ( Exception $ex ) {
            $podcast_feed = null;
        } // end try/catch
 
    echo $podcast_feed;
} 

Rescrieți noul dvs. feed pe un URL frumos

Iată un pic de bonus. Vă amintiți cum se publică fluxul cu un șir de interogare? Putem adăuga o regulă de rescriere la functions.php pentru a schimba aceasta cu un URL frumos:

function podcast_feed_rewrite( $wp_rewrite ) {
    $feed_rules = array(
        'feed/podcast/' => 'index.php?feed=podcast'
    );

    $wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
}
add_filter( 'generate_rewrite_rules', 'podcast_feed_rewrite' );

Acum, noul feed este publicat la https://yoursite.com/feed/podcast/

Adăugați un link la fluxul din capul dvs.

Ultimul pas este că doriți să adăugați un link în etichetele principale ale site-ului dvs. WordPress, astfel încât crawlerele să îl poată găsi. În acest caz, dorim chiar să desemnăm fluxul ca fiind primul listat (deasupra fluxurilor de blog și comentarii), așa că adăugăm o prioritate de 1. Veți dori, de asemenea, să actualizați titlul din link și să vă asigurați că nu Nu se potrivește cu titlul altui feed pe site:

function add_podcast_link_head() {
    $podcast_link = site_url().'/feed/podcast/';
    ?>
    <link rel="alternate" type="application/rss+xml" title="My Podcast Name" href="<?php echo $podcast_link; ?>"/>
    <?php
}
add_action('wp_head', 'add_podcast_link_head', 1);

Noul tău feed Podcast WordPress

Interesantul acestei metode este că am reușit să conținem toate modificările din tema site-ului ... fără fișiere de șabloane suplimentare sau editare de anteturi, etc. Câteva detalii importante:

  • Permalinks - Odată ce ați adăugat codul la functions.php, va trebui să deschideți Setări> Legături permanente în administratorul WordPress. Aceasta vă va reîmprospăta regulile de permalink, astfel încât codul pe care l-am adăugat pentru rescriere să fie acum implementat.
  • Securitate - Dacă site-ul dvs. este SSL și fluxul de podcasturi nu, veți întâmpina probleme cu securitate mixtă. Aș recomanda cu fermitate să vă asigurați că atât site-ul dvs., cât și găzduirea podcasturilor dvs. sunt găzduite în siguranță (la un https adresa fără erori).
  • sindicare - Aș recomanda cu tărie să folosiți acest feed podcast specific domeniului pentru a vă conecta la Google, Apple, Spotify și orice alt serviciu. Avantajul aici este că acum puteți schimba gazda podcast-ului ori de câte ori doriți și nu va trebui să actualizați fluxul sursă al fiecărui serviciu.
  • Google Analytics - Aș recomanda personal să aveți un serviciu de genul Feedpress unde puteți să vă personalizați feedul și să obțineți o urmărire centralizată a utilizării acestuia dincolo de ceea ce oferă multe servicii. FeedPress vă permite, de asemenea, să automatizați publicarea pe canalele dvs. sociale, o caracteristică foarte interesantă!

Vrei să vezi dacă funcționează? Puteți utiliza Validator de alimentare pentru a verifica feedul!

4 Comentarii

  1. 1

    Mi-a luat 2 zile și jumătate de căutare pe net pentru a găsi ceva ce credeam că fiecare podcaster WordPress trebuie să-și dorească să facă – găzduiește fluxul RSS pentru podcast-ul lor găzduit de terți pe site-ul lor wordpress.

    Deci multumesc! Desigur, articolul dvs. ridică întrebarea: de ce acesta nu este deja un plugin WordPress? Cel mai apropiat pe care l-am găsit a fost WP RSS Aggregator, dar a rescris complet XML-ul și a spart RSS-ul.

  2. 2

    Acum configurez totul cu noul feed de la gazda mea (mulțumită fragmentelor de cod) Tocmai am descoperit că Validatorul de fluxuri de difuzare urăște RSS-ul meu și cade peste măsură – https://podba.se/validate/?url=https://carbonwatchdog.org/feed/podcast/

    Dar originalul de pe Podbean validează frumos. În mod frustrant, mesajul de eroare al validatorului nu spune mare lucru, cu excepția „Argh! Tocmai am murit!"

    RSS validează bine pe https://podba.se/validate/?url=https://carbonwatchdog.org/feed/podcast/

  3. 3

    Hi
    Mi-am configurat site-ul WordPress pentru a-mi republica RSS exact așa cum se arată și funcționează bine, este grozav să-l controlez singur și să fac un pas important din procesul de podcasting.

    Totuși, am o întrebare, din cauza modului în care gazda mea de podcasting produce RSS XML – generează automat un link web pentru fiecare episod care indică pagina HTML de pe site-ul web gratuit al gazdei de podcasting pe care nu o folosesc.

    Ceva asemănător cu <rss2><channel><item><link></link> dacă reducerea funcționează. Sau „rss2>canal>articol>link”

    Apple Podcast folosește aceste date XML pentru a afișa un link mare pe pagina sa pentru fiecare episod. Dar nu folosesc acel site web gratuit de la gazda mea de podcasting (Podbeans). Am nevoie ca acesta să indice propriul meu site web – unde este găzduit fluxul RSS pe care îl controlez.

    Crezi că este posibil să manipulezi XML-ul de intrare pentru a schimba linkurile din el de la podbeans.com la my-website.com?

    • 4

      Este posibil să faceți acest lucru, dar ar trebui, de asemenea, să scrieți cod pentru a solicita fișierele găzduite reale (cum ar fi MP3-ul). Sincer, nu aș face acest lucru, deoarece majoritatea gazdelor web nu sunt optimizate pentru descărcările de fișiere mari necesare cu podcasturi.

Ce părere ai?

Acest site folosește Akismet pentru a reduce spamul. Aflați cum sunt procesate datele despre comentarii.