LucusHost, el mejor hosting

LucusHost, el mejor hosting

Cómo mejorar el feed RSS de WordPress

Publicado el 5 de julio de 2020
Actualizado el 12 de septiembre de 2022

El feed RSS de WordPress por defecto no incluye imágenes ni tipos de contenido personalizado (CPT), así que conviene mejorarlo un poco para que, tanto los usuarios como las aplicaciones de difusión de contenido basadas en RSS, dispongan de un acceso mejorado a la información que a ti te interese difundir.

El feed RSS sigue siendo una opción muy válida para mantenerte al día de las últimas publicaciones y novedades de sitios web o blogs de referencia.

WordPress dispone de la capacidad de generar ficheros feed RSS para que usuarios y otros sitios web dispongan de información puntual y precisa de tus últimas publicaciones, utilizando una dirección web dentro del mismo nombre de dominio.

¿Qué es un feed RSS?

RSS es el acrónimo de «Really Simple Syndication» o «Rich Site Summary», un sistema de acceso a las actualizaciones del contenido de un sitio web a través de un fichero en formato de texto estandarizado.

Este fichero está basado en una estructura XML en el que la información está organizada a través de etiquetas que identifican cada elemento del contenido; por ejemplo, el título, fecha y autor de la publicación, el texto o resumen de ese post, etc.

¿Para qué sirve el feed RSS?

Como herramienta de difusión de contenido, provee a los gestores de sitios web y blogs de un sistema para informar de las últimas publicaciones, mejorando la relación con los usuarios.

Como herramienta de trabajo, es fundamental para quienes deben revisar las novedades en un determinado sector y tener toda esa información organizada, sin necesidad de dedicar horas de rastreo a través de diferentes sitios de referencia.

Además, también permite importar información externa para enriquecer el contenido de tu propio sitio web, mejorando la percepción de nuestra marca entre los usuarios, que te verán como una referencia relevante y útil.

Algunas de las ventajas de un feed RSS para un sitio web son las siguientes:

  • Atraer más usuarios al sitio web. Cuando alguien se suscribe al feed RSS, dispondrá de todas las publicaciones del blog en su correo o lector RSS, junto con un enlace al contenido original.
  • Mejorar el rastreo de Google. Los rastreadores de Google pueden interpretar los elementos de un feed RSS y seguir sus enlaces para rastrear el sitio web.
  • Importar contenido externo. A través de un feed RSS, se puede descargar el contenido de publicaciones completas e incluirlas en tu blog como información de referencia.
  • Difusión en Redes Sociales. Cada vez que hay una nueva publicación, se publica una referencia en las Redes Sociales, a través de los mecanismos de integración RSS que muchas ofrecen.
  • Fidelizar a los usuarios. La información proporcionada en el feed RSS, sea propia o importada, supone un servicio de valor añadido al usuario, mejorando su percepción de marca.
  • Automatizar campañas de Email Marketing, de forma que cada vez que haya una nueva publicación, se genere automáticamente un correo electrónico a los suscriptores.

Cómo configurar el feed RSS de tu sitio Web en WordPress

Por defecto WordPress genera un fichero feed RSS básico de las últimas entradas de tu blog con unas posibilidades de configuración muy limitadas, ya que solo permite indicar el número máximo de entradas que suministrará y si incluye un resumen o el texto completo de cada publicación.

Para acceder feed RSS de un sitio web en WordPress, solo hace falta añadir la cadena /feed a su URL. Por ejemplo, para el sitio web https://academiaweb.online, la dirección de su feed RSS será https://academiaweb.online/feed.

Al introducir esta dirección web en el navegador, nos mostrará su contenido en formato texto; es decir, el código XML de ese fichero. Para verlo en un formato legible, se ha de utilizar un lector RSS, indicando esta misma dirección.

Feed RRS en formato XML
Feed RRS en formato XML

El feed RSS de WordPress por defecto no incluye imágenes ni tipos de contenido personalizado (CPT), así que conviene mejorarlo un poco para que, tanto los usuarios como las aplicaciones de difusión de contenido basadas en RSS, dispongan de un acceso mejorado a la información que a ti te interese difundir.

Para conseguirlo, puedes instalar algún plugin de gestión del feed RSS o añadir unas cuantas funciones al archivo functions.php de tu tema hijo o a tu archivo de funciones personalizado.

Cómo agregar la imagen destacada al feed RSS de WordPress

Para poder insertar la imagen destacada en el feed de tu blog, es necesario que la plantilla que uses tenga activada la función «post_thumbnails» y que definas una imagen destacada para cada entrada. Si es así, haz lo siguiente:

