Format XML de plans Sitemap

Passer à :
Définitions des balises XML
Caractères d'échappement d'entité
Utilisation des fichiers d'index Sitemap
Autres formats Sitemap
Emplacement du fichier Sitemap
Validation de votre plan Sitemap
Extension du protocole Sitemap
Envoi d'informations aux robots d'exploration du moteur de recherche

Ce document décrit le schéma XML pour le protocole Sitemap.

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

Le plan Sitemap doit :

Toutes les autres balises sont facultatives. La prise en charge de ces balises facultatives peut varier d'un moteur de recherche à un autre. Pour plus d'informations, reportez-vous à la documentation des différents moteurs de recherche.

Toutes les URL dans un plan Sitemap doivent provenir du même hôte, tel que www.example.com ou store.example.com. Pour plus d'informations, reportez-vous à Emplacement du fichier Sitemap

Exemple de plan Sitemap XML

Vous trouverez ci-après un exemple de plan Sitemap composé d'une seule URL et utilisant toutes les balises facultatives. Ces dernières sont en italique.


<?xml version="1.0" encoding="UTF-8"?>

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

   <url>

      <loc>http://www.example.com/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

</urlset> 

Reportez-vous également à notre exemple comportant différentes URL.

Définitions des balises XML

Les balises XML disponibles sont décrites ci-après.

Attribut Description
<urlset> obligatoire

Encadre le fichier et référence le standard de protocole actuel.

<url> obligatoire

Balise parent de chaque entrée d'URL. Les autres balises sont des enfants de cette balise.

<loc> obligatoire

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> facultatif

Date de la dernière modification du fichier. Cette date doit être au format date et d’heure W3C. Celui-ci vous permet d'omettre l'heure, si vous le souhaitez, et de n'utiliser que le format AAAA-MM-JJ.

Notez que la date doit correspondre à la date de la dernière modification de la page liée, et non à celle de la génération du sitemap.

Notez que cette balise n'est pas la même que l'en-tête If-Modified-Since (304) renvoyée par le serveur. En outre, les moteurs de recherche peuvent utiliser de façon différente les informations provenant des deux sources.

<changefreq> facultatif

Fréquence probable de modification de la page. Cette valeur fournit aux moteurs de recherche une information générale et ne reflète pas nécessairement la fréquence effective d'exploration de la page. Les valeurs acceptées sont les suivantes :

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

La valeur "always" (toujours) doit être utilisée pour décrire les documents qui changent à chaque accès. La valeur "never" (jamais) doit être utilisée pour décrire les URL archivées.

Notez que la valeur de cette balise est considérée comme une indication, et non comme une commande. Même si les robots d'exploration des moteurs de recherche peuvent tenir compte de cette information, ils ne l'appliquent pas nécessairement de façon stricte. Ainsi, ils peuvent explorer des pages dont la fréquence de modification est "hourly" (horaire) moins fréquemment que cela ou, à l'inverse, explorer des pages dont la fréquence de modification est "yearly" (annuelle) plus fréquemment. Les robots peuvent explorer régulièrement les pages associées à la fréquence de modification "never" (jamais), de façon à traiter les modifications non prévues apportées à ces pages.

<priority> facultatif

Priorité de cette URL par rapport aux autres URL de votre site. Les valeurs acceptées sont comprises entre 0,0 et 1,0. Cette valeur n'a aucune incidence sur la comparaison de vos pages avec celles d'autres sites. Elle permet uniquement de signaler aux moteurs de recherche les pages que vous jugez les plus importantes pour les robots d'exploration.

La priorité par défaut d'une page est égale à 0,5.

Notez que la priorité attribuée à une page n'aura vraisemblablement aucune incidence sur le positionnement de vos URL dans les pages de résultats du moteur de recherche. Les moteurs de recherche peuvent utiliser cette information pour hiérarchiser les URL d'un même site lors de leur sélection. Cette balise vous permet donc d'augmenter la probabilité que vos pages les plus importantes figurent dans l'index de recherche.

En outre, notez que l'attribution d'une priorité élevée à toutes les URL de votre site ne vous sera probablement d'aucune utilité. En effet, cette priorité relative n'est utilisée que pour hiérarchiser les URL de votre site lors de leur sélection.

Retour au début

Caractères d'échappement d'entité

Votre fichier Sitemap doit être enregistré avec un codage UTF-8. En règle générale, vous pouvez définir ce paramètre au moment de l'enregistrement du fichier. Comme pour tous les fichiers XML, les valeurs de données (URL comprises) doivent utiliser des codes d'échappement d'entité pour les caractères répertoriés dans le tableau ci-après.

