Comment créer un fichier sitemap.xml ? Utilité SEO ?

Par Xavier Deloffre

Parmi les différentes check-lists SEO que l’on eut retrouver sur le Web, il existe un fichier redondant que l’on appelle le sitemap.xml. A ne pas confondre avec le plan de site, ce fichier doit requérir toute votre attention pour plusieurs raisons ; C’est pour cela qu’il est observé par chaque expert SEO. Étudions ici son utilité mais également comment vous pourriez le créer.

Définition et généralités du fichier sitemap.xml

Le fichier sitemap.xml est un élément essentiel pour faciliter l’exploration d’un site par les moteurs de recherche. Introduit officiellement en 2005 par Google, puis adopté par les autres moteurs comme Bing, Yahoo ou Yandex, ce protocole a vu le jour pour répondre à un besoin simple mais stratégique : aider les crawlers à découvrir efficacement les contenus présents sur un site web, en particulier ceux peu accessibles via la navigation classique.

Dès sa création, ce protocole XML (Extensible Markup Language) a été normalisé par sitemaps.org, une initiative soutenue par les principaux moteurs de recherche. Le XML est un langage de balisage dérivé du SGML (Standard Generalized Markup Language), utilisé pour structurer l’information de manière hiérarchique et lisible par les machines.

Un fichier sitemap.xml n’a qu’un objectif : déclarer la liste des URLs disponibles à l’exploration, ainsi que certaines métadonnées relatives à ces pages. Il est généralement situé à la racine du site (exemple : https://www.monsite.com/sitemap.xml) et peut être déclaré dans le fichier robots.txt pour en faciliter la détection par les robots :

Sitemap: https://www.monsite.com/sitemap.xml

Notez que, comme le stipule Google, la présence d’une URL dans le sitemap ne garantit en aucun cas son indexation. Il s’agit simplement d’une invitation au crawl, utile notamment sur les sites volumineux, complexes ou récents.

Un rôle clé mais indirect dans le référencement

Le fichier sitemap.xml ne contribue pas directement au positionnement des pages dans les résultats de recherche (SERP). Il ne remplace pas un bon maillage interne ou une stratégie de contenus efficace. En revanche, il joue un rôle technique fondamental en matière de couverture d’indexation.

Par exemple, un site e-commerce disposant de plusieurs milliers de fiches produit ou un site multilingue structuré en sous-dossiers (ex. /fr/, /en/, /de/) tirera profit d’un sitemap pour orienter le crawl et prioriser les sections à forte valeur ajoutée.

Encodage et structure XML du fichier

Un fichier sitemap respecte une structure XML spécifique, encodée en UTF-8. Les balises les plus courantes sont les suivantes :

  • <urlset> : élément racine du document, incluant les namespaces (ex. xmlns).
  • <url> : un bloc par URL déclarée.
  • <loc> : l’URL complète de la page.
  • <lastmod> : la dernière date de modification (au format ISO 8601).
  • <changefreq> (optionnel) : fréquence de mise à jour estimée (daily, weekly, etc.).
  • <priority> (optionnel) : priorité relative entre les pages (valeur entre 0.0 et 1.0).

Voici un exemple de base :

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.monsite.com/</loc>
    <lastmod>2025-04-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
</urlset>

Un outil précieux pour la Google Search Console

La Google Search Console permet de soumettre un fichier sitemap manuellement dans la section « Sitemaps ». Cela permet notamment de :

  • Suivre le nombre d’URL découvertes, explorées, indexées,
  • Être alerté en cas d’erreurs (404, redirections, erreurs d’encodage…),
  • Faciliter la réindexation après des mises à jour majeures,
  • Accélérer l’apparition des nouveaux contenus dans l’index.

Un conseil : ne soumettez que les URLs canoniques (officielles) et évitez les doublons, redirections ou pages bloquées par robots.txt. Un sitemap bien construit est un fichier propre, clair et exhaustif.

WordPress et les extensions de sitemap

Sur les CMS comme WordPress, le fichier sitemap peut être généré automatiquement à l’aide d’extensions comme :

  • Google XML Sitemaps,
  • Yoast SEO, qui propose un sitemap dynamique,
  • Rank Math, très utilisé pour les projets avancés.

Ces outils permettent de filtrer les types de contenu à inclure (articles, pages, catégories, balises…) et de générer également un sitemap aidant le référencement des images, ce qui améliore la couverture dans Google Images.

Sitemaps spécialisés

Selon la typologie de votre site, il peut être judicieux de créer plusieurs fichiers sitemap :

  • Sitemap pour les articles,
  • Sitemap pour les pages,
  • Sitemap pour les images,
  • Sitemap pour les vidéos,
  • Sitemap pour les langues (hreflang).

Ces fichiers peuvent ensuite être regroupés dans un index de sitemap (sitemap_index.xml) qui liste tous les sitemaps secondaires :

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.monsite.com/sitemap-pages.xml</loc>
    <lastmod>2025-04-21</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://www.monsite.com/sitemap-images.xml</loc>
    <lastmod>2025-04-21</lastmod>
  </sitemap>
</sitemapindex>

Le fichier sitemap.xml est un composant discret mais essentiel de toute stratégie SEO technique. Il ne remplace pas une architecture propre ou un bon maillage interne, mais il complète efficacement votre dispositif de crawl et d’indexation. En résumé, il :

  • Guide les moteurs vers les pages importantes,
  • Signale les nouveaux contenus,
  • Structure l’accès aux différents types de ressources,
  • Offre une meilleure maîtrise de la couverture SEO.

Pour tout projet dépassant quelques dizaines de pages, il est recommandé de mettre en place un sitemap bien structuré, de le tester et de le maintenir à jour. Car oui, même les robots aiment un plan clair !

Exemple de fichier sitemap.xml

Le fichier sitemap.xml peut être généré manuellement à l’aide d’un éditeur XML comme XML Copy Editor, Notepad++ (avec coloration syntaxique), ou même directement dans un environnement de développement. Attention toutefois, ce type de fichier ne tolère aucune erreur de balisage : une simple balise mal fermée ou une faute dans l’encodage peut rendre l’ensemble du fichier inutilisable pour les moteurs de recherche.

Voici un exemple simple et valide de fichier sitemap.xml contenant une seule page, typiquement la page d’accueil :

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://monsiteinternet.com/</loc>
    <lastmod>2025-04-21</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
</urlset>

Voici une brève explication des balises utilisées :

Balise Fonction
<?xml version="1.0" encoding="UTF-8"?> Indique le type de document XML et l’encodage utilisé (UTF-8 est la norme sur le Web).
<urlset> Balise racine du sitemap. Elle contient toutes les URLs à soumettre aux moteurs de recherche. Le namespace obligatoire est http://www.sitemaps.org/schemas/sitemap/0.9.
<url> Bloc décrivant une URL unique. Un sitemap peut en contenir jusqu’à 50 000 par fichier.
<loc> Localisation exacte de la page (URL canonique). Elle doit absolument être complète, incluant le protocole (http ou https).
<lastmod> Date de dernière modification de la page au format ISO 8601 (AAAA-MM-JJ). Cela permet d’indiquer si le contenu a été mis à jour récemment.
<changefreq> Indication (non obligatoire) sur la fréquence de mise à jour du contenu. Valeurs acceptées : always, hourly, daily, weekly, monthly, yearly, never.
<priority> Indique l’importance relative de la page entre 0.0 et 1.0. Cela ne modifie pas directement le classement, mais peut influencer le comportement de crawl.

Bonnes pratiques pour structurer un sitemap

  • Incluez uniquement les URLs que vous souhaitez réellement voir indexées.
  • Évitez les URLs en noindex, les redirections ou celles bloquées dans le robots.txt.
  • Le fichier ne doit pas dépasser 50 000 URLs ni 50 Mo (non compressé). Utilisez un sitemap index pour les grands sites.
  • Vérifiez systématiquement la validité du fichier via des outils comme XML Sitemap Validator.
  • Soumettez-le dans la Google Search Console ou le Webmaster Tools de Bing pour en faciliter le suivi et les diagnostics.

Aller plus loin : exemple d’un sitemap avec plusieurs URLs

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.monsite.com/</loc>
    <lastmod>2025-04-21</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.monsite.com/contact</loc>
    <lastmod>2025-03-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.monsite.com/blog/article-seo</loc>
    <lastmod>2025-04-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Chaque bloc <url> correspond à une page distincte. Vous pouvez générer automatiquement ce type de fichier avec un script PHP ou à l’aide de plugins WordPress spécialisés comme Google XML Sitemaps ou Yoast SEO.

Pour les très grands sites (e-commerce, presse, etc.), envisagez de générer vos fichiers sitemap automatiquement avec des scripts cron côté serveur ou via des outils comme Screaming Frog SEO Spider ou Sitebulb.

Explication technique complète des balises dans un fichier sitemap.xml

Un fichier sitemap.xml respecte une structure bien définie selon les spécifications du protocole décrit sur sitemaps.org. Chaque balise utilisée y a une signification précise et une syntaxe rigoureuse, indispensable pour permettre une interprétation correcte par les moteurs de recherche.

La déclaration XML : <?xml version="1.0" encoding="UTF-8"?>

Cette ligne est obligatoire. Elle déclare le fichier comme un document XML en spécifiant la version (1.0) ainsi que l’encodage utilisé. L’encodage UTF-8 est la norme universelle du Web, notamment pour sa compatibilité avec les caractères accentués et spéciaux utilisés dans de nombreuses langues.

Balise racine : <urlset>

Le fichier est enveloppé dans une balise unique <urlset> qui sert de conteneur global. Elle doit inclure l’attribut xmlns (espace de nom XML), défini comme suit :

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

Ce namespace garantit que le fichier est conforme au protocole standard reconnu par Google, Bing, Yahoo! et autres moteurs de recherche majeurs.

Déclaration d’une URL : <url>

Chaque URL du site est encapsulée dans une balise <url>. Il est possible d’avoir jusqu’à 50 000 blocs <url> dans un seul fichier sitemap. Au-delà, il faudra passer par un fichier sitemap index.

Adresse de la page : <loc>

Balise obligatoire. Elle contient l’adresse complète (et absolue) de la ressource. Le protocole (http ou https) doit être présent, sans redirection. Il peut s’agir d’un fichier HTML, d’un PDF, d’un flux RSS ou même d’un fichier vidéo :

<loc>https://www.monsite.com/dossier/page.html</loc>

⚠️ Les URL relatives (/dossier/page.html) ne sont pas autorisées.

Date de dernière modification : <lastmod>

Cette balise est facultative mais fortement recommandée. Elle indique la date (et potentiellement l’heure) de dernière modification de la ressource. Cela aide les crawlers à prioriser les mises à jour.

Le format accepté est celui de la norme ISO 8601, dans sa forme courte ou étendue :

  • Date simple : 2025-04-21
  • Date + heure : 2025-04-21T10:35:00+00:00

Ce format rigoureux permet aux moteurs de comprendre à la seconde près quand le contenu a été modifié. Il est souvent généré dynamiquement par des CMS ou frameworks.

Fréquence de mise à jour : <changefreq>

Autre balise facultative, elle donne une indication (non contraignante) à Google sur la fréquence à laquelle la page est susceptible d’être modifiée. Elle est utile sur les contenus très vivants comme les blogs, les actualités, les pages de promotions temporaires.

Valeurs acceptées :

  • always – pour les pages générées dynamiquement comme un flux ou une API,
  • hourly – contenus mis à jour plusieurs fois par jour,
  • daily – articles de blog ou homepages avec contenu renouvelé,
  • weekly – pages de service ou de catégorie mises à jour régulièrement,
  • monthly – pages plus statiques, à faible fréquence de modification,
  • yearly – mentions légales, CGV, etc.
  • never – archives, documents PDF statiques, etc.

Notez que cette valeur reste indicative. Google ne garantit pas qu’il respectera le rythme suggéré.

Priorité de l’URL : <priority>

Cette balise indique à quel point une page est importante par rapport aux autres pages du site (pas par rapport à d’autres sites). Elle varie de 0.0 (aucune importance) à 1.0 (priorité maximale).

Quelques recommandations pratiques :

  • 1.0 pour la homepage,
  • 0.8 pour les pages catégories importantes,
  • 0.6 pour les fiches produits ou articles de blog,
  • 0.3 pour les pages secondaires (mentions légales, contact, etc.).

Attention, Google n’interprète plus cette valeur comme un facteur direct de crawl prioritaire, mais elle peut avoir un impact en complément de l’arborescence et du maillage.

Contenu multimédia et extensions

Le protocole sitemap peut être étendu avec des balises spécifiques pour :

  • Images : via le namespace xmlns:image pour optimiser l’indexation des visuels,
  • Vidéos : via xmlns:video pour les plateformes médias,
  • Actualités : via xmlns:news (Google News).

Ces extensions sont très utiles dans des contextes spécifiques et nécessitent une structure encore plus rigoureuse, avec parfois des validations spécifiques (comme dans Google News).

L’usage du fichier sitemap.xml pour les sites multilingues

Gérer un site multilingue de manière optimale est l’un des défis techniques majeurs du SEO international. Cela implique non seulement une traduction cohérente des contenus, mais aussi une signalisation claire aux moteurs de recherche pour éviter les problèmes de duplication de contenu et de mauvaise indexation. C’est ici que le fichier sitemap.xml prend toute son importance en complément ou en alternative à la balise hreflang intégrée dans le code HTML.

Depuis 2011, Google autorise l’usage de la balise hreflang directement dans les fichiers sitemap pour faciliter la gestion de sites en plusieurs langues et/ou géolocalisations. Cette méthode est particulièrement adaptée pour les sites où la génération dynamique des balises hreflang dans le HTML serait complexe, comme dans certains CMS ou frameworks e-commerce.

Ajouter l’espace de noms XHTML dans le sitemap

Pour activer l’usage des balises xhtml:link dans votre sitemap, il faut d’abord inclure l’espace de noms XHTML dans la balise racine <urlset>. Il se présente ainsi :

xmlns:xhtml="http://www.w3.org/1999/xhtml"

Voici un exemple de déclaration complète dans l’entête du fichier sitemap :

<urlset 
    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
    xmlns:xhtml="http://www.w3.org/1999/xhtml">

Exemple de bloc multilingue dans le sitemap

Une fois l’espace de noms défini, chaque URL peut comporter plusieurs sous-éléments <xhtml:link> pour spécifier les versions linguistiques alternatives d’une même page. Voici un exemple concret :

<url>
  <loc>https://monsupersite.com/fr</loc>
  <xhtml:link 
    rel="alternate" 
    hreflang="fr" 
    href="https://monsupersite.com/fr" />
  <xhtml:link 
    rel="alternate" 
    hreflang="en" 
    href="https://monsupersite.com/en" />
  <xhtml:link 
    rel="alternate" 
    hreflang="de" 
    href="https://monsupersite.com/de" />
</url>

Chaque bloc <xhtml:link> décrit une version alternative de la même ressource pour une langue (et éventuellement une région) donnée. Le paramètre hreflang peut être une simple langue (en) ou un couple langue/région (en-GB, fr-CA, etc.).

Points d’attention pour l’utilisation du hreflang dans un sitemap

  • Toutes les langues doivent se faire référence entre elles : si la version anglaise indique une version française en hreflang, alors la version française doit également indiquer la version anglaise.
  • Inclure l’autodéclaration : chaque version d’URL doit aussi faire référence à elle-même avec un hreflang correspondant à sa propre langue.
  • Éviter les erreurs de format : chaque attribut doit respecter la norme ISO 639-1 pour les langues et ISO 3166-1 Alpha 2 pour les régions.
  • Attention aux erreurs de copier-coller : dans l’exemple fourni, on notait une erreur : hreflang="htttp://monsupersite.com/fr" doit évidemment être href="https://monsupersite.com/fr".

Cas d’usage typiques

Structure du site Stratégie hreflang à appliquer
monsite.com/fr/ et monsite.com/en/ Utilisation d’un seul domaine avec des sous-répertoires, le hreflang est idéal en sitemap
monsite.fr et monsite.de Utilisation de domaines localisés, il faut faire correspondre les versions régionales
monsite.com/?lang=fr et ?lang=en Utilisation de paramètres d’URL : à éviter, mais hreflang reste possible

L’usage du sitemap multilingue est une excellente alternative aux balises hreflang dans le code HTML, notamment sur les sites à fort volume ou multi-technologies. Il simplifie la gestion des versions linguistiques tout en restant conforme aux exigences des moteurs. Bien mis en œuvre, il contribue à une meilleure indexation internationale, réduit les risques de contenu dupliqué et améliore la pertinence des résultats affichés à l’utilisateur selon sa langue ou sa localisation.

Conclusion sur le fichier sitemap.xml

Le fichier sitemap, s’il ne représente pas un besoin en termes de référencement, le devient souvent pour des raisons de structure du site. A peu près inutile sur les tout petits sites (en tous cas négligeables au reste des autres actions d’optimisation), il facilite le crawl, permet un distingo entre les langues et régions cibles comme évoqué dans le dernier point : ce sont dans ce cas des facteurs très influents. Si le fichier est bien conçu, il apporte ainsi une possibilité supplémentaire de lecture des nouvelles urls par les robots, favorisant également la lecture des liens internes de chaque document. N’oubliez pas de faire valider votre fichier dans la Search Console, Google vous dit s’il a des problèmes de lecture !

Xavier Deloffre

Xavier Deloffre

⇒ Fondateur de la société Facem Web à Arras, Lille (Hauts de France), je suis également blogueur et formateur en Web Marketing, Growth Hacking. Passionné de SEO d'abord (!), je fais des outils Web à disposition tout ce qui est possible dans la chasse aux SERPs afin de travailler la notoriété de nos clients.

0 commentaires

Besoin de visibilité ?

☑️ Experts du référencement

☑️ + de 12 ans d’éxpérience

☑️ + 500 clients satisfaits

☑️ Création de sites

☑️ Audit SEO

☑️ Conseil SEO

☑️ Référencement de sites

☑️ Devis gratuit