Lägg till ett externt podcastflöde till din WordPress-webbplatsens flöden

WordPress Podcast Feed-funktioner

En populär podcast online använder Wordpress som deras publiceringsplattform för information om deras podcast samt publicera massor av information om varje show. Men de är faktiskt värd för själva podcasten på en extern podcast-värdmotor. Det är ganska sömlöst för webbplatsens besökare - men saknar en funktion som är osynlig för användare men synlig för sökrobotar som Google.

Google specificerar detta i deras support:

Dessutom, om du associerar ditt RSS-flöde med en hemsida, kan användare som söker efter din podcast efter namn få en beskrivning av din podcast samt en karusell av avsnitt för din show på Google Sök. Om du inte tillhandahåller en länkad hemsida eller om Google inte kan gissa din hemsida kan dina avsnitt fortfarande visas i Googles sökresultat, men bara grupperade med avsnitt från andra podcaster om samma ämne.

Google - Hämta din podcast på Google

 Med de två associerade kan du få lite trevlig täckning i Google:

Poddsändningar på Google SERP

Genomsökningen av webbplatsen avslöjar ett blogginlägg, men inte det faktiska podcast-flöde - som är externt värd. Företaget vill behålla sitt nuvarande bloggflöde, så vi vill lägga till ett ytterligare flöde på webbplatsen. Här är hur:

  1. Vi måste koda a nytt flöde inom deras WordPress-tema.
  2. Vi måste hämta och publicera det externa podcastflödet i det nya flödet.
  3. Vi måste lägg till en länk i huvudet på WordPress-webbplatsen som visar den nya URL-adressen.
  4. Bonus: Vi måste städa upp den nya webbadressen för podcastflöden så att vi inte behöver vara beroende av frågesträngar och kan skriv om vägen i en trevlig URL.

Hur man lägger till ett nytt flöde till WordPress

Inom ditt tema eller (rekommenderas) barns temas funktioner.php-fil vill du lägga till det nya flödet och berätta för WordPress hur du ska bygga det. En anteckning om detta ... det kommer att publicera det nya flödet på https://yoursite.com/?feed=podcast

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

Hämta ett externt podcastflöde och publicera det i ett WordPress-flöde

Vi sa till WordPress att vi skulle göra podcasten med render_podcast_feed, så vi vill nu hämta det externa flödet (betecknat som https: //yourexternalpodcast.com/feed/ i funktionen nedan och duplicera den i WordPress vid tidpunkten för begäran. En anteckning ... WordPress cachar svaret.

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

Skriv om ditt nya flöde till en trevlig URL

Här är lite av en bonus. Kommer du ihåg hur flödet publiceras med en frågesträng? Vi kan lägga till en omskrivningsregel till functions.php för att byta ut det med en trevlig 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' );

Nu publiceras det nya flödet på https://yoursite.com/feed/podcast/

Lägg till en länk till flödet i ditt huvud

Det sista steget är att du vill lägga till en länk i huvudtaggarna på din WordPress-webbplats så att sökrobotar kan hitta den. I det här fallet vill vi till och med beteckna flödet som det första som anges (ovanför blogg- och kommentarflöden), så vi lägger till en prioritet på 1. Du vill också uppdatera titeln i länken och se till att den inte matchar inte ett annat flödes titel på webbplatsen:

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

Ditt nya WordPress Podcast-flöde

Det fina med den här metoden är att vi kunde innehålla alla ändringar inom webbplatsens tema ... inga ytterligare mallfiler eller redigering av rubriker etc. Ett par viktiga detaljer:

  • Permalänkar - När du har lagt koden till functions.phpmåste du öppna Inställningar> Permalänkar i WordPress-administratören. Det kommer att uppdatera dina permalänkregler så att koden vi lade till för omskrivningen nu implementeras.
  • säkerhet - Om din webbplats är SSL och din podcast-feed inte är det, kommer du att stöta på problem med blandad säkerhet. Jag rekommenderar starkt att du ser till att både din webbplats och din podcast-värd är säkert värd (på en https adress utan fel).
  • Syndication - Jag rekommenderar starkt att du använder den här domänspecifika podcastflödet för att syndikera ut till Google, Apple, Spotify och andra tjänster. Fördelen här är att du nu kan ändra din podcast-värd när du vill och inte behöver uppdatera varje tjänsts källflöde.
  • Analytics - Jag skulle personligen rekommendera att ha en tjänst som FeedPress där du kan anpassa ditt flöde och få en central spårning av dess användning utöver vad många tjänster erbjuder. FeedPress låter dig också automatisera publicering till dina sociala kanaler, en väldigt cool funktion!

Vill du se om det fungerar? Du kan använda Gjutmatningsvalidator för att verifiera flödet!

4 Kommentarer

  1. 1

    Det tog mig 2 1/2 dagar att söka på nätet för att hitta något som jag trodde att varje WordPress-podcaster måste göra - vara värd för RSS-flödet för sin tredje parts podcast på deras WordPress-webbplats.

    Så tack! Naturligtvis väcker din artikel frågan: varför är inte detta ett WordPress-plugin redan? Den närmaste jag hittade var WP RSS Aggregator, men den skrev helt om XML och bröt RSS.

  2. 2

    Nu ställer jag in allt med det nya flödet från min värd (tack vare dina kodavsnitt) Jag upptäckte precis att Cast Feed Validator hatar min RSS och faller omkull – https://podba.se/validate/?url=https://carbonwatchdog.org/feed/podcast/

    Men originalet på Podbean validerar fint. Frustrerande nog säger validatorns felmeddelande inte mycket förutom "Argh! Jag dog precis!"

    RSS validerar fint på https://podba.se/validate/?url=https://carbonwatchdog.org/feed/podcast/

  3. 3

    Hi
    Jag har ställt in min WordPress-webbplats för att publicera min RSS precis som visas, och det fungerar bra, det är fantastiskt att kontrollera det själv och ta ett stort steg ut ur podcastprocessen.

    Jag har dock en fråga på grund av hur min podcasting-värd producerar RSS XML - den genererar automatiskt en webblänk för varje avsnitt som pekar på HTML-sidan på podcasting-värdens freebie-webbplats som jag inte använder.

    Något liknande <rss2><channel><item><link></link> om markdown fungerar. Eller “rss2> kanal> objekt> länk”

    Apple Podcast använder denna XML-data för att visa en stor länk på sin sida för varje avsnitt. Men jag använder inte den freebie-webbplatsen från min podcasting-värd (Podbeans). Jag behöver den för att peka på min egen webbplats - där det RSS-flöde som jag styr är värd.

    Tror du att det är möjligt att manipulera inkommande XML för att ändra länkarna från podbeans.com till my-website.com?

    • 4

      Det är möjligt att göra detta, men du måste också skriva kod för att begära de faktiska värdfilerna (som MP3). Jag skulle ärligt talat inte göra detta eftersom de flesta webbhotell inte är optimerade för de stora filnedladdningarna som behövs för podcasts.

Vad tror du?

Den här sidan använder Akismet för att minska spam. Läs om hur din kommentardata behandlas.