Engade un feed de podcast externo aos feeds do teu sitio de WordPress

Funcións de alimentación de podcasts de WordPress

Utilízase un popular podcast en liña WordPress como a súa plataforma de publicación de información sobre o seu podcast, así como a publicación dunha chea de información sobre cada programa. Non obstante, realmente aloxan o podcast nun motor externo de aloxamento de podcasts. É bastante sinxelo para os visitantes do sitio, pero carece dunha función invisible para os usuarios pero visible para os rastrexadores como Google.

Google especifícao no seu soporte:

Ademais, se asocias o teu feed RSS cunha páxina de inicio, os usuarios que busquen o teu podcast por nome poden obter unha descrición do teu podcast, así como un carrusel de episodios para o teu programa na Busca de Google. Se non forneces unha páxina de inicio ligada ou Google non pode adiviñar a túa páxina de inicio, os teus episodios aínda poden aparecer nos resultados da busca de Google, pero só agrupados con episodios doutros podcasts do mesmo tema.

Google - Obtén o teu podcast en Google

 Cos dous asociados, podes obter unha boa cobertura en Google:

Podcasts en Google SERP

O rastrexo do sitio revela un feed de publicacións no blog, pero non o real fonte de podcast - que está aloxado externamente. A empresa quere manter o seu feed de blog actual, polo que queremos engadir un feed adicional ao sitio. Vexa como:

  1. Necesitamos codificar a nova fonte dentro do seu tema de WordPress.
  2. Precisamos recuperar e publicar o feed de podcast externo nese novo feed.
  3. Precisamos engade unha ligazón na cabeza do sitio de WordPress que mostra o novo URL do feed.
  4. Bonificación: necesitamos limpar o novo URL do feed de podcast para que non teñamos que depender das cordas de consulta e de poder reescribe o camiño nun bo URL.

Como engadir un novo feed a WordPress

Dentro do ficheiro functions.php do seu tema ou (moi recomendable) tema infantil, quererá engadir o novo feed e dicir a WordPress como o vai construír. Unha nota sobre isto ... publicará o novo feed en https://yoursite.com/?feed=podcast

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

Recupera un feed de podcast externo e publícao nun feed de WordPress

Dixémoslle a WordPress que renderíamos o podcast usando render_podcast_feed, polo que agora queremos recuperar a fonte externa (designada como https: //yourexternalpodcast.com/feed/ na seguinte función e duplícao dentro de WordPress no momento da solicitude. Unha nota ... WordPress gardará en cache a resposta.

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 o teu novo feed a un bo URL

Aquí tes un pouco de bonificación. Lembras como se publica o feed cunha cadea de consulta? Podemos engadir unha regra de reescritura a functions.php para intercambialo cun bo 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' );

Agora, o novo feed está publicado en https://yoursite.com/feed/podcast/

Engade unha ligazón ao feed na túa cabeza

O último paso é que desexa engadir unha ligazón dentro das etiquetas de cabeza do seu sitio de WordPress para que os rastrexadores poidan atopala. Neste caso, incluso queremos designar o feed como o primeiro listado (encima do blog e do comentario), polo que engadimos unha prioridade de 1. Tamén quererá actualizar o título na ligazón e asegurarse de que non Non coinciden co título doutro feed no 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);

O teu novo feed de podcasts de WordPress

O bo deste método é que fomos capaces de conter todos os cambios dentro do tema do sitio ... sen ficheiros de modelos adicionais nin edición de cabeceiras, etc. Un par de detalles importantes:

  • Permalinks - Unha vez engadido o código a functions.php, deberá abrir Configuración> Ligazóns permanentes no administrador de WordPress. Iso actualizará as regras do enlace permanente para que o código que engadimos para a reescritura agora estea implementado.
  • seguridade - Se o teu sitio é SSL e o teu feed de podcast non, terás problemas de seguridade mixta. Recomendo altamente que o seu sitio e o seu aloxamento de podcast estean aloxados de forma segura (nun https enderezo sen erros).
  • Sindicación - Recomendaría encarecidamente usar este feed de podcast específico de dominio para distribuír a Google, Apple, Spotify e calquera outro servizo. A vantaxe aquí é que agora podes cambiar de host de podcast cando queiras e non terás que actualizar a fonte de cada servizo.
  • analítica - Recomendaría persoalmente ter un servizo como FeedPress onde podes personalizar o teu feed e conseguir un seguimento centralizado do seu uso máis alá do que moitos servizos fornecen. FeedPress tamén che permite automatizar a publicación nas túas canles sociais, unha característica moi interesante.

¿Queres ver se funciona? Podes usar o Validador de fonte de lanzamento para verificar o feed!

3 Comentarios

  1. 1

    Tardei 2 días e medio en buscar na rede para atopar algo que eu pensaba que todos os podcaster de WordPress debían querer facer: aloxar a fonte RSS do seu podcast aloxado por terceiros no seu sitio de wordpress.

    Entón, grazas! Por suposto, o teu artigo fai a pregunta: por que este non é un complemento de WordPress xa? O máis próximo que atopei foi WP RSS Aggregator, pero reescribiu completamente o XML e rompeu o RSS.

  2. 2

    Hi
    Configurei o meu sitio de WordPress para volver publicar o meu RSS exactamente como se mostra e funciona ben, é xenial controlalo eu mesmo e dar un gran paso fóra do proceso de podcasting.

    Non obstante teño unha pregunta, debido á forma en que o meu host de podcasting produce RSS XML: xera automaticamente unha ligazón web para cada episodio que apunta á páxina HTML do sitio web gratuíto do host de podcasting que non uso.

    Algo así <rss2><channel><item><link></link> se a marca baixa funciona. Ou "rss2> canle> elemento> ligazón"

    Apple Podcast usa estes datos XML para amosar unha gran ligazón na súa páxina para cada episodio. Pero non uso ese sitio web gratuíto do meu servidor de podcast (Podbeans). Necesito que apunte ao meu propio sitio web, onde se aloxa a fonte RSS que controlo.

    Cres que é posible manipular o XML entrante para cambiar as ligazóns nel de podbeans.com a my-website.com?

    • 3

      É posible facelo, pero tamén terías que escribir código para solicitar os ficheiros aloxados reais (como o MP3). Sinceramente, non faría isto xa que a maioría dos servidores web non están optimizados para as descargas de ficheiros grandes necesarias cos podcasts.

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.