rss
Comment générer un fichier rss.xml pour votre site.
1 min de lecture
Qu'est-ce que le rss ?
Le rss est un fichier XML qui contient des informations sur vos articles, et est utilisé pour suivre les actualités d'un site.
Par exemple, sur ce site cela donne rss.xml.
N'importe qui peut s'abonner à ce flux, ainsi dès qu'un nouveau post est publié la personne n'aura qu'à actualiser son flux pour voir qu'il y a de nouveaux articles.
N'importe qui peut s'abonner à ce flux, ainsi dès qu'un nouveau post est publié la personne n'aura qu'à actualiser son flux pour voir qu'il y a de nouveaux articles.
Comment générer un fichier rss.xml ?
import { writeFileSync } from "node:fs";
import { globalMetadata } from "@/lib/constants";
import { allDocuments } from "contentlayer/generated";
import RSS from "rss";
const site_url = globalMetadata.metadataBase.toString().replace(/\/$/, "");
const allCategories = new Set(allDocuments.flatMap((post) => post.fullTags));
const feed = new RSS({
title: globalMetadata.title.default,
description: globalMetadata.description,
site_url: site_url,
feed_url: `${site_url}/rss.xml`,
image_url: `${site_url}${globalMetadata.openGraph.images[0].url}`,
pubDate: new Date(),
language: globalMetadata.openGraph.locale,
managingEditor: `me@vahor.fr (${globalMetadata.creator})`,
generator: "Vahor",
categories: Array.from(allCategories),
});
for (const post of allDocuments) {
feed.item({
title: post.title,
description: post.description,
url: `${site_url}${post.url}`,
date: post.datePublished,
categories: post.fullTags,
});
}
writeFileSync("./public/rss.xml", feed.xml({ indent: true }));
Comment voir si ça marche ?
Pour tester j'ai utilisé la cli nom
Comment utiliser nom ?
nom add https://vahor.fr/rss.xml
nom


On se retrouve maintenant avec un sitemap.xml, un llms.txt et un rss.xml, je pense que les 5 articles du site ont assez de visibilité 🤣