Añade el siguiente código al archivo functions.php de tu tema hijo o a tu plugin de funciones personalizado:

    // Agregar imagenes destacadas al feed RSS
    function jrb_imagenes_destacadas_rss( $content ) {
        global $post;
        if( has_post_thumbnail( $post->ID ) ) {
        $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'large' );
        $content = '<img src="'.esc_attr( $thumbnail_src[0] ).'" class="webfeedsFeaturedVisual" alt="" />' . '<p>' . $content . '</p>';
        }
        return $content;
    }
    add_filter( 'the_excerpt_rss', 'jrb_imagenes_destacadas_rss' );
    add_filter( 'the_content_feed', 'jrb_imagenes_destacadas_rss' );Lenguaje del código: PHP (php)

El código anterior modifica el feed que se genera automáticamente, agregando a cada entrada la imagen destacada y la clase «webfeedsFeaturedVisual», requerida por Feedly para mostrarla en la vistas en miniaturas “Magazine View” y “Cards View”.

También usa el tamaño de miniatura large con un ancho superior a los 500 pixeles. Este es el tamaño mínimo recomendado, para que Feedly y otros lectores de feeds las muestren correctamente.

Sin embargo, puedes usar cualquiera de los demás: thumbnail, medium o full.

Comprobar que el feed RSS de WordPress contiene imágenes

La forma mas fácil de comprobar que el feed de tu sitio web contiene imágenes es abrir la dirección del mismo en las versiones de escritorio de los navegadores Mozilla Firefox o Google Chrome.

Examina el código del feed y comprueba que, efectivamente, aparecen las imágenes.

Imágenes en feed RSS de WordPress

También puedes usar el servicio de RSS Preview, un lector de feeds online. Introduce la dirección del feed y presiona el botón «SYNC».

Incluir imágenes destacadas o adjuntas al feed RSS de WordPress

Si tu tema no usa imágenes destacadas o no quieres definirlas, es posible usar cualquiera de las imágenes adjuntas a una publicación en el feed RSS.

Así pues, la solución ideal sería la que:

  1. Si la entrada tiene una imagen destacada, la muestra
  2. En caso contrario, muestra la primera (o última) imagen adjunta
  3. Si sigue sin encontrar ninguna imagen, no muestra nada (o muestra una imagen predefinida)

Con el siguiente fragmento de código puedes recuperar las imágenes adjuntas a cada entrada y ordenarlas según el criterio que más te interese, pero solo se activará en caso de que no haya una imagen destacada definida.

// Incluir una imagen en el feed RSS
function jrb_imagenes_rss($content) {

    global $post;
    $args = array(
        'post_type'      => 'attachment', // Seleccionamos adjuntos
        'post_mime_type' => 'image', // Del tipo "imagen"
        'order'          => 'ASC', // Los ordenamos ascendentemente
        'orderby'        => 'menu_order', // Que respete el orden asignado
        'post_parent'    => $post->ID // De la entrada actual
    );
    $images = get_posts($args);
    $style = 'float:right;margin:0 0 20px 20px;'; // Estilos CSS

    // La entrada tiene una imagen destacada.
    if ( has_post_thumbnail($post->ID) ) {
        $content = '<div style="' . $style . '">' . get_the_post_thumbnail($post->ID, 'large') . '</div>' . $content;

    // No se ha asignado una imagen destacada, asi que adjuntamos
    // la primera que encontramos asociada a la entrada actual.
    } elseif ( $images ) {
        $post_link = get_permalink();
        $content = '<a href="' . $post_link . '" style="' . $style . '">' . wp_get_attachment_image($images[0]->ID, 'large') . '</a>' . $content;
    }

    return $content;
}

add_filter('the_excerpt_rss', 'jrb_imagenes_rss');
add_filter( 'the_content_feed', 'jrb_imagenes_rss' );Lenguaje del código: PHP (php)

La imagen destacada tendrá preferencia, pero si no hay ninguna definida, se seleccionará una imagen adjunta alternativa.

Además, se añade un poco de estilo para que los lectores RSS muestren la foto a la derecha con el texto flotando alrededor y con algo de margen a los lados.

Con estas funciones modificamos el feed por defecto de WordPress, tanto si enviamos el contenido completo (a través del filtro the_content_feed) como si solo queremos enviar un extracto (a través del filtro the_excerpt_rss).

Cómo añadir custom post types al feed RSS de WordPress

Por defecto, WordPress solo agrega al feed RSS principal las entradas de blog de tu sitio web. Pero también es posible incluir páginas o cualquier tipo de entradas personalizadas que uses en tu web.

