Geeek.org 🗲 Blog Geek & High Tech 100% Indépendant

Contrairement au sitemap général, le News Sitemap permet une découverte quasi instantanée de vos articles par le robot Google News, augmentant ainsi votre trafic sur les sujets d'actualité chaude (le "trending").

Bien que le CMS Ghost génère automatiquement des sitemaps classiques, il ne propose pas nativement de version dédiée aux "News" pour Google. Voici comment le mettre en place manuellement en 4 étapes simples.

ghost-cms-google-news.png

Étape 1 : Créer le fichier template sitemap-news.hbs

La première étape consiste à créer un fichier de template dans votre thème Ghost pour générer le XML requis par Google.

  1. Connectez-vous à votre serveur ou ouvrez votre dossier de thème localement.
  2. Créez un fichier nommé sitemap-news.hbs à la racine de votre thème.
  3. Copiez-y le code suivant (version optimisée sans les tags, car Google ne les utilise plus pour le classement) :
<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
>
  {{#get "posts"
      filter="published_at:>now-2d"
      limit="1000"
      order="published_at desc"
      include="tags"}}

    {{#foreach posts}}
      <url>
        <loc>{{url absolute="true"}}</loc>

        {{!-- Bonnes pratiques sitemap (hors news, mais utile) --}}
        <lastmod>{{date updated_at format="YYYY-MM-DDTHH:mm:ssZ"}}</lastmod>

        <news:news>
          <news:publication>
            {{!-- Idéalement: identique au nom déclaré dans Google News / Publisher Center --}}
            <news:name>{{@site.title}}</news:name>

            {{!-- ISO 639-1 : fr / en / de ... (évite fr_FR) --}}
            <news:language>fr</news:language>
          </news:publication>

          {{!-- Access: exclusif et déterministe --}}
          {{#has visibility="paid"}}
            <news:access>Subscription</news:access>
          {{else}}
            {{#has visibility="members"}}
              <news:access>Registration</news:access>
            {{/has}}
          {{/has}}

          <news:publication_date>{{date published_at format="YYYY-MM-DDTHH:mm:ssZ"}}</news:publication_date>
          <news:title>{{title}}</news:title>

          {{!-- Optionnel mais souvent utile si ton site est un blog éditorial --}}
          <news:genres>Blog</news:genres>

          {{!-- Mots-clés: texte brut, séparateur stable, pas de liens HTML --}}
          <news:keywords>{{tags limit="10" separator=", " autolink="false"}}</news:keywords>
        </news:news>
      </url>
    {{/foreach}}

  {{/get}}
</urlset>

Note : La règle published_at:>now-2d limite l'affichage aux articles des dernières 48 heures, ce qui est la contrainte stricte imposée par Google pour les actualités.

Étape 2 : Configurer la route dans Ghost

Il faut maintenant dire à Ghost d'utiliser ce template lorsqu'un utilisateur (ou Google) visite l'URL /sitemap-news/.

  1. Allez dans l'administration de votre Ghost, section Settings > Labs.
  2. Téléchargez votre fichier routes.yaml actuel.
  3. Modifiez-le pour ajouter la route sous la section routes: :
routes:
  /sitemap-news/:
    template: sitemap-news
    content_type: text/xml
  1. Téléversez à nouveau le fichier routes.yaml sur votre instance Ghost.

Attention : L'URL doit impérativement se terminer par un slash (/) dans la configuration des routes pour être correctement interprétée par Ghost.

Étape 3 : Gestion du cache (Cloudflare)

Si vous utilisez un CDN comme Cloudflare, le sitemap risque d'être mis en cache, empêchant Google de voir vos derniers articles en temps réel.

Si vous avez suivi mon guide sur l'intégration Ghost et Cloudflare, j'ai mis à jour le script de purge automatique. Assurez-vous d'ajouter /sitemap-news/ à la liste des URLs à purger lors de la publication d'un nouvel article.

Étape 4 : Validation et indexation Google

Une fois votre thème mis à jour et les routes configurées, passez à la vérification :

  1. Test visuel : Visitez votre-blog.com/sitemap-news/. Vous devriez voir un fichier XML structuré (certains navigateurs l'affichent comme du texte brut, c'est normal).
  2. Search Console : Rendez-vous dans la Google Search Console, section Sitemaps. Ajoutez l'URL complète de votre nouveau sitemap.
  3. Google Publisher Center : Pour maximiser vos chances d'apparaître dans l'onglet "Actualités", enregistrez votre site sur le Centre pour les éditeurs Google.

Conclusion

J'espère que cet article vous sera utile si vous utilisez le CMS Ghost. N'hésitez pas à rejoindre le serveur Discord Geeek.org pour discuter et à vous abonner à la newsletter du blog pour le rater aucun nouvel article !

NB : Je me suis permis de générer un Podcast sur la base du contenu de cet article. Dites-moi ce que vous en pensez en commentaire.


Vous êtes correctement abonné à Geeek
Bienvenue ! Vous êtes correctement connecté.
Parfait ! Vous êtes correctement inscrit.
Votre lien a expiré
Vérifiez vos emails et utiliser le lien magique pour vous connecter à ce site