SEO technique

Sitemap XML pour petit site : quoi inclure et soumettre

Ce que doit contenir le sitemap XML d'un petit site, ce que Google ignore, un fichier minimal valide, les erreurs courantes, et comment le soumettre et le vérifier.

Des mains qui tiennent une carte en papier dépliée
Photo: ArtHouse Studio sur Pexels

Trois requêtes vers /sitemap.xml ont reçu un 404 sur ce site pendant les 14,8 jours de journaux que nous avons étudiés. Notre robots.txt renvoie les robots vers sitemap-index.xml, le nom de fichier que notre générateur écrit : les clients qui ont demandé le nom conventionnel devinaient, et devinaient mal. La correction tenait en une ligne de notre script de build. La leçon dépasse un nom de fichier : un sitemap que les robots ne trouvent pas, ou qui liste des URL que vous ne voudriez pas voir indexées, ne sert à personne.

Ce que Google fait d’un sitemap

Google parle d’un sitemap comme d’un « simple indice », pas d’un ordre. Il ne promet pas d’explorer ni d’indexer chaque URL que vous listez, et il trouve de toute façon la plupart des pages par les liens. Sur un petit site où chaque page est liée depuis une autre, le sitemap n’est pas ce qui rend l’exploration possible. Il vous donne une liste avec laquelle comparer le site, et un endroit où Google lit vos URL et leurs dates de modification.

Le format est simple. Un sitemap peut être un fichier XML, un flux RSS ou Atom, ou une simple liste d’URL en texte, et chaque fichier peut contenir jusqu’à 50 000 URL ou 50 Mo non compressés. Les URL doivent être absolues et le fichier en UTF-8. Parmi les champs facultatifs, Google n’utilise lastmod que s’il est constamment exact, et il ignore complètement priority et changefreq : inutile de passer du temps à les régler.

Le sitemap est aussi le plus faible des signaux que Google cite pour choisir entre des URL dupliquées. Les redirections et rel=canonical passent avant lui. Listez la version canonique de chaque page, et réglez les doublons ailleurs : balise canonical et URL dupliquées explique comment.

Un fichier minimal valide

Voici tout ce dont un petit site a besoin :

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-10-07</lastmod>
  </url>
  <url>
    <loc>https://example.com/guides/xml-sitemap-guide/</loc>
    <lastmod>2026-10-13</lastmod>
  </url>
</urlset>

Réglez lastmod sur la date à laquelle le contenu a changé d’une façon qu’un lecteur remarquerait, pas sur la date de génération du fichier. Un générateur qui appose la date du jour sur chaque URL rend le champ inutile, et Google ne l’utilise que s’il se montre fiable. Si une URL contient une esperluette, écrivez-la &amp;, comme dans n’importe quel fichier XML.

Placez le fichier à la racine du site. Le protocole sitemap limite un fichier aux URL situées à son propre chemin ou en dessous : /catalog/sitemap.xml ne peut donc pas lister des pages sous /news/, alors qu’un fichier à la racine peut tout lister.

Ce qui entre, ce qui reste dehors

Notre règle est courte : seulement des pages canoniques, indexables, qui répondent 200.

À inclureÀ laisser de côtéPourquoi
Les URL qui répondent 200Les URL redirigées (301, 302), les pages 404 et 410Le sitemap doit lister la destination, pas le chemin pour y arriver
La version canonique unique de chaque pageLes variantes avec paramètres, session, impression ou suiviLes doublons éparpillent le signal
Les pages que vous voulez voir dans les résultatsLes pages qui portent noindexVous demanderiez à Google d’indexer et de ne pas indexer la même URL
Les pages que Google a le droit d’explorerLes URL bloquées dans robots.txtMême contradiction, et Google ne peut de toute façon pas voir la page
Les guides, les outils, les pages de catégorie, les pages qui portent du contenuRemerciement, connexion, panier, résultats de recherche interne, archives de tags videsDes pages sans issue ou sans contenu propre : la règle publicitaire de Google cite d’ailleurs les pages de remerciement parmi les pages sans issue

Une fois le fichier propre, sa longueur devient un chiffre utile. Si votre sitemap liste 40 pages et que la Search Console en rapporte bien moins d’indexées, l’écart est votre liste de tâches. Un sitemap gonflé masque ce signal.

Les erreurs qui font perdre son temps à un sitemap

Le mauvais protocole ou le mauvais hôte. Un site servi sur https://example.com dont le sitemap liste des URL en http:// ou en www liste en réalité des redirections. Les générateurs construisent souvent les URL à partir d’une adresse de site configurée : vérifiez d’abord ce réglage.

