Agregue una fuente de podcast externa a las fuentes de su sitio de WordPress

Funciones de alimentación de podcasts de WordPress

Un podcast en línea popular utiliza WordPress como su plataforma de publicación para la información sobre su podcast, así como para publicar una tonelada de información sobre cada programa. Sin embargo, en realidad alojan el podcast en un motor de alojamiento de podcasts externo. Es bastante fluido para los visitantes del sitio, pero carece de una función que es invisible para los usuarios pero visible para rastreadores como Google.

Google especifica esto en su apoyo:

Además, si asocia su fuente RSS con una página de inicio, los usuarios que busquen su podcast por nombre pueden obtener una descripción de su podcast, así como un carrusel de episodios para su programa en la Búsqueda de Google. Si no proporciona una página de inicio vinculada, o Google no puede adivinar su página de inicio, sus episodios aún pueden aparecer en los resultados de la Búsqueda de Google, pero solo agrupados con episodios de otros podcasts sobre el mismo tema.

Google - Obtenga su podcast en Google

 Con los dos asociados, puede obtener una buena cobertura en Google:

Podcasts en Google SERP

El rastreo del sitio revela el feed de una publicación de blog, pero no el alimentación de podcast - que está alojado externamente. La empresa quiere mantener su feed de blog actual, por lo que queremos agregar un feed adicional al sitio. Así es cómo:

  1. Necesitamos codificar un nuevo feed dentro de su tema de WordPress.
  2. Necesitamos que recuperar y publicar el feed de podcast externo en ese nuevo feed.
  3. Necesitamos que agregar un enlace en la cabeza del sitio de WordPress que muestra la nueva URL del feed.
  4. Bonificación: Necesitamos limpiar la nueva URL del feed de podcasts para no tener que depender de cadenas de consulta y podamos reescribe el camino en una bonita URL.

Cómo agregar un nuevo feed a WordPress

Dentro de su tema o (muy recomendado) archivo functions.php del tema hijo, querrá agregar el nuevo feed y decirle a WordPress cómo lo va a construir. Una nota sobre esto ... publicará el nuevo feed en https://yoursite.com/?feed=podcast

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

Recupere una fuente de podcast externa y publíquela en una fuente de WordPress

Le dijimos a WordPress que renderizaríamos el podcast usando render_podcast_feed, por lo que ahora queremos recuperar el feed externo (designado como https: //yourexternalpodcast.com/feed/ en la función a continuación y duplíquelo dentro de WordPress en el momento de la solicitud. Una nota ... WordPress almacenará en caché la respuesta.

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

Reescribe tu nuevo feed en una buena URL

Aquí tienes una pequeña ventaja. ¿Recuerda cómo se publica el feed con una cadena de consulta? Podemos agregar una regla de reescritura a functions.php para intercambiar eso con una buena 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' );

Ahora, el nuevo feed se publica en https://yoursite.com/feed/podcast/

Agrega un enlace al feed en tu cabeza

El último paso es que desea agregar un enlace dentro de las etiquetas principales de su sitio de WordPress para que los rastreadores puedan encontrarlo. En este caso, incluso queremos designar el feed como el primero en la lista (arriba del blog y los feeds de comentarios), por lo que agregamos una prioridad de 1. También querrá actualizar el título en el enlace y asegurarse de que no lo haga. no coincide con el título de otro feed en el sitio:

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

Su nuevo feed de podcasts de WordPress

Lo bueno de este método es que pudimos autocontener todos los cambios dentro del tema del sitio ... sin archivos de plantilla adicionales o edición de encabezados, etc. Un par de detalles importantes:

  • Permalinks - Una vez que agregue el código a functions.php, deberá abrir Configuración> Enlaces permanentes en el administrador de WordPress. Eso actualizará sus reglas de enlace permanente para que el código que agregamos para la reescritura ahora esté implementado.
  • Seguridad - Si su sitio es SSL y su fuente de podcast no lo es, se encontrará con problemas de seguridad mixta. Recomiendo encarecidamente asegurarse de que tanto su sitio como el alojamiento de su podcast estén alojados de forma segura (en un https dirección sin errores).
  • Sindicación - Recomiendo encarecidamente utilizar este canal de podcast específico del dominio para distribuirlo en Google, Apple, Spotify y cualquier otro servicio. La ventaja aquí es que ahora puede cambiar el anfitrión de su podcast cuando lo desee y no tendrá que actualizar la fuente de cada servicio.
  • Análisis - Personalmente recomendaría tener un servicio como FeedPress donde puede personalizar su feed y obtener un seguimiento centralizado sobre su uso más allá de lo que ofrecen muchos servicios. FeedPress también te permite automatizar la publicación en tus canales sociales, ¡una característica genial!

¿Quieres ver si está funcionando? Puedes usar el Validador de feeds de transmisión para verificar el feed!

3 Comentarios

  1. 1

    Me tomó 2 1/2 días de búsqueda en la red para encontrar algo que pensé que todos los podcaster de WordPress deben querer hacer: alojar el feed RSS para su podcast alojado por terceros en su sitio de wordpress.

    ¡Así que gracias! Por supuesto, su artículo plantea la pregunta: ¿por qué este ya no es un complemento de WordPress? El más cercano que encontré fue WP RSS Aggregator, pero reescribió completamente el XML y rompió el RSS.

  2. 2

    Hi
    He configurado mi sitio de WordPress para volver a publicar mi RSS exactamente como se muestra, y funciona bien, es genial controlarlo yo mismo y dar un gran paso fuera del proceso de podcasting.

    Sin embargo, tengo una pregunta, debido a la forma en que mi anfitrión de podcasting produce el XML RSS: genera automáticamente un enlace web para cada episodio que apunta a la página HTML en el sitio web gratuito del anfitrión de podcasting que no uso.

    Algo como <rss2><channel><item><link></link> si la rebaja funciona. O "rss2> canal> elemento> enlace"

    Apple Podcast utiliza estos datos XML para mostrar un gran enlace en su página para cada episodio. Pero no uso ese sitio web gratuito de mi anfitrión de podcasting (Podbeans). Necesito que apunte a mi propio sitio web, donde se aloja la fuente RSS que controlo.

    ¿Crees que es posible manipular el XML entrante para cambiar los enlaces de podbeans.com a my-website.com?

    • 3

      Es posible hacer esto, pero también tendría que escribir código para solicitar los archivos alojados reales (como el MP3). Honestamente, no haría esto ya que la mayoría de los servidores web no están optimizados para las descargas de archivos grandes necesarias con los podcasts.

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.