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
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
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
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
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
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
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
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.
Sources
- maisongr-sitemap — README (2026-11-05)
- Google Search Central — Build and submit a sitemap (2026-11-05)
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.