Sitemap et générateur de carte de site Web

La carte de site est appréciée des robots de moteurs de recherche en version XML et des utilisateurs, en version HTML, pour s'orienter au besoin sur le site.
Actuellement les sitemap sont étendues avec des balises image et vidéo, et même, avec un ensemble de balise qui en fait l'équivalent d'un flux RSS.

Vous pouvez générer une carte de site en juste une commande avec le script fourni ici, et éditer le document généré à partir du visualisateur intégré (ou n'importe quel éditeur de texte ou XML), et ensuite télécharger le fichier directement à la racine de votre site.
Finalement, il faudra enregistrer le fichier s'il est au format XML ou texte. Le format XML utilisé est le standard créé par Google et adopté par Yahoo et Live Search (Microsoft).



Les concepts

Comment créer une carte d'un site web?

Avec l'interface graphique, il suffit de donner le nom de la page d'accueil et de cliquer sur le bouton "Generate".

Pourquoi faire une carte de site?

Qu'elle soit au format XML et enregistrée chez Google ou au format HTML, le carte permet de mieux référencer un site web. En outre, Google fournit une analyse du référencement avec rapport sur les problèmes quand un fichier sitemap.xml est enregistré, et des statistiques.
Il vous indique quelles recherches aboutissent à vos pages et quelles pages n'ont pas pu être indexées.

Simple Map, l'écran

XML, text, HTML, quel format choisir?

Le format XML est maintenant reconnu par les principaux moteurs de recherche. Il permet de donner des indications à Googlebot et autres robots de recherche. Ce document XML est généré par Simple Map selon le format est défini à l'origine par Google.
- La balise priority: elle indique quelles pages sont les plus importantes.
- La balise lastmod: donne la date de dernière modification, à utiliser conjointement avec la fréquence.
- La balise changefreq: indique avec que fréquence le robot doit parser la page, de always pour un très gros site, et des pages qui changent fréquemment, à yearly ou never pour les documents statiques (Par exemple les spécifications officielles de formats avec un numéro de version).

Le format texte donne uniquement la liste des URL des pages. Il est accepté par Google.

Le format HTML est destiné aux visiteurs de votre site. Il peut afficher les liens, les titres, les descriptions et autres informations. Il peut ne lister qu'un partie des pages.
Il est parsé par les moteurs de recherche et peut servir à leur indiquer des pages non indexées, notamment dans le cas ou il y a plusieurs niveaux de répertoires, les plus profonds n'étant pas toujours pris en compte.

Le fichier texte ou HTML sont de simples liste d'URLs, mais le format XML est composé de balises correspondant à un format standard.

Formats de sitemaps

Format XML

Le conteneur est urlset et il contient une série de balises url correspondant aux pages du site.

<urlset xmlns="https://www.sitemaps.org/index.htmlschemas/sitemap/0.9">
     <url>
        <loc>https://www.scriptol.fr/</loc>
        <lastmod>2005-01-01</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
     </url>  
</urlset>

Images dans les sitemaps

Pour faire indexer une image, le format est le suivant:

<url>
   <loc>http://example.com/sample.html</loc>
   <image:image>
       <image:loc>http://example.com/image.jpg</image:loc>
   </image:image>
</url>

Plus de détail sur le Centre pour Webmasters de Google.

Vidéos dans les sitemaps

Voir la FAQ des sitemaps de vidéos, par Google. (Anglais)

Sitemap de news

Pour que vos articles soient publiés sur Google News, il faut, outre l'URL contenant un ID unique, une sitemap spécifique.
Il s'agit de la sitemap standard XML avec des balises ajoutées.

En fait ces balises transforment la sitemap en fichier RSS :

La sitemap ne doit contenir que les articles publiés dans les deux derniers jours.

Sitemap index

Un index est un fichier contenant une liste de sitemaps. Il permet si vous avez plusieurs sitemaps ou si la carte de site est fractionnée en plusieurs fichiers de donner leurs URL.
Inutile de créer un index pour une seule sitemap et même des sitemaps de contenus différents peuvent maintenant être combinées en une seule comme on va le voir.

Le fichier index a aussi un format XML standard.
Le conteneur est sitemapindex et il contient une série de balises sitemap.

<sitemapindex xmlns="https://www.sitemaps.org/index.htmlschemas/sitemap/0.9">
     <sitemap>
        <loc>http://www.example.com/sitemap1.xml</loc>
        <lastmod>2004-10-01T18:23:17+00:00</lastmod>
     </sitemap>
</sitemapindex>

Contenus multiples dans un même sitemap

Pour faire face à la multiplication des types de fichiers de sitemap, Google a décidé d'intégrer tous les types de contenus dans un même fichier.
Le fichier à contenu multiple ressemble à ceci:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.sitemaps.org/index.htmlschemas/sitemap/0.9"
xmlns="https://www.sitemaps.org/index.htmlschemas/sitemap-image/1.1"
xmlns="https://www.sitemaps.org/index.htmlschemas/sitemap-video/1.1">
<url>
<loc>http://www.example.com/mapage.html</loc>
<image:image>
<image:loc>http://example.com/image.jpg</image:loc>
</image:image>
<video:video>
<video:content_loc>http://www.example.fr/mavideo.flv</video:content_loc>
<video:title>Regardez grandir le petit dernier.</video:title>
</video>
</url>
</urlset>

Donc trois types de balises dans la balise URL : loc pour une page, image et image:loc pour un fichier image, et video avec video:content_loc..

Conseils importants pour les cartes de site web

Sitemap XML

Sitemap HTML

Sitemap RSS

Sitemap index

Valider le fichier sitemap.xml

Voilà l'adresse d'un site qui validera votre fichier sitemap XML. Il vous faut les fichiers:
- sitemap.xsd, le schéma du format, est inclus dans l'archive.
- sitemap.xml, la liste des pages, sur votre site web ou local sur votre ordinateur.
Voir ressources.

Soumettre la carte de site sitemap.xml

Le fichier XML doit être placé à la racine de votre site, comme le fichier index.html ou index.php.

Selon sitemaps.org, on peut soumettre le fichier xml selon trois méthodes:

  1. Enregistrer la carte sur le site du moteur de recherche.
  2. Ajouter une ligne dans le fichier robots.txt.
  3. Lancer une requête au serveur par un script ou avec le navigateur.

Enregistrer la carte

Créer un compte dans l'outil pour webmaster de Google si vous n'en avez pas encore.
Google vous fournira un fichier d'identification à télécharger sur votre site, et une fois cela fait, vous retournez encore dans votre compte sur Google et cliquerez sur le bouton "Verify"... puis oubliez-les une journée avant de revenir sur votre compte pour les résultats.

Faire un ping

Vous pouvez aussi enregister la carte par un ping, voir "What do I do after I create my Sitemap?" dans la FAQ mentionnée en ressources plus loin.
Lorsque votre sitemap est mise à jour, vous ne devez pas l'enregistrer de nouveau, vous pouvez en informer le moteur de recherche par un ping:

https://www.google.com/ping?sitemap=http://www.example.com/sitemap.xml

Remplacer scriptol.fr par l'URL de votre site web, et google.com par le domaine du moteur de recherche concerné: yahoo, ask, etc.

Utiliser le fichier robots.txt

Selon le blog de Google, vous pouvez maintenant ajouter une entrée dans le fichier robots.txt pour la carte de site, et elle sera parsée lorsque les robots de Google et autres moteurs de recherche, rencontrent ce fichier.
La syntaxe est la suivante:

User-Agent:*
Disallow:
Sitemap: http://www.example.com/sitemap.xml

Le fichier robots.txt se place à la racine du site comme le fichier sitemap et la page d'accueil index.html ou autre.

Il est possible si l'on possède plusieurs sites, de donner dans le fichier robots.txt d'un site, l'URL des sitemaps de chacun des sites, une par ligne. Référence.

User-Agent:*
Disallow:
Sitemap: http://www.example.fr/sitemap.xml
Sitemap: http://www.example.com/sitemap.xml

Le générateur de sitemap

Comment cela fonctionne

Le programme parse récursivement le contenu d'un site web, à partir de la page d'accueil, vers chaque page qui lui est liée, et construit la liste de toutes les pages à référencer par les moteurs de recherche.
Une liste d'extensions valide dans le code source définit le type des fichiers à indéxer.
Le programme actuellement fonctionne sur une image locale du site. Il y a une quantité de sites web qui proposent de construire la carte de site directement sur le site hébergé.

Syntaxe:

php smap.php [options] site-url dépôt-local

Exemple:

php smap.php http://www.example.com c:\example.com  

Pour voir les options, taper:

php smap.php  

La liste des extensions reconnues et celle des fichiers à exclure est dans le fichier options.php. On peut exclure automatiquement des fichiers avec la meta tag:

<meta name="robots" content="noindex">

Configurer

Vous pouvez adapter le programme à votre site en modiant les variables dans le fichier options.php (ou option.sol pour le source).

Par défaut le programme peut fonctionner avec les fichiers statiques de Wordpress. Le contenu doit alors être ajouté à la carte du site dynamique.

Obtenir le programme

Obtenir le code source

Le code source du script en ligne de commande est inclus dans l'archive. C'est un programme en langage Scriptol, il est clair et compact grâce aux fonctions de traitement de texte de ce langage de programmation.

Licence de Simple Map : Mozilla 1.1.

Modifications

Ressources