Le fichier sitemap

Nous avons voulu synthétiser ici ce que nous connaissons concernant le fichier sitemap, son fonctionnement, sa syntaxe. Nous espérons qu'après la lecture de ce tutoriel, le fichier sitemap n'aura plus de secret pour vous.

Qu'est ce que le fichier sitemap et à quoi sert-il ?

Un fichier sitemap est un fichier XML, il permet d'indiquer aux robots des moteurs de recherche les pages de votre site qu'ils doivent explorer.

Il est donc un peu une carte de votre site spécialement créée pour les moteurs de recherche comme Google, Bing ou yahoo. Dans sa forme la plus simple, le fichier sitemap répertorie les URL de votre site ainsi que des métadonnées complémentaires sur chacune de vos URL (Exemple : date de dernière modification, fréquence de révision et importance relative par rapport aux autres URL de votre site).

Exemple d'un fichier sitemap en XML

Ceci est un petit exemple d'un fichier sitemap en XML, cet exemple est très court, mais il vous donnera une idée globale de la structure du sitemap.

<?xml version="1.0" encoding="UTF-8"?>
 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 
   <url>
 
      <loc>http://www.zonewebmaster.eu/</loc>
 
      <lastmod>2011-01-01</lastmod>
 
      <changefreq>monthly</changefreq>
 
      <priority>0.8</priority>
 
   </url>
 
</urlset>

Le format du protocole sitemap se compose donc de balises XML. Toutes les valeurs de données se trouvant dans un fichier sitemap doivent utiliser des caractères d'échappement d'entité. Quant au fichier, il doit être enregistré avec un codage UTF-8.

Explication des balises utilisées dans le sitemap

Voici un tableau reprenant les balises XML utilisées pour le fichier sitemap

Balises Particularité Description de la balise
<urlset> Obligatoire Cette balise encadre le fichier et indique le standard du protocole actuel.
<url> Obligatoire C'est une balise parent qui encadre chaque entrée d'URL. Les autres balises sont des balises enfants de cette balise.
<loc> Obligatoire Indique l'URL de la page. Cette URL doit commencer par l'intitulé du protocole (http, par exemple) et se terminer par une barre oblique si votre serveur Web l'exige. L'URL ne doit pas comporter plus de 2 048 caractères.
<lastmod> Facultative Précise la date de la dernière modification de la page1). Cette date doit être au format AAAA-MM-JJ
<changefreq> Facultative Indique la fréquence probable de modification de la page. Elle peut prendre différentes valeurs : ( always, hourly, daily, weekly, monthly, yearly, never). On utilise always pour indiquer que la page change a chaque accès et never pour les URL qui ne changent jamais comme les URL de pages d'archives. Notez que la valeur de cette balise n'est qu'indicative et que les robots d'exploration des moteurs de recherche ne tiennent pas ou peu compte de cette balise mais peuvent s'en servir pour référencer ou non une page selon la véracité de cette balise. Si vous ne savez pas quoi mettre comme valeur, privilégiez les valeurs yearly, never, ou même ne pas mettre la balise.
<priority> Facultative Cette balise indique la priorité de cette page par rapport aux autres pages de votre site. Les valeurs acceptées seront comprises entre 0,0 et 1,0 avec 0,0 pour les pages les moins importantes et 1.0 pour les pages les plus importantes. La priorité par défaut d'une page est de 0,5.
:!: Ne mettez pas une priorité élevée à toutes vos pages, cela desservira votre indexation dans les moteurs de recherche. :!:

Où mettre mon fichier sitemap ?

Dans les cas les plus simples, le fichier sitemap se situera à la racine de votre site.

Si vous mettez votre fichier sitemap dans un répertoire de votre site : http://www.zonewebmaster.eu/nos_informations/ alors votre fichier sitemap ne pourra que contenir les URL contenu dans ce répertoire et des répertoires enfants.

Pour exemple :

http://www.zonewebmaster.eu/nos_informations/article-92-Panda_de_Google_en_retard.html
http://www.zonewebmaster.eu/nos_informations/index.php?storytopic=7

http://www.zonewebmaster.eu/nos_tutoriaux/
http://www.zonewebmaster.eu/lexique/

Une précision, si l'URL d'accès a votre fichier sitemap comprend un numéro de port, toutes les URL de ce fichier devront posséder ce même numéro de port.

Si l'URL d'accès de votre fichier sitemap est le http://www.zonewebmaster.eu:80 alors chaque URL répertoriée dans le sitemap commenceront par http://www.zonewebmaster.eu:80/

Des petites précisions sur l'encodage du fichier sitemap

Le fichier sitemap doit être enregistré avec un encodage UTF-8. La plupart des éditeurs de textes vous permettent de définir ce paramètre lors de l'enregistrement du fichier. De plus tous les caractères spéciaux se trouvant dans l'URL doivent être conforme aux normes RFC-3986 de définition des URI, RFC-3987 de définition des IRI et la norme XML.

Vous pouvez consulter la liste des codes d’échappement d'entité sur cette page

Les caractères ? = _ - . peuvent rester sous cette forme

Les fichiers index sitemap

Un fichier sitemap ne doit pas comporter plus de 50.000 URL ou ne doit pas excéder 10Mo2). Pour les grands sites possédant beaucoup de pages, vous devrez donc créer plusieurs fichiers sitemap.

Un fichier index sitemap est un fichier qui répertorie plusieurs fichiers sitemap, il faut savoir que le fichier index sitemap pourra comporter 50.000 fichiers sitemap. Vous pourrez donc référencer 2.500.000.000 pages de votre site grâce au sitemap.