Caractère Code d'échappement
Perluète & &amp;
Apostrophe ' &apos;
Guillemets droits " &quot;
Supérieur à > &gt;
Inférieur à < &lt;

En outre, toutes les URL (y compris celle de votre plan Sitemap) doivent être codées de façon à pouvoir être lues par le serveur Web sur lequel elles se trouvent et doivent utiliser les caractères d'échappement nécessaires. Cependant, si vous utilisez un quelconque script, outil ou fichier journal pour générer vos URL (si vous les répertoriez autrement qu'en les saisissant individuellement), cette mise en forme est généralement automatique. Vous devez également vous assurer que toutes les URL respectent la norme RFC-3986 de définition des URI, la norme RFC-3987 de définition des IRI et la norme XML.

Vous trouverez ci-après un exemple d'URL utilisant un caractère non-ASCII (ü) et un caractère à remplacer par un caractère d'échappement d'entité (&)

http://www.exemple.fr/ümlat.html&q=name

Voici la même URL, codée en ISO-8859-1 (pour un hébergement sur un serveur utilisant ce codage) et utilisant des caractères d'échappement d'URL :

http://www.exemple.fr/%FCmlat.html&q=name

Voici la même URL, codée en UTF-8 (pour un hébergement sur un serveur utilisant ce codage) et utilisant des caractères d'échappement d'URL :

http://www.example.com/%C3%BCmlat.html&q=name

Voici la même URL, utilisant un caractère d'échappement d'entité :

http://www.example.com/%C3%BCmlat.html&amp;q=name

Exemple de plan Sitemap XML

Vous trouverez ci-après un exemple de plan Sitemap au format XML. Ce plan contient un petit nombre d'URL, chaque URL utilisant un jeu de paramètres facultatifs différent.


<?xml version="1.0" encoding="UTF-8"?>

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

   <url>

      <loc>http://www.example.com/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>

      <lastmod>2004-12-23</lastmod>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>

      <lastmod>2004-12-23T18:00:15+00:00</lastmod>

      <priority>0.3</priority>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>

      <lastmod>2004-11-23</lastmod>

   </url>

</urlset>

Retour au début

Utilisation des fichiers de l'index Sitemap (dans le but de regrouper plusieurs fichiers Sitemap)

Vous pouvez fournir plusieurs fichiers Sitemap, sachant que pour chacun d'eux le nombre d'URL est limité à 50 000 et que la taille de chaque fichier ne doit pas dépasser 50 Mo (52 428 800 octets). Si vous le souhaitez, vous pouvez compresser vos fichiers Sitemap à l'aide de l'utilitaire gzip pour réduire les besoins en termes de bande passante, cependant le fichier sitemap une fois décompressé ne doit pas excéder 50 Mo. Si vous souhaitez répertorier plus de 50 000 URL, vous devez créer plusieurs fichiers Sitemap.

Si vous fournissez plusieurs plans Sitemap, vous devez répertorier chaque fichier Sitemap dans un fichier d'index Sitemap. Les fichiers d'index Sitemap peuvent contenir jusqu'à 50 000 plans Sitemap et ne doivent pas excéder 50 Mo (52 428 800 octets) et peuvent être compressés. Vous pouvez utiliser plusieurs fichiers d'index Sitemap. Le format XML d'un fichier d'index Sitemap est très similaire au format XML d'un fichier Sitemap.

Le fichier d'index Sitemap doit :

La balise facultative <lastmod> est également disponible pour les fichiers d'index Sitemap.

Remarque : Un fichier d'index Sitemap ne peut référencer que les plans Sitemap stockés sur le même site que lui. Ainsi, le fichier http://www.votresite.fr/sitemap_index.xml peut inclure des plans Sitemap stockés sur http://www.votresite.fr, mais pas sur http://www.exemple.fr ou sur http://votrehôte.votresite.fr. Tout comme les plans Sitemap, votre fichier d'index Sitemap doit être enregistré avec un codage UTF-8.

Exemple d'index Sitemap XML

Vous trouverez ci-après un exemple d'index Sitemap répertoriant deux plans Sitemap :


