Aller au contenu
Maison GR — GuidesLogiciel libre

Ajouter un sitemap à Next.js, Astro, SvelteKit, Nuxt, Express ou Vite

La même commande fonctionne sur la plupart des projets : elle reconnaît le framework, trouve les pages et écrit une route. Seuls les sites statiques et les applications monopages demandent en plus l'adresse publique du site.

Par

Équipe Maison GR

Studio produit, Québec

Publié le

Sources vérifiées le

2 min de lecture

01

Next.js, SvelteKit, Nuxt et Astro avec un adaptateur

Ces sites répondent eux-mêmes aux requêtes. La commande écrit la route, un manifeste à conserver dans Git et l'étape de build.

  • anpx maisongr-sitemap init
  • bnpm install maisongr-sitemap
02

Astro sans adaptateur, adapter-static et nuxt generate

Le sitemap est écrit dans le dossier de sortie après chaque build. Un hôte statique sert alors le XML à /sitemap.xml et la page à /sitemap/.

  • anpx maisongr-sitemap init --site https://votre.site
  • bnpm install --save-dev maisongr-sitemap
03

Vite et Create React App

Les pages sont lues dans le tableau de votre routeur : React Router, Vue Router, TanStack Router et d'autres. Les routes dynamiques s'ajoutent avec --add dans le script de build.

  • anpx maisongr-sitemap init --site https://votre.site
  • bnpm install --save-dev maisongr-sitemap
04

Express et les serveurs Node

Lancez la commande dans le dossier du serveur. Le thème vient du frontend que ce serveur sert. Vous listez ensuite vos adresses dans la fonction entries() de sitemap.js, puis vous montez le module avant toute route attrape-tout : la commande affiche la ligne exacte.

  • anpx maisongr-sitemap init
  • bnpm install maisongr-sitemap
05

Un site statique déjà construit

HTML écrit à la main, Eleventy, Hugo, Jekyll : la commande lit le dossier de sortie, y compris les langues et les pages marquées noindex.

  • anpx maisongr-sitemap static dist --site https://votre.site
06

PHP, Python, Ruby ou un CMS

La commande crawl lit le site en marche à partir de sa page d'accueil, comme le fait un moteur de recherche. Elle ne trouve donc que les pages liées. Relancez-la quand le contenu change.

  • anpx maisongr-sitemap crawl http://localhost:8000 --out public --site https://votre.site
07

Vérifier le résultat

La première commande doit répondre application/xml et la seconde text/html. Sur un hôte statique, la seconde répond aussi en XML tant que la règle de l'hôte n'est pas en place. Soumettez ensuite /sitemap.xml dans la Search Console et dans Bing Webmaster Tools.

  • acurl -sI http://localhost:3000/sitemap.xml
  • bcurl -sI -H "Sec-Fetch-Dest: document" http://localhost:3000/sitemap.xml

À faire

La liste à garder sous la main.

  • Lancer la commande à la racine du projet.
  • Faire les étapes de la section Next du rapport.
  • Donner les valeurs des routes dynamiques.
  • Relire la liste des pages laissées de côté.
  • Conserver le manifeste dans Git.
  • Soumettre /sitemap.xml aux moteurs de recherche.

Questions fréquentes

01Pourquoi mes pages dynamiques ne sont-elles pas listées ?

Une route comme /blog/[slug] a besoin de ses valeurs : donnez-les dans params, ou par generateStaticParams avec Next.js.

02Faut-il conserver le manifeste dans Git ?

Oui. Les builds en intégration continue clonent souvent un historique partiel, et le manifeste garde les dates.

03Le paquet a-t-il des dépendances ?

Aucune à l'exécution. Il demande Node 20.9 ou plus récent.

Services liés

→Maison GR

Une question sur votre projet ? Parlons-en.

Un membre senior de l'équipe vous répond sous 24 h avec une direction claire.