Un slash final qui ne correspond pas à celui du site. Si /guides/xml-sitemap-guide redirige vers /guides/xml-sitemap-guide/, le sitemap doit contenir la seconde forme, celle que le serveur finit par servir.

Des pages redirigées, supprimées ou en noindex restées dans le fichier. Les pages bougent, et le sitemap est la dernière chose que l’on met à jour. Le générer à chaque build, à partir de la même source que les pages, supprime toute cette famille d’erreurs.

Un lastmod qui ne change jamais, ou qui change toujours. Les deux habituent Google à l’ignorer.

Un sitemap que personne ne trouve. Envoyer le fichier sur le serveur ne suffit pas. Il faut le déclarer dans robots.txt, le soumettre dans la Search Console, ou le placer là où un robot regarde.

Notre cas : un sitemap au mauvais nom

Notre générateur écrit sitemap-index.xml, qui pointe vers le fichier enfant sitemap-0.xml. Notre robots.txt déclare l’index. Les robots qui lisent la ligne Sitemap: le trouvent. Les 3 requêtes vers /sitemap.xml venaient de clients qui ont sauté la ligne et tenté le nom habituel, et ils ont reçu un 404.

Nous l’avons corrigé avec une étape de build qui copie l’index vers /sitemap.xml, si bien que les deux adresses renvoient le même fichier. C’est un petit changement, et nous ne l’avons trouvé que parce que nous lisons nos journaux. Le vérificateur AdSense suit le même ordre qu’un robot soigneux : il utilise d’abord les lignes Sitemap: du robots.txt, et ce n’est qu’à défaut qu’il essaie /sitemap.xml puis /sitemap_index.xml. Un site dont le fichier porte un autre nom et qui ne le déclare pas dans robots.txt échoue à ce contrôle alors que le sitemap existe.

Soumettez-le, puis vérifiez-le

  1. Ajoutez une ligne Sitemap: absolue au robots.txt : Sitemap: https://example.com/sitemap.xml. Elle fonctionne n’importe où dans le fichier, vous pouvez en lister plusieurs, et elle n’appartient à aucun groupe User-agent.
  2. Dans la Search Console, ouvrez le rapport Sitemaps, saisissez le chemin et soumettez-le. Un statut de réussite signifie que Google a récupéré et analysé le fichier, ce qui n’est pas la même chose qu’indexer chaque URL qu’il contient.
  3. Testez vous-même les entrées. Cette boucle demande chaque URL du sitemap et affiche celles qui ne répondent pas 200, c’est-à-dire les redirections, les erreurs et tout ce que vous n’auriez pas dû lister :
curl -s https://example.com/sitemap.xml | grep -o '<loc>[^<]*</loc>' | sed -e 's/<[^>]*>//g' -e 's/&amp;/\&/g' |
while read -r url; do
  printf '%s %s\n' "$(curl -s -o /dev/null -w '%{http_code}' "$url")" "$url"
done | grep -v '^200 '

Aucune sortie signifie que toutes les entrées répondent 200. Pour compter les entrées, utilisez curl -s URL | grep -o '<loc>' | wc -l. La boucle fait une requête par URL, ce qui convient à un site de moins de quelques centaines de pages ; pour un index de sitemaps, lancez-la sur chaque fichier enfant.

Laissez ensuite les outils vérifier le reste. Le testeur robots.txt signale l’absence de ligne Sitemap: et tout sitemap déclaré qui ne répond pas par un statut de succès, et l’analyse SEO vous dit si la page que vous testez figure dans votre sitemap. Pour le fichier qui renvoie les robots vers le sitemap, lisez les erreurs de robots.txt qui bloquent Google et AdSense.

Réponses rapides

Ai-je besoin d'un fichier d'index de sitemaps ?

Seulement si un fichier dépasserait 50 000 URL ou 50 Mo non compressés, la limite que Google donne par fichier, ou si vous voulez regrouper les URL par section. Notre générateur écrit un index de toute façon, et les robots le lisent sans difficulté.

À quelle fréquence le sitemap doit-il changer ?

Chaque fois que l'ensemble des pages change : une page ajoutée, supprimée ou déplacée. Le montage le plus simple et le plus sûr consiste à le générer à chaque build, pour qu'il ne prenne jamais de retard sur le site.

Sources

Qui est derrière ce site

GreenlightMySite est tenu par Stéphane Cardon, ingénieur réseaux et cybersécurité. Nous écrivons à partir de vrais sites passés par de vraies candidatures, et chaque affirmation technique est soit liée à une source primaire, soit mesurée avec nos propres outils.

À propos · Politique éditoriale · LinkedIn