<?xml version="1.0" encoding="UTF-8"?>

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

   <sitemap>

      <loc>http://www.example.com/sitemap1.xml.gz</loc>

      <lastmod>2004-10-01T18:23:17+00:00</lastmod>

   </sitemap>

   <sitemap>

      <loc>http://www.example.com/sitemap2.xml.gz</loc>

      <lastmod>2005-01-01</lastmod>

   </sitemap>

</sitemapindex>

Remarque : Les URL Sitemap, comme toutes les valeurs de vos fichiers XML, doivent utiliser un caractère d'échappement d'entité.

Définitions des balises XML d'un index Sitemap

Attribut Description
<sitemapindex> obligatoire Encadre des informations relatives à l'ensemble des plans Sitemap du fichier.
<sitemap> obligatoire Encadre les informations relatives à un plan Sitemap.
<loc> obligatoire

Indique l'emplacement du plan Sitemap.

Cet emplacement peut contenir un plan Sitemap, un fichier Atom, un fichier RSS ou un simple fichier texte.

<lastmod> facultatif

Indique l'heure à laquelle le fichier Sitemap correspondant a été modifié, et non l'heure à laquelle l'une des pages de ce plan Sitemap aurait été actualisée. La valeur de la balise lastmod doit être fournie au format de date et d’heure W3C.

En indiquant la date et l'heure de la dernière modification, vous permettez aux robots d'exploration du moteur de recherche de n'extraire de l'index qu'une partie des plans Sitemap, par exemple ceux qui ont été modifiés depuis une certaine date. Ce mécanisme d'extraction incrémentiel de plans Sitemap permet de découvrir rapidement de nouvelles URL sur des sites très volumineux.

Retour au début

Autres formats Sitemap

Le protocole Sitemap vous permet de fournir aux moteurs de recherche des informations détaillées supplémentaires concernant vos pages et de ne pas vous limiter aux simples URL. C'est pourquoi nous vous encourageons vivement à l'utiliser. Toutefois, outre le protocole XML, nous prenons également en charge les flux RSS et les fichiers texte, qui fournissent des informations plus limitées.

Flux de syndication

Vous pouvez fournir des flux RSS (Real Simple Syndication) 2.0 et Atom 0.3 ou 1.0. En règle générale, utilisez ce format uniquement si votre site possède déjà un flux de syndication. Notez que cette méthode peut empêcher les moteurs de recherche d'accéder à certaines URL de votre site, le flux étant susceptible de fournir uniquement des informations sur les URL les plus récentes ; cependant, lors de leur processus d'exploration habituel, les moteurs de recherche peuvent utiliser ces informations afin d'accéder aux autres pages de votre site, en suivant les liens contenus dans les pages du flux. Assurez-vous que le flux se trouve dans le répertoire de plus haut niveau devant être exploré par les moteurs de recherche. Pour extraire les informations du flux, les moteurs de recherche procèdent de la manière suivante :

Fichier texte

Vous pouvez fournir un simple fichier texte contenant une URL par ligne. Lors de la création du fichier texte, respectez les consignes suivantes :

Vous trouverez ci-après des exemples d'entrées de ce fichier texte.

http://www.exemple.fr/catalog?item=1


http://www.exemple.fr/catalog?item=11

Retour au début

Emplacement du fichier Sitemap

L'emplacement du fichier Sitemap permet de déterminer l'ensemble des URL susceptibles d'être incluses dans ce plan Sitemap. Un fichier Sitemap stocké à l'adresse http://exemple.fr/catalog/sitemap.xml peut contenir toutes les URL commençant par http://exemple.fr/catalog/, mais ne peut pas inclure d'URL commençant par http://exemple.fr/images/.

Si vous disposez des droits pour modifier le fichier http://example.org/path/sitemap.xml, il est admis que vous pourrez également fournir des informations sur les URL dotées du préfixe http://example.org/path/. Exemples d'URL qui seront acceptées dans http://example.com/catalog/sitemap.xml :


http://example.com/catalog/show?item=23

http://example.com/catalog/show?item=233&user=3453

URL qui seront refusées dans http://exemple.fr/catalog/sitemap.xml :


http://exemple.fr/image/show?item=23

http://exemple.fr/image/show?item=233&user=3453

https://exemple.fr/catalog/page1.html

Notez que cela signifie que toutes les URL répertoriées dans le plan Sitemap doivent utiliser le même protocole (http dans cet exemple) et être hébergées sur le même site que le plan Sitemap. Par exemple, si le plan Sitemap figure sous http://www.exemple.fr/sitemap.xml, il ne peut pas contenir d'URL stockées à l'adresse http://sous-domaine.exemple.fr.

Les URL refusées ne sont plus prises en compte. Il est vivement recommandé de placer votre plan Sitemap dans le répertoire racine de votre serveur Web. Par exemple, si votre serveur Web se situe à l'emplacement exemple.fr, l'URL de votre fichier d'index Sitemap devra être, dans la mesure du possible, http://exemple.fr/sitemap.xml. Dans certaines situations toutefois, vous devrez définir un plan Sitemap distinct pour les différents chemins de votre site. C'est le cas, par exemple, si le paramétrage de sécurité en vigueur dans votre entreprise définit séparément les droits d'accès en écriture aux différents répertoires.

Si vous envoyez un plan Sitemap en utilisant un chemin doté d'un numéro de port, vous devez inclure ce numéro de port dans le chemin pour chaque URL répertoriée dans le fichier Sitemap. Par exemple, si votre plan Sitemap est situé à http://www.exemple.fr:100/sitemap.xml, chaque URL répertoriée dans le plan Sitemap doit commencer par http://www.exemple.fr:100.

Plans Sitemap et envois croisés

Pour envoyer des plans Sitemap pour plusieurs hôtes à partir d'un unique hôte, vous avez besoin de "prouver" la propriété des hôtes pour lesquels les URL sont envoyées dans un plan Sitemap. Voici un exemple. Vous souhaitez envoyer des plans Sitemap pour 3 hôtes :


www.host1.com avec fichier Sitemap sitemap-host1.xml

www.host2.com avec fichier Sitemap sitemap-host2.xml

www.host3.com avec fichier Sitemap sitemap-host3.xml

De plus, vous souhaitez placer ces trois plans Sitemap sur un unique hôte : www.sitemaphost.com. Les URL Sitemap sont :


http://www.sitemaphost.com/sitemap-host1.xml

http://www.sitemaphost.com/sitemap-host2.xml

http://www.sitemaphost.com/sitemap-host3.xml

Par défaut, cela génèrera une erreur "envoi croisé", dans la mesure où vous essayez d'envoyer des URL pour www.host1.com via un plan Sitemap hébergé sur www.sitemaphost.com (et la même chose se passe pour les deux autres hôtes). Pour éviter cette erreur, vous devez prouver que vous êtes propriétaire (c'est-à-dire que vous avez l'autorité pour modifier les fichiers) de www.host1.com. Pour ce faire, modifiez le fichier robots.txt sur www.host1.com pour qu'il pointe vers le plan Sitemap sur www.sitemaphost.com.

Dans cet exemple, le fichier robots.txt à l'adresse http://www.host1.com/robots.txt contient la ligne "Sitemap: http://www.sitemaphost.com/sitemap-host1.xml". En modifiant le fichier robots.txt sur www.host1.com et en le faisant pointer vers le plan Sitemap sur www.sitemaphost.com, vous prouvez de manière implicite que vous êtes propriétaire de www.host1.com. En d'autres termes, la personne qui contrôle le fichier robots.txt sur www.host1.com considère que le plan Sitemap à l'adresse http://www.sitemaphost.com/sitemap-host1.xml contient les URL pour www.host1.com. Le même processus peut être répété pour les deux autres hôtes.

Vous pouvez maintenant envoyer les plans Sitemap sur www.sitemaphost.com.

Lorsqu'un fichier robots.txt d'un hôte spécifique, par exemple http://www.host1.com/robots.txt, pointe vers un plan Sitemap ou un index Sitemap sur un autre hôte, pour chaque plan Sitemap cible, tel que http://www.sitemaphost.com/sitemap-host1.xml, toutes les URL appartiennent à l'hôte qui pointe dessus. En effet, comme indiqué plus tôt, un plan Sitemap ne doit avoir que des URL d'un hôte.

Retour au début

Validation de votre plan Sitemap

Les schémas XML suivants permettent de définir les éléments et attributs susceptibles de figurer dans votre fichier Sitemap. Vous pouvez télécharger ces schémas à l'aide des liens suivants :

Pour les plans Sitemap : http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
Pour les fichiers d'index Sitemap : http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd

Un certain nombre d'outils sont disponibles pour vous aider à valider la structure de votre plan Sitemap à partir de ce schéma. Vous trouverez une liste d'outils en rapport avec le langage XML sur les pages suivantes :

http://www.w3.org/XML/Schema#Tools
http://www.xml.com/pub/a/2000/12/13/schematools.html

Pour valider votre fichier Sitemap ou votre fichier d'index Sitemap par rapport à un schéma, le fichier XML doit comporter des en-têtes supplémentaires, conformément aux instructions ci-dessous.

Plan Sitemap :


<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"

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

   <url>

      ...

   </url>

</urlset>

Fichier d'index Sitemap :


<?xml version='1.0' encoding='UTF-8'?>

<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd"

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

   <sitemap>

      ...

   </sitemap>

</sitemapindex>

Retour au début

Extension du protocole Sitemap

Vous pouvez étendre le protocole Sitemap à l'aide de votre propre espace de nom. Il vous suffit de spécifier l'espace de nom en question dans l'élément racine. Exemple :


<?xml version='1.0' encoding='UTF-8'?>

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"

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

         xmlns:example="http://www.example.com/schemas/example_schema"> <!-- namespace extension -->

   <url>

      <example:example_tag>

         ...

      </example:example_tag>

      ...

   </url>

</urlset>

Retour au début

Envoyer des informations aux robots d'exploration du moteur de recherche

Une fois votre fichier Sitemap créé et transféré sur votre serveur Web, vous devez en indiquer l'emplacement aux moteurs de recherche qui prennent en charge ce protocole. Pour ce faire, vous pouvez procéder comme suit :

Les moteurs de recherche peuvent alors extraire votre plan Sitemap afin de permettre à leurs robots d'explorer les URL qu'il contient.

Envoi de votre plan Sitemap par le biais de l'interface de transmission du moteur de recherche

Pour envoyer votre plan Sitemap directement à un moteur de recherche et recevoir ainsi des informations relatives à l'état de votre plan ainsi que toute erreur de traitement, consultez la documentation du moteur de recherche concerné.

Indication de l'emplacement du plan Sitemap 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.example.com/sitemap.xml

Cette instruction est indépendante de la ligne user-agent ; vous pouvez donc l'insérer où vous le souhaitez dans votre fichier. Si vous disposez d'un fichier d'index Sitemap, vous pouvez inclure l'emplacement de ce seul fichier. Vous n'avez pas besoin de répertorier chaque plan Sitemap figurant dans le fichier d'index.

Vous pouvez spécifier plusieurs fichiers Sitemap par fichier robots.txt.

Sitemap: http://www.example.com/sitemap-host1.xml

Sitemap: http://www.example.com/sitemap-host2.xml

Envoi de votre plan Sitemap par le biais d'une requête HTTP

Pour envoyer votre plan Sitemap à l'aide d'une requête HTTP (remplacez l'<URL_moteurderecherche> par l'URL fournie par le moteur de recherche), faites parvenir votre requête à l'adresse suivante :

<searchengine_URL>/ping?sitemap=sitemap_url

Par exemple, si le chemin d'accès à votre plan Sitemap est http://www.exemple.fr/sitemap.gz, l'URL se présentera comme suit :

<searchengine_URL>/ping?sitemap=http://www.example.com/sitemap.gz

Codez sous forme d'URL tous les éléments situés après /ping?sitemap=:

<searchengine_URL>/ping?sitemap=http%3A%2F%2Fwww.votresite.fr%2Fsitemap.gz

Vous pouvez envoyer la requête HTTP à l'aide de wget, de curl ou de tout autre mécanisme approprié. Si la requête réussit, vous recevrez un code de réponse HTTP 200. Si vous recevez une réponse différente, vous devrez renvoyer votre requête. Le code de réponse HTTP 200 indique uniquement que le moteur de recherche a reçu votre plan Sitemap. Il ne garantit pas que ce dernier ou les URL qu'il contient sont corrects. Vous pouvez, par exemple, créer une tâche automatique afin de générer et d'envoyer un plan Sitemap à intervalles réguliers.
Remarque : Si vous fournissez un fichier d'index Sitemap, il vous suffit d'envoyer une requête HTTP précisant l'emplacement du fichier ; vous n'avez pas besoin d'envoyer une requête différente pour chaque plan Sitemap répertorié dans l'index.

Retour au début

Exclusion de contenu

Le protocole Sitemap vous permet d'indiquer aux moteurs de recherche le contenu que vous souhaitez voir indexé. Pour indiquer aux moteurs de recherche le contenu que vous ne souhaitez pas indexer, utilisez un fichier robots.txt ou une balise META robots. Pour plus d'informations sur la non-indexation de contenu, nous vous prions de consulter la page robotstxt.org.

 

Retour au début

Dernière mise à jour : 21 novembre 2016