Envía tus Post de Ghost a Google News vía RSS

Marketing Digital 6 de mar. de 2024

Lamentablemente, ni el Sitemap ni el RSS que viene por default en Ghost es compatible con Google News, por lo que si quieres enviar tus publicaciones a esta plataforma tendrás que realizar algunos desarrollos custom.

La buena noticia es que después de muchos intentos logré enviar el contenido de Mente Digital a Google News y comparto en este post la guía paso a paso para lograrlo y contar con un feed RSS compatible y así aumentar la visibilidad de tu sitio.

Paso 1: Modifica tu archivo routes.yaml

Primero, modifica tu archivo routes.yaml en Ghost para incluir una nueva ruta dedicada a tu feed de Google News. Esto lo puede hacer directamente en Settings > Labs > Advanced > Beta features > Routes.

Incorpora un nueva ruta para procesar un nuevo archivo, en nuestro caso lo llamamos feedgn, lo que luego te permitirá crear un nuevo tempate feedgn.hbs que estructurará tu RSS según los requisitos de Google.

Les dejo aquí como ejemplo mi archivo routes.yaml:

routes:
  /feedgn/:
    template: feedgn
    content_type: text/xml

collections:
  /:
    permalink: /{slug}/
    template: index

taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

En este archivo agregamos una nueva ruta feedgn que utilizará un template con el mismo nombre y producirá un archivo de tipo text/xml.

Ten en cuenta que tras aplicar los cambios en routes.yaml, debes reiniciar Ghost.

Paso 2: Crea un nuevo template .hbs para tu generar tu RSS

Luego debes crear un nuevo archivo, en nuestro caso feedgn.hbs según lo que indicamos en el archivo routes.yaml, con la siguiente estructura:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"> 
<channel>
    <title>{{@site.title}}</title>
    <link>{{@site.url}}</link>
    <description>{{@site.description}}</description>
    <lastBuildDate>{{date "now" format="ddd, DD MMM YYYY HH:mm:ss ZZ"}}</lastBuildDate>
    <language>{{@site.locale}}</language>
    <sy:updatePeriod>daily</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <atom:link rel="hub" href="https://www.mentedigital.cl/" />
    <generator>Feed de  Noticias Para Google News por www.mentedigital.cl</generator>
    {{#get "posts" filter="updated_at:>now-2d" limit="1000" include="tags,authors"}}
        {{#foreach posts}}
            <item>
                <title><![CDATA[ {{title}} ]]></title>
		<description><![CDATA[ {{excerpt}} ]]></description>
                <link>{{url absolute="true"}}</link>
		<guid isPermaLink="false">{{id}}</guid>
                {{#if tags}}
                    <category><![CDATA[{{tags limit="5" autolink="false"}}]]></category>
                {{/if}}
                <dc:creator>{{#if primary_author.name}}<![CDATA[ {{primary_author.name}} ]]>{{else}}{{@site.title}}{{/if}}</dc:creator>
                <pubDate>{{date updated_at format="ddd, DD MMM YYYY HH:mm:ss ZZ"}}</pubDate>
		{{#if feature_image}}<media:content url="{{feature_image}}" medium="image"/>{{/if}}
                <content:encoded><![CDATA[{{#if feature_image}}<figure><img src="{{img_url feature_image absolute="true"}}" class="type:primaryImage" alt="{{title}}" /></figure>{{/if}}{{html}}]]></content:encoded>
            </item>
        {{/foreach}}
    {{/get}}
</channel>
</rss>

El código anterior genera un archivo xlm, con un feed RSS con el formato específico que requiere Google News. Define estructuras como el título del sitio, la URL, la descripción y otros metadatos de tu sitio. Además, implementa una lógica para listar los posts publicados en los últimos 2 días con sus títulos, resúmenes, imagen destacada (que aparece luego en Google News) y metadatos del post como la fecha de publicación y el autor, además del contenido completo del post. Todo esto asegura que tu contenido sea compatible y bien presentado en Google News.

Para poder visualizar este archivo, que quedará alojado en tusitio.com/feedgn, puedes reiniciar Ghost o reactivar el tema que utilizas.

Paso 3: Envía este feed al Publisher Center de Google

Conéctate a Publisher Center, agrega un nuevo sitio, selecciona la opción de Feed RSS para validar el contenido del sitio (debes esperar unos minutos a que tu contenido se cargue en Publisher Center) y envía tu sitio a aprobación, si cumples con las políticas de Google News no deberías tener problemas y tu sitio debería quedar aprobado.

Siguiendo estos pasos, garantizarás que tu feed sea válido y que tus artículos estén listos para ser descubiertos por nuevas audiencias en Google News.

Etiquetas

Juan Pablo Traverso

Profesional con más de 25 años de experiencias en diseño, creación y crecimiento de plataformas digitales, principalmente en el área de servicios financieros & ecommerce.