Ajouter vos pages au sitemap et à llms.txt

Utilisez getAllPages() pour sitemap.xml et floconLlmsTxt() pour llms.txt. Les deux viennent de @flocon-ai/astro.

Les brouillons ne sont jamais listés. Une page programmée pour plus tard n'est pas listée avant sa date de publication.

sitemap.xml

Créez src/pages/sitemap.xml.ts :

import { getAllPages } from "@flocon-ai/astro"

export async function GET() {
const pages = await getAllPages()
const urls = pages
  .map((p) => `<url><loc>https://example.com/${p.locale}${p.path}</loc><lastmod>${p.updatedAt}</lastmod></url>`)
  .join("")
return new Response(
  `<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">${urls}</urlset>`,
  { headers: { "content-type": "application/xml" } }
)
}

Vous voulez des hreflang dans votre sitemap ? floconSitemap({ url }) donne la même liste. Chaque entrée contient :

  • url
  • lastModified (le updatedAt de la page)
  • alternates.languages : une URL par langue où la page existe

llms.txt

Créez src/pages/llms.txt.ts :

import { floconLlmsTxt } from "@flocon-ai/astro"

export async function GET() {
const text = await floconLlmsTxt({ url: ({ locale, path }) => `https://example.com/${locale}${path}` })
return new Response(text, { headers: { "content-type": "text/plain; charset=utf-8" } })
}

floconLlmsTxt() renvoie un texte avec un lien Markdown par page publiée :

- [Titre de la page](https://example.com/guides/seo)

La règle url

floconSitemap et floconLlmsTxt prennent une fonction url. Elle reçoit { locale, path } et renvoie l'URL complète de la page sur votre site web.

  • locale est la langue de la page, comme en ou fr.
  • path commence par un slash, comme /guides/seo.
  • Flocon AI n'ajoute aucun préfixe. Construisez l'URL comme le fait votre site web.

getAllPages()

Elle renvoie les pages publiées, sans leurs blocs. Chaque élément contient locale, path, title, updatedAt et alternates.

Elle lève une erreur si l'appel à l'API échoue.

Environnement

Ces fonctions s'exécutent côté serveur uniquement. Elles lisent votre token read dans FLOCON_TOKEN. Sur Cloudflare, passez l'option token. Voir Installation.

Mis à jour