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 oan 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 rendearje 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 de feed wurdt publisearre mei in querystring? Wy kinne in herschrijfregel 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 kopteksten 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), dat wy foegje in prioriteit ta fan 1. Jo wolle de titel ek bywurkje yn 'e keppeling en soargje dat it 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 hawwe mei mingde befeiliging. Ik soe it tige oanriede om te soargjen dat sawol jo side as jo podcast-hosting feilich hoste (op in https adres sûnder flaters).
  • Syndikaasje - Ik soe it heul advisearje om dizze domeinspesifike podcast-feed te brûken om te syndikearjen nei Google, Apple, Spotify en elke oare tsjinst. It foardiel hjir is dat jo jo podcast-host no kinne feroarje as jo wolle en hoege jo net de boarne feed fan elke tsjinst te aktualisearjen.
  • analytics - Ik soe persoanlik oanrikkemandearje in tsjinst te hawwen lykas Feedpress wêr jo jo feed kinne oanpasse en wat sintralisearre folgjen krije op it gebrûk dan wat in protte tsjinsten leverje. Mei FeedPress kinne jo ek publisearjen 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!

4 Comments

  1. 1

    It duorre my 2 1/2 dagen fan sykjen yn it net om wat te finen dat ik tocht dat elke WordPress-podcaster dwaan moat - hostje de RSS-feed foar har 3rd-party-hosted podcast op har wordpress-side.

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

  2. 2

    No set ik alles op mei de nije feed fan myn host (mei tank oan jo koadefragmenten) Ik haw krekt ûntdutsen dat de Cast Feed Validator myn RSS haat en dea falt - https://podba.se/validate/?url=https://carbonwatchdog.org/feed/podcast/

    Mar it orizjineel op Podbean validearret moai. Frustrearjend seit it validatorflaterberjocht net folle útsein "Argh! Ik bin krekt stoarn!"

    De RSS validearret boete op https://podba.se/validate/?url=https://carbonwatchdog.org/feed/podcast/

  3. 3

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

    Ik haw lykwols in fraach, fanwegen de manier wêrop myn podcastinghost de RSS XML produseart - it genereart automatysk in webkeppeling foar elke ôflevering dy't ferwiist nei de HTML-pagina op 'e freebie-webside fan 'e podcastinghost dy't ik net brûk.

    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 syn side foar elke ôflevering wer te jaan. Mar ik brûk dy freebie-webside net fan myn podcastinghost (Podbeans). Ik haw it nedich om te wizen op myn eigen webside - wêr't de RSS-feed dy't ik kontrolearje wurdt host.

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

    • 4

      It is mooglik om dit te dwaan, mar jo moatte ek koade skriuwe om de eigentlike hosted triemmen oan te freegjen (lykas de MP3). Ik soe dit earlik net dwaan, om't de measte webhosts net binne optimalisearre foar de grutte downloads fan bestannen dy't nedich binne mei podcasts.

Wat tinksto?

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