Para añadir todos los tipos de contenido de tu sitio web, usa el siguiente código:

/* Incluir todos los CPT en feed RSS */
function jrb_all_feed_request($qp) {
    if (isset($qp['feed']))
        $qp['post_type'] = get_post_types();
    return $qp;
}
add_filter('request', 'jrb_all_feed_request');Lenguaje del código: PHP (php)

Si solo quieres que aparezcan en el feed RSS algunos tipos de contenido determinados, puedes seleccionarlos a través de un array con la siguiente función:

/**
* Agregar CPT al feed RSS principal
**/
function jrb_feed_request($qp) {
    if (isset($qp['feed']) && !isset($qp['post_type']))
        $qp['post_type'] = array('cpt1', 'cpt2', 'cpt3');
        return $qp;
    }
add_filter('request', 'jrb_feed_request');Lenguaje del código: PHP (php)

Sustituye los elementos del array por los slug de los tipos de contenido que quieras que se agreguen al feed RSS en la línea $qp['post_type'] = array('cpt1', 'cpt2', 'cpt3');

Te recomiendo usar esta última forma de incluir tipos de contenido personalizado en el feed RSS, ya que en una instalación de WordPress suele haber CPT que no conviene que aparezcan o que están destinados a trabajos internos del CMS.

También puede que te interese crear un feed RSS por separado para cierto tipos de contenido, como los productos de una tienda online, por ejemplo.

Cómo crear una fuente RSS separada para cada tipo de publicación o taxonomía personalizada en WordPress

En esta ocasión no necesitas usar un complejo código, ya que tan sólo hay que añadir algún parámetro a la URL del feed, indicando el nombre del CPT o la taxonomía que te interese difundir.

Tal que así: https://tusitio.ext/feed/?post_type=slug_cpt

¿Quieres llevarlo al siguiente nivel y aplicarlo a un tipo de publicación personalizado específico y una taxonomía personalizada? Bueno, pues eso tampoco es difícil en absoluto.

Quedaría algo así:
https://tusitio.ext/feed/?post_type=slug_cpt&taxonomia=nombretaxonomia

Por ejemplo, en el caso de este sitio, podría ser:

https://joseramonbernabeu.com/feed/?post_type=solucion

https://joseramonbernabeu.com/feed/?post_type=solucion&area=desarrollo-web

https://joseramonbernabeu.com/feed/?area=desarrollo-webLenguaje del código: PHP (php)

Para las categorías nativas de WordPress, aún es más sencillo pues solo tienes que añadir la palabra feed a la URL de la categoría en cuestión:
https://tusitio.ext/category/categoria/feed

Conclusión y casos de uso

Ahora que sabes cómo mejorar el feed RSS de WordPress añadiendo imágenes y tipos de contenido personalizados, puedes usarlo para difundir lo que más te interese en redes sociales o agregadores de contenido o crear listas de suscripción para que tus usuarios estén al día de aquellos contenidos que consideren de su interés.

Por ejemplo:

Uso BlogsterApp para difundir mis publicaciones de forma periódica y recurrente.

Es ideal porque permite configurar un montón de cosas, como horario, periodicidad, qué publicaciones excluir del ciclo...

Pero tiene una «pequeña pega» y es que solo difunde las entradas del blog.

Si quieres incluir otro tipo de contenidos puedes hacerlo, pero lo considera como un blog aparte, por lo que tienes que pagar un sobrecoste. No es mucho, la verdad, pero si puedes ahorrartelo...

BlogsterApp se sirve del feed RSS para sincronizar tu sitio web con su aplicación, así que añadiendo los tipos de contenido que quieras difundir al mismo como hemos visto anteriormente, problema solucionado.

Por cierto, si quieres ahorrar tiempo y esfuerzo en la difusión de contenidos hacia tus redes sociales, te recomiendo que pruebes BlogsterApp. Te facilita la vida un montón a la hora de publicar en varias redes sociales por un precio increíble (gratis si publicas solo en Twitter).

También uso Metricool para difundir contenido, en este caso separado por categorías o tipos de contenido personalizado.

Ejemplo de autolistas de Metricool

Para ello uso la funcionalidad de autolistas de Metricool para difundir cada tipo de contenido en unas redes u otras y a diferentes horas.

Prueba gratis Metricool

Te recomiendo

Libros que me ayudan

Donde alojo mis sitios web

LucusHost, el mejor hosting

LucusHost, el mejor hosting

Sitio alojado en un servidor verde según The Green Web Foundation

LucusHost, el mejor hosting

LucusHost, el mejor hosting

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2024 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram