Envía tus Post de Ghost a Google News vía RSS
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.