Ajouter un flux de podcast externe aux flux de votre site WordPress

Fonctions de flux de podcast WordPress

Un podcast en ligne populaire utilise WordPress comme plate-forme de publication pour les informations sur leur podcast ainsi que pour publier une tonne d'informations sur chaque émission. Cependant, ils hébergent en fait le podcast lui-même sur un moteur d'hébergement de podcast externe. C'est assez transparent pour les visiteurs du site - mais il manque une fonctionnalité invisible pour les utilisateurs mais visible pour les robots d'exploration comme Google.

Google le précise dans son support:

De plus, si vous associez votre flux RSS à une page d'accueil, les utilisateurs qui recherchent votre podcast par nom peuvent obtenir une description de votre podcast ainsi qu'un carrousel d'épisodes de votre émission dans la recherche Google. Si vous ne fournissez pas de page d'accueil liée ou si Google ne peut pas deviner votre page d'accueil, vos épisodes peuvent toujours apparaître dans les résultats de recherche Google, mais uniquement regroupés avec des épisodes d'autres podcasts sur le même sujet.

Google - Téléchargez votre podcast sur Google

 Avec les deux associés, vous pouvez obtenir une belle couverture dans Google:

Podcasts sur Google SERP

L'exploration du site révèle un flux d'articles de blog, mais pas le véritable flux de podcast - qui est hébergé en externe. L'entreprise souhaite conserver son flux de blog actuel, nous souhaitons donc ajouter un flux supplémentaire au site. Voici comment:

  1. Nous devons coder un nouveau flux dans leur thème WordPress.
  2. Nous devons le faire récupérer et publier le flux de podcast externe dans ce nouveau flux.
  3. Nous devons le faire ajouter un lien dans la tête du site WordPress qui affiche la nouvelle URL du flux.
  4. Bonus: nous devons nettoyer la nouvelle URL du flux de podcast afin de ne pas dépendre des chaînes de requêtes et de pouvoir réécrire le chemin dans une belle URL.

Comment ajouter un nouveau flux à WordPress

Dans votre thème ou dans le fichier functions.php du thème enfant (hautement recommandé), vous voudrez ajouter le nouveau flux et indiquer à WordPress comment vous allez le construire. Une note à ce sujet… il publiera le nouveau flux sur https://yoursite.com/?feed=podcast

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

Récupérez un flux de podcast externe et publiez-le dans un flux WordPress

Nous avons dit à WordPress que nous rendrions le podcast en utilisant render_podcast_feed, nous voulons maintenant récupérer le flux externe (désigné par https: //yourexternalpodcast.com/feed/ dans la fonction ci-dessous et dupliquez-la dans WordPress au moment de la demande. Une note… WordPress mettra en cache la réponse.

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

Réécrivez votre nouveau flux dans une belle URL

Voici un petit bonus. Rappelez-vous comment le flux est publié avec une chaîne de requêtes? Nous pouvons ajouter une règle de réécriture à functions.php pour l'échanger avec une belle 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' );

Désormais, le nouveau flux est publié sur https://yoursite.com/feed/podcast/

Ajouter un lien vers le flux dans votre tête

La dernière étape est que vous souhaitez ajouter un lien dans les balises head de votre site WordPress afin que les robots d'exploration puissent le trouver. Dans ce cas, nous voulons même désigner le flux comme le premier répertorié (au-dessus du blog et des flux de commentaires), nous ajoutons donc une priorité de 1. Vous voudrez également mettre à jour le titre dans le lien et vous assurer qu'il ne ne correspond pas au titre d'un autre flux sur le 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);

Votre nouveau flux de podcast WordPress

La bonne chose à propos de cette méthode est que nous avons pu contenir toutes les modifications dans le thème du site ... pas de fichiers de modèle supplémentaires ou d'édition d'en-têtes, etc. Quelques détails importants:

  • Permaliens - Une fois que vous avez ajouté le code à functions.php, vous devrez ouvrir Paramètres> Permaliens dans l'admin WordPress. Cela actualisera vos règles de permalien afin que le code que nous avons ajouté pour la réécriture soit maintenant implémenté.
  • Sécurité - Si votre site est SSL et que votre flux de podcast ne l'est pas, vous allez rencontrer des problèmes de sécurité mixte. Je vous recommande vivement de vous assurer que votre site et votre hébergement de podcast sont hébergés en toute sécurité (à un https adresse sans erreur).
  • Syndication - Je recommande vivement d'utiliser ce flux de podcast spécifique au domaine pour se syndiquer vers Google, Apple, Spotify et tout autre service. L'avantage ici est que vous pouvez désormais changer d'hôte de podcast quand vous le souhaitez et que vous n'aurez pas à mettre à jour le flux source de chaque service.
  • Analytique - Je recommanderais personnellement d'avoir un service comme Presse d'alimentation où vous pouvez personnaliser votre flux et obtenir un suivi centralisé de son utilisation au-delà de ce que de nombreux services fournissent. FeedPress vous permet également d'automatiser la publication sur vos canaux sociaux, une fonctionnalité très cool!

Vous voulez voir si cela fonctionne? Vous pouvez utiliser le Validateur de flux de diffusion pour vérifier le flux!

3 Commentaires

  1. 1

    Il m'a fallu 2 jours et demi de recherche sur le net pour trouver quelque chose que je pensais que chaque podcasteur WordPress devrait vouloir faire - héberger le flux RSS de leur podcast hébergé par une tierce partie sur leur site WordPress.

    Alors merci! Bien sûr, votre article soulève la question: pourquoi n'est-ce pas déjà un plugin WordPress? Le plus proche que j'ai trouvé était WP RSS Aggregator, mais il a complètement réécrit le XML et cassé le RSS.

  2. 2

    Hi
    J'ai configuré mon site WordPress pour republier mon RSS exactement comme indiqué, et cela fonctionne bien, c'est super de le contrôler moi-même et de faire un grand pas en dehors du processus de podcasting.

    J'ai une question cependant, en raison de la façon dont mon hôte de podcasting produit le XML RSS - il génère automatiquement un lien Web pour chaque épisode qui pointe vers la page HTML sur le site Web gratuit de l'hôte de podcasting que je n'utilise pas.

    Quelque chose comme <rss2><channel><item><link></link> si la démarque fonctionne. Ou "rss2> chaîne> élément> lien"

    Apple Podcast utilise ces données XML pour afficher un gros lien sur sa page pour chaque épisode. Mais je n'utilise pas ce site Web gratuit de mon hôte de podcasting (Podbeans). J'en ai besoin pour pointer vers mon propre site Web - où le flux RSS que je contrôle est hébergé.

    Pensez-vous qu'il soit possible de manipuler le XML entrant pour changer les liens qu'il contient de podbeans.com à my-website.com?

    • 3

      Il est possible de le faire, mais vous devrez également écrire du code pour demander les fichiers hébergés réels (comme le MP3). Honnêtement, je ne ferais pas cela, car la plupart des hébergeurs Web ne sont pas optimisés pour les téléchargements de fichiers volumineux nécessaires avec les podcasts.

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..