Le fichier d'index sitemap doit :

  • Commencer par une balise d'ouverture <sitemapindex> et terminer par une balise de fermeture </sitemapindex>.
  • Inclure pour chaque fichier sitemap une entrée <sitemap> en tant que balise XML parent.
  • Inclure une entrée enfant <loc> pour chaque balise parent <sitemap>.

La balise <lastmod> peut aussi être utilisée dans les fichiers index sitemap.

:!: Un fichier d'index sitemap ne peut référencer que les fichiers sitemap stockés sur le même site que lui. Ainsi, le fichier sitemap.xml peut inclure des fichiers sitemap stockés sur www.zonewebmaster.eu, mais pas sur http://www.chg-web.com ou sur http://www.chg-web.org . Tout comme les fichier sitemap, votre fichier d'index Sitemap doit être enregistré avec un codage UTF-8. :!:

Exemple de fichier index sitemap

<?xml version="1.0" encoding="UTF-8"?>
 
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 
   <sitemap>
 
      <loc>http://www.zonewebmaster.eu/sitemap1.xml.gz</loc>
 
      <lastmod>2011-01-01T18:23:17+00:00</lastmod>
 
   </sitemap>
 
   <sitemap>
 
      <loc>http://www.zonewebmaster.eu/sitemap2.xml.gz</loc>
 
      <lastmod>2011-03-03</lastmod>
 
   </sitemap>
 
</sitemapindex>

Indiquer l'emplacement de votre sitemap aux moteurs de recherche

Une fois que votre fichier sitemap est créé et que vous l'avez transféré sur votre serveur web, vous devez en indiquer l'emplacement aux moteurs de recherche qui prennent en charge ce protocole.

Directement par le biais de l'interface du moteur de recherche

Certains moteurs de recherche vous fournissent une interface qui vous permet d'indiquer le chemin de votre fichier sitemap. Ce sont souvent des interfaces proposant différents outils pour le suivi de votre site. Nous vous donnons pour indications les liens vers les interfaces des principaux moteurs de recherche3).

Indiquer l'information dans votre fichier robots.txt

Vous pouvez indiquer l'emplacement du plan Sitemap à l'aide d'un fichier robots.txt. Pour ce faire, il vous suffit d'ajouter la ligne suivante :

Sitemap: http://www.zonewebmaster.eu/sitemap.php

Cette instruction est indépendante de la ligne user-agent.

Vous pouvez y spécifier plusieurs fichiers sitemap ou votre fichier index sitemap.

Envoi de votre sitemap via une requête HTTP

Vous pouvez envoyer votre requête à l'aide de logiciels comme wget, curl ou tout autre mécanisme approprié. Pour faire simple, rien de tel qu'un exemple

wget <search_engine_URL>/ping?sitemap=http://www.zonewebmaster.eu/sitemap.xml

Bien sûr, il faut remplacer <search_engine_URL> par l'URL fourni par le moteur de recherche (Pour Google, c'est : http://www.google.fr) et l'URL du sitemap de notre site web par l'URL du fichier sitemap de votre site web.

Si tout ce passe correctement, vous devriez recevoir le code réponse HTTP 200 qui indique le moteur de recherche à bien reçu votre sitemap4).

Autres formats sitemap

Comme vous l'avez peut être remarqué, notre fichier sitemap a une extension en .php , nous avons créé un script en PHP qui génère un fichier XML automatiquement. Ce script nous permet d'intégrer les nouvelles pages du site du façon entièrement automatique. Ceci est un exemple, mais le fichier sitemap peut très bien être un flux RSS ou même un fichier texte (.TXT).

Flux RSS

Vous pouvez fournir des flux au format RSS 2.0, ATOM 0.3 ou ATOM 1.0. Cette méthode n'est réellement valable que si votre site possède déjà un flux de syndication. De plus elle peut empêcher les moteurs de recherche d'accèder à certaines URL de votre site étant donné que votre flux fournira essentiellement des informations sur les URL les plus récentes.

Le fichier texte

Vous pouvez aussi fournir simplement un fichier texte. Il faut néanmoins respectez les consignes suivantes :

  • Le ficher texte doit contenir une URL par ligne.
  • Le fichier texte devra contenir moins de 50.000 URL et être inférieur à 10Mo.
  • Les URL doivent être complète, y compris l'http://.
  • Utilisez le codage UTF-8.
  • Le fichier texte ne doit pas contenir d'en-tête ou de pied de page.
  • Le fichier texte doit être constitué que d'URL.
  • Le fichier texte doit se trouver dans la racine de votre site.

Bien entendu les URL devront respecter les normes RFC-3986, RFC-3987 et XML. Vous pouvez aussi compresser votre sitemap à l'aide de l'utilitaire gzip en respectant la règle des 10Mo lorsque le fichier est décompressé.

Allons un peu plus loin

Il existe sur le net, des outils permettant de générer votre fichier sitemap, en voici une liste non-exhaustive

Mots de la fin

J'espère que ce tutoriel vous apportera les renseignements qui vous avez besoin concernant le fichier sitemap. N'hésitez pas a laisser des commentaires ci-dessous si vous remarquez des erreurs :-P , omissions :-P ou simplement un mot d'encouragement.

Mise à jour

  • [10/08/2015] : Mise à jour des informations
  • [15/11/2017] : Mise à jour des informations - Harmonisation des pages

Auteurs et sources

1)
cette balise n'est pas la même que l'en-tête If-Modified-Since (304) renvoyée par le serveur.
2)
Même si vous compressez votre fichier à l'aide de l'utilitaire gzip, le fichier décompressé ne doit pas excéder les 10Mo
3)
N'hésitez pas à nous envoyer un mail si vous connaissez des interfaces pour les autres moteurs de recherche.
4)
Le code réponse HTTP 200 ne garantit pas que votre fichier sitemap ou que les URL qu'il contient sont valide