Foegje in eksterne podcastfeed ta oan de feeds fan jo WordPress-side

WordPress Podcast Feedfunksjes

In populêre podcast online brûkt WordPress as har publikaasjeplatfoarm foar de ynformaasje oer har podcast en ek in ton ynformaasje publisearje oer elke show. Se host lykwols de podcast sels op in eksterne podcast-hostingmotor. It is frij seamless foar de besikers fan 'e side - mar mist ien funksje dy't ûnsichtber is foar brûkers, mar sichtber is foar crawlers lykas Google.

Google spesifisearret dit yn har stipe:

Boppedat, as jo jo RSS-feed assosjearje mei in thússide, kinne brûkers dy't jo podcast op namme sykje, in beskriuwing krije fan jo podcast en ek in karrousel fan ôfleveringen foar jo show op Google Search. As jo ​​gjin keppele thússide leverje, as Google jo thússide net kin riede, kinne jo ôfleveringen noch ferskine yn Google sykresultaten, mar allinich groepeare mei ôfleveringen fan oare podcasts oer itselde ûnderwerp.

Google - Krij jo podcast op Google

 Mei de twa assosjeare kinne jo in leuke dekking krije yn Google:

Podcasts op Google SERP

It crawlen fan 'e side lit in feed fan blogpost iepenje, mar net de eigentlike podcast feed - dat ekstern wurdt hosted. It bedriuw wol har hjoeddeistige blogfeed behâlde, dus wolle wy in ekstra feed tafoegje oan 'e side. Hjir is hoe:

  1. Wy moatte kodearje a nije feed binnen har WordPress-tema.
  2. Wy moatte helje en publisearje de eksterne podcastfeed yn dat nije feed.
  3. Wy moatte foegje in kepling ta yn 'e holle fan 'e WordPress-side dy't de nije feed-URL werjaan.
  4. Bonus: Wy moatte de nije podcast-feed-URL opromje, sadat wy net ôfhinklik binne fan querystrings en kinne skriuw it paad oer yn in moaie URL.

Hoe kinne jo in nije feed tafoegje oan WordPress

Binnen jo tema's of (heul oanrikkemandearre) funksjes.php-bestân fan berntema wolle jo de nije feed tafoegje en WordPress fertelle hoe't jo it bouwe. Ien opmerking hjiroer ... it sil de nije feed publisearje op https://yoursite.com/?feed=podcast

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

Untfang in eksterne podcastfeed en publisearje it yn in WordPress-feed

Wy fertelden WordPress dat wy de podcast mei renderje soene render_podcast_feed, dus wolle wy no de eksterne feed ophelje (oanjûn as https: //yourexternalpodcast.com/feed/ yn 'e ûndersteande funksje en duplisearje it binnen WordPress op' e tiid fan it fersyk. Ien noat ... WordPress sil it antwurd yn 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;
} 

Herskriuw jo nije feed nei in moaie URL

Hjir is in bytsje bonus. Unthâld hoe't de feed wurdt publisearre mei in querystring? Wy kinne in omskriuwregel tafoegje oan functions.php om dat út te ruiljen mei in moaie URL:

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' );

No wurdt de nije feed publisearre op https://yoursite.com/feed/podcast/

Foegje in keppeling ta oan 'e feed yn jo holle

De lêste stap is dat jo in keppeling taheakje wolle binnen de kop-tags fan jo WordPress-side, sadat crawlers it kinne fine. Yn dit gefal wolle wy de feed sels oanwize as de earste dy't wurdt neamd (boppe it blog- en kommentaarfeeds), dus foegje wy in prioriteit ta fan 1. Jo wolle de titel ek bywurkje yn 'e keppeling en soargje dat it net komt net oerien mei de titel fan in oare feed op 'e side:

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);

Jo nije WordPress Podcast Feed

It aardige fan dizze metoade is dat wy alle feroarings binnen it sidetema sels kinne befetsje ... gjin ekstra sjabloanbestannen of bewurkjen fan kopteksten, ensfh. In pear wichtige details:

  • Permalinks - As jo ​​de koade ienris tafoegje oan functions.php, moatte jo Ynstellings> Permalinks yn WordPress-admin iepenje. Dat sil jo permalinkregels ferfarskje, sadat de koade dy't wy tafoege hawwe foar de omskriuwing no wurdt ymplementeare.
  • Feiligens - As jo ​​side SSL is en jo podcast-feed net is, sille jo problemen krije mei mingde befeiliging. Ik soe it sterk oanbefelje om te soargjen dat sawol jo side as jo podcasthosting feilich wurdt hosted (op in https adres sûnder flaters).
  • Syndikaasje - Ik soe it heul advisearje om dizze domeinspesifike podcast-feed te brûken om te syndicate nei Google, Apple, Spotify en elke oare tsjinst. It foardiel hjir is dat jo jo podcast-host no kinne wizigje as jo wolle en hoege de boarne-feed fan elke tsjinst net te aktualisearje.
  • analytics - Ik soe persoanlik oanrikkemandearje in tsjinst lykas FeedPress wêr jo jo feed kinne oanpasse en wat sintralisearre folgjen op it gebrûk krije dan wat in protte tsjinsten leverje. FeedPress lit jo ek publisearjen automatysk automatisearje nei jo sosjale kanalen, in heul coole funksje!

Wolle jo sjen oft it wurket? Jo kinne de Cast Feed Validator om de feed te ferifiearjen!

3 Comments

  1. 1

    It naam my 2 1/2 dagen sykjen op it net om wat te finen dat ik tocht dat elke WordPress podcaster dwaan wol - host de RSS-feed foar har podcast fan 'e tredde partij op har WordPress-side.

    Tankewol dus! Fansels ropt jo artikel de fraach: wêrom is dit net al in WordPress-plugin? De tichtste dy't ik fûn wie WP RSS Aggregator, mar it herskreau de XML folslein en bruts de RSS.

  2. 2

    Hi
    Ik haw myn WordPress-side ynsteld om myn RSS krekt wer te publisearjen lykas werjûn, en it wurket goed, it is geweldich om it sels te kontrolearjen en in grutte stap út it podcastproses te nimmen.

    Ik haw lykwols in fraach, fanwegen de manier wêrop myn podcasting-host de RSS XML produseart - it genereart automatysk in weblink foar elke ôflevering dy't wiist op de HTML-pagina op 'e freebie-webside fan' e podcasting host dy't ik net brûke.

    Iets as <rss2><channel><item><link></link> as de markdown wurket. Of "rss2> kanaal> item> keppeling"

    Apple Podcast brûkt dizze XML-gegevens om in grutte keppeling op har side foar elke ôflevering te werjaan. Mar ik brûk dy freebie-webside net fan myn podcasting-host (Podbeans). Ik haw it nedich om te wizen op myn eigen webside - wêr't de RSS-feed dy't ik kontrolearje wurdt hoste.

    Tinke jo dat it mooglik is de ynkommende XML te manipulearjen om de keppelings dêryn te feroarjen fan podbeans.com nei my-website.com?

    • 3

      It is mooglik dit te dwaan, mar jo moatte ek koade skriuwe om de werklike hostearre bestannen oan te freegjen (lykas de MP3). Ik soe dit earlik net dwaan, om't de measte webhosts net binne optimalisearre foar de grutte bestânsdownloads dy't nedich binne mei podcasts.

Wat tinksto?

Dizze side brûkt Akismet om spam te ferleegjen. Learje hoe't jo kommentaargegevens ferwurke wurde.