Aller au menu - Aller au contenu

Icône Le sitemap, à quoi ça sert ?

Mise à jour : 22/08/2008
232 visites depuis 7 jours , classé 365/777
Exister pour un moteur de recherche, ça veut dire être indexé dans sa base de données. Le sitemap est une technique qui facilite le travail d'indexation des moteurs de recherche. Cette technique est approuvée officiellement par les moteurs de recherche majeurs : Google, Yahoo, MSN et Ask. Le fichier sitemap permet à un webmaster d'indiquer aux moteurs de recherche comment indexer son site web. L'indexation de son site web est donc, en général, plus conforme à ses attentes.

Le sitemap, quésaco ?

Les crawlers



Un crawler est un robot (aussi appelé bot ou spider) qui parcourt le web et récupère automatiquement les pages web visitées. Les moteurs de recherche ont des crawlers qui se chargent du travail d'indexation. Le crawler de Google s'appelle GoogleBot alors que celui de Yahoo s'appelle Yahoo Slurp.

À chaque fois qu'un crawler visite une page web, il en fait l'analyse, en extrait les liens vers d'autres pages web et les indexe dans sa base de données. Quelques temps plus tard, il visite les pages nouvellement indexées et réitère l'opération.

C'est ce qu'on pourrait appeler l'indexation naturelle. Il est néanmoins possible de devancer ce processus, à l'aide du protocole sitemaps.


Le protocole sitemaps



En novembre 2006, Google, Yahoo et Microsoft Live Search se sont mis d'accord pour supporter le protocole sitemaps (avec un s). Le protocole sitemaps est un standard qui peut vous aider à soumettre l'ensemble de vos pages web aux moteurs de recherche.

Ask.com a récemment rejoint Google, Yahoo et Microsoft. Désormais les 4 principaux moteurs de recherche supportent le protocole sitemaps.


Le fichier sitemap



Le protocole sitemaps s'implémente côté webmaster sous la forme d'un fichier sitemap.

Les fichiers sitemap représentent un moyen facile pour les webmasters d'informer les moteurs de recherche sur les pages de leurs sites web prêtes à être crawlées. C'est un format XML qui facilite la création d'un fichier sitemap compréhensible par tous les moteurs de recherche.

Les moteurs de recherche peuvent désormais détecter automatiquement votre fichier sitemap, nous verrons cela plus loin.

Le fichier sitemap en détail

Le sitemap, ça ressemble à quoi ?




Dans sa forme la plus simple, un sitemap est un fichier XML qui liste les URL d'un site web avec en plus quelques meta-données (ce n'est pas un gros mot :p ) renseignant chaque URL :

  • la date de sa dernière mise à jour ;
  • selon quelle fréquence change l'URL ;
  • son importance relativement aux autres URL du site.


Ces informations aident les moteurs de recherche à crawler votre site web intelligemment.

Ce qui donne dans votre fichier XML sitemap.xml :

Code : XML
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version='1.0' encoding='UTF-8' ?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
  <url>
    <loc>http://www.mon-site-web.com</loc>
    <lastmod>2007-06-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>http://www.mon-site-web.com/une-page-web.html</loc>
    <lastmod>2007-05-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.1</priority>
  </url>
  <url>
    <loc>http://www.mon-site-web.com/une-autre-page-web.html</loc>
    <lastmod>2007-06-06</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.1</priority>
  </url>
  ...
</urlset>




Toutes ces informations sont-elles vraiment indispensables ? :(


Non :-° . En fait, comme nous le verrons par la suite, la plupart des balises sont optionnelles.


Les différentes balises de votre fichier sitemap




Nous allons maintenant passer au crible toutes les balises du standard XML sitemap.

TagStatutExplication
urlset obligatoire Le tag urlset précise la version du standard XML sitemap utilisée. La valeur renvoie à une URL qui décrit le format utilisé dans le fichier courant. Dans la mesure où le standard peut évoluer, ce tag permet de faire cohabiter des anciennes versions du standard avec la dernière sans que cela ne pose problème. Il est donc inutile de mettre à jour son fichier sitemap lorsque le standard évolue (ça tombe bien, les webmasters ne sont pas particulièrement courageux :) ), à moins de vouloir profiter des nouvelles fonctionnalités que celui-ci propose.
url obligatoire Le tag url regroupe l'ensemble des informations concernant une unique URL ou page web. Il en faut donc un par URL ou page web décrite dans le fichier sitemap (sitemap.xml).
loc obligatoire <loc><a href="http://www.mon-site-web.com"><a href="http://www.mon-site-web.com">http://www.mon-site-web.com</a></a></loc>
Le tag loc précise l'URL courante, ici http://www.mon-site-web.com/.
lastmod optionnel <lastmod>2007-06-03</lastmod>
Le tag lastmod précise la date de dernière mise à jour de l'URL courante. Cette date doit nécessairement être au format AAAA-MM-JJ, ici 2007-06-03, soit le 3 juin 2007.
changefreq optionnel <changefreq>weekly</changefreq>
Le tag changefreq précise avec quelle fréquence change l'URL courante. Il peut prendre les valeurs always, hourly, dayly, weekly, monthly, yearly, never pour respectivement toujours (à chaque nouvel accés à l'URL courante), chaque heure, chaque jour, chaque semaine, chaque mois, chaque année, ou jamais (pour les URL archivées), ici weekly, soit chaque semaine.
priority optionnel <priority>1.0</priority>
Le tag priority précise l'importance de l'URL courante relativement aux autres URL du même site (priority = 0.1, 1.0, etc.). Sa valeur varie de 0.0 (priorité faible) à 1.0 (priorité forte). S'il est absent, alors la valeur par défaut est 0.5. Dans le cas présent, la valeur 1.0 indique une forte priorité.


Comment les moteurs de recherche trouvent mon fichier sitemap ?


Les 4 principaux moteurs de recherche Google, Yahoo, MSN Live Search et Ask vérifient régulièrement les fichiers robots.txt des sites web. L'ajout d'une ligne dans ce fichier suffit alors pour indexer votre fichier sitemap. Ce qui donne dans votre fichier robots.txt :


Code : Autre
1
Sitemap: <lien url="http://www.mon-site-web.com/sitemap.xml">http://www.mon-site-web.com/sitemap.xml</lien>


Attention, le fichier robots.txt doit se trouver à la racine de votre site web.


Vous pouvez néanmoins devancer leurs visites en soumettant directement vos fichiers sitemap à Google, Yahoo et Ask. Pour Google et Yahoo, il vous faudra un compte. Alors que pour Ask, il suffit de pinger l'URL qui suit avec l'adresse de votre sitemap en paramètre http://submissions.ask.com/ping?sitema [...] n-sitemap.xml.

Les limites du sitemap

Comment le fichier sitemap aide votre site web ?



Habituellement, les crawlers du web découvrent les nouvelles pages web à partir de liens faits par d'autres sites web. Le fichier sitemap permet aux crawlers qui supportent ce protocole de collecter en une fois toutes ces informations ainsi que les meta-données associées.

Le fichier sitemap vous permet d'informer les moteurs de recherche à propos des pages de votre site web. Il est souvent plus facile pour les moteurs de recherche de trouver toutes vos pages web si vous utilisez un fichier sitemap.

Est-ce qu'un fichier sitemap est indispensable à un bon référencement ?



Non, de manière générale un site web bien construit n'a pas besoin d'un fichier sitemap. Utiliser le protocole sitemap ne garantit pas que vos pages web seront intégrées aux index des moteurs de recherche, mais cela facilite grandement et améliore la qualité du travail des crawlers.

Le fichier sitemap ne sert à rien, alors ?



Non, en plus de garantir une indexation optimale, il est souvent incontournable. Il répond à des problématiques particulières liées à l'emploi de technologies spécifiques (Flash, Javascript, etc.) ou encore aux sites web de plusieurs milliers de pages.


Sitemap et positionnement



Il faut bien prendre garde à ne pas confondre indexation et positionnement dans les résultats de recherche. Indexation veut dire présent dans la base de données des moteurs de recherche. Or, une page web ne peut en aucun cas sortir dans les résultats de recherche, si elle n'est pas indexée.

Est-ce qu'un fichier sitemap améliore mon positionnement dans les moteurs de recherche ?


Un sitemap aide les moteurs de recherche à trouver vos pages web mais ne vous aide pas à obtenir un meilleur positionnement dans les moteurs de recherche. Quand ceux-ci indexent vos pages, ils doivent trouver des pages au contenu optimisé et de bons backlinks. Les moteurs de recherche vous positionneront bien uniquement si vous avez les deux.

Q.C.M.

C'est quoi, un sitemap ?
Quelles sont les balises obligatoires du fichier sitemap ?
Comment les moteurs de recherche trouvent mon sitemap ?

Statistiques de réponses au QCM

Le protocole sitemap peut vous aider à informer les moteurs de recherche à propos de vos pages web. Rappelez-vous : une indexation réussie est la première étape d'un référencement réussi.

Vous trouverez davantage d'informations à propos du nouveau standard sitemap sur le site web officiel du sitemap. Il peut également être intéressant de visiter la page sitemap de Google et la page indexation de Ask.

Partager

19 commentaires pour "Le sitemap, à quoi ça sert ?"
Note moyenne : 3.33 / 4 (9 votes)
Pseudo Commentaire
Hors ligne Kissifrot # Posté le 28/04/2008 à 11:33:42
Avatar

Ville : Lagny sur marne
Pays : France métropolitaine
Études : IUT Villetaneuse

Très bon tuto, par contre je pense qu'il faudrait indiquer qu'il est possible de générer un fichier sitemaps automatiquement, et préciser les outils qui le font.

Projet en cours : Kalayaan.
 
Hors ligne Thulium # Posté le 29/04/2008 à 20:25:19
le p'tit chat !!!
Avatar

Études : IUT Angers-Cholet

(18)

Salut, je vous donne un script qui créé un sitemap automatiquement :
(il faut placer la page à la racine de votre site, vous pouvez retrouver le script dans le topic vos fonctions ou astuces)
Code : PHP - sitemap.php
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
/***************
générateur de sitemap créé le 28-29/04/2008 par Thulium (et vidji)
cette page le créé automatiquement en prenant toutes les pages du site.
J'aurai pu faire ce script avec la fonction glob, mais elle n'est souvent pas acceptée chez les hébergeurs gratuits comme free (chez qui je suis) et comme j'ai l'intention de faire un tuto dessus je prefère que ce soit au maximum compatible...
****************
Enregistrez le script dans sitemap.php et n'oubliez pas de dire d'où il provient si tu le donne, merci.
***************/
header("Content-type: text/xml");// on dit que c'est un document XML (puisque l'extension est php)
function extensions($page)// fonction pour n'enregistrer dans le sitemap seulement les fichiers HTML, HTM, PHP (tu peux changer)
	{
	 return preg_match("#^.+.(php|html?)$#", $page);
	}
function dossier($dir)//retourne le bon nom d'un dossier pour le script
	{
	 if($dir == './' OR $dir == '../' OR $dir == '/' OR $dir == '..' OR $dir == '.')//si ce n'est pas le dossier racine ou dossier parent
		 return "";
	 else
		 return $dir.'/';
	}
function url($site, $dir, $page, $lastmod, $changefreq = "weekly", $priority = "0.5")//fonction qui donne le texte du sitemapentre <url> et </url> d'une page
	{
	 if(!preg_match("#^nomdedossier#", $dir))// pour mettre, par exemple, 0.0 de priorité d'un dossier, ici tout sauf ce dossier
		 echo "
		 <url>
			 <loc>".$site.dossier($dir).$page."</loc>
			 <lastmod>".date('Y-m-d', $lastmod)."</lastmod>
			 <changefreq>".$changefreq."</changefreq>
			 <priority>".$priority."</priority>
		 </url>";
	 else // et ici ce dossier pour le 0.0
		 echo "
		 <url>
			 <loc>".$site.dossier($dir).$page."</loc>
			 <lastmod>".date('Y-m-d', $lastmod)."</lastmod>
			 <changefreq>".$changefreq."</changefreq>
			 <priority>0.0</priority>
		 </url>";
	}
function sitemap($site, $dir)// fonction coeur
	{
	 $repertoire = opendir($dir);// on ouvre le répértoire.
	 while($page = readdir($repertoire))
		{
		 if($page != './' AND $page != '../' AND $page != '..' AND $page != '.' AND $page != '/')
			{
			 $infos = stat(dossier($dir).$page);// $infos[9] est identique à filemtime
			 if(filetype(dossier($dir).$page) == 'dir')// filetype => type de fichier ^^
				{
				 sitemap($site, dossier($dir).$page);// recursivité : si c'est un dossier, on fait les <url></url> du dossier
				}
			 elseif(filetype(dossier($dir).$page) == 'file')// si c'est un fichier
				{
				 if(extensions($page))// si c'est $page a une extension acceptée :
					{
					 switch($page)//ici, reglez les importances de pages spéciales et par défaut.
						{
						 case 'index.php': // page plus importante
							 $changefreq = 'weekly';
							 $priority = '0.7';
							 break;
						 case 'newsletter.php':
							 $changefreq = 'monthly';
							 $priority = '0.8';
							 break;
						 case 'htaccess': // on s en fiche donc priorité 0.0
							 $changefreq = 'monthly';
							 $priority = '0.0';
							 break;
						 case 'forum.php':
							 $changefreq = 'always'; // pour le forum on met always
							 $priority = '0.9';
							 break;
						 case 'menu.php': // page incluse donc 0.0
							 $changefreq = 'monthly';
							 $priority = '0.0';
							 break;
						 default: // réglages par défaut
							 $changefreq = 'weekly';
							 $priority = '0.5';
						}
					 url($site, $dir, $page, $infos[9], $changefreq, $priority);// on ecrit le paragraphe sur elle.
					}
				}
			}
		}
	 closedir($repertoire);// on ferme le repertoire courant.
	}
/***************
Le début du point de vu éxécution.
***************/
echo "<?xml version='1.0' encoding='UTF-8' ?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">";// on ecrit les premières lignes du sitemap

$site = "http://www.example.com/";// on indique l'adresse du site (n'oubliez pas le / à la fin)
$dir = "./";// on indique le dossier de base d'indexation : ici la racine ; n'oubliez pas le .
/***************
on appelle une fois la fonction sitemap et c'est bon!
***************/
sitemap($site, $dir);

echo "
</urlset>";// la fin du sitemap
clearstatcache();// on vide le cache de stat() ==> <lien url="http://php.net/stat">http://php.net/stat</lien> - <lien url="http://php.net/clearstatcache">http://php.net/clearstatcache</lien>
/***************
Il me semble l'avoir assez commenté pour qu'il soit compréhensible,
L'exemple sur mon site : <lien url="http://www.lepenspinning.free.fr/sitemap.php">http://www.lepenspinning.free.fr/sitemap.php</lien>
Une idée : vous pouvez faire un système de cache pour eviter de recharger tout le sitemap, par exemple un fichier sitemap.xml et un autre faire_sitemap.php que vous appellez tous les jours avec un cron.
****************
Ce script ne gère pas les page du genre
-forum.php?topic=259&page=6
-forum-259-6.html
-livredor.php?p=12
-...
Je vous conseille de faire deux page sitemap_forum.php et sitemap_livredor.php que vous incluez à la ligne 101
***************/
?>

"Keyboard not found, press F1 to resume."
 
Hors ligne Jean-Marc 59 # Posté le 23/11/2008 à 14:54:49

Ville : Grand-fort-philippe
Pays : France métropolitaine

Tutoriel utile, mais j’ai du approfondir avec les infos glanés sur le Web. J’ai modifié les attributs de la balise urlset, en remplacant "Google.com" par "sitemaps.org" : Citation : fichier sitmap.xml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Je suppose qu'ainsi j'ouvre mon sitemap aux autres moteurs. Je n'ai pas compris l'utilité de la balise lien dans votre fichier "robots.txt", une balise dans un fichier texte me semble incongru. Suite aux infos trouvés sur Internet, je l'ai supprimé :Citation : fichier robots.txt Mon sitemap à été accepté par google, je suppose donc qu'il est bien fait. Par contre, je ne sais pas si mon fichier "robots.txt" est acceptable.

Jean-Marc
Hors ligne totouser # Posté le 04/12/2008 à 21:22:18

voici un site qui génére votres sitemap http://www.my-sitemap.com
Hors ligne 01website # Posté le 11/11/2009 à 15:31:31
Avatar

Merci pour ce super tutoriel !
C'est pile ce que je cherchais

" Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles. " Sénèque
 

Voir tous les commentaires