Exemples de sitemap.xml et robots.txt commentés | We.Inc
Des exemples de sitemap.xml, d'index de sitemaps et de robots.txt à copier, chaque ligne expliquée, les limites de 50,000 URL et 500 KiB, les règles avec jokers et un mini générateur de sitemap.
Exemples de sitemap.xml et robots.txt
Un sitemap.xml liste les URL que vous voulez faire explorer, chacune dans un élément url avec un loc et un lastmod facultatif, jusqu'à 50,000 URL ou 50 MB par fichier. Un robots.txt à la racine du site indique aux robots les chemins à ignorer avec des lignes User-agent, Disallow et Allow, et peut pointer vers le sitemap.
Limites et règles essentielles
Élément
Règle
URL par sitemap
50,000 maximum
Taille du fichier sitemap
50 MB maximum non compressé
Format des URL dans les sitemaps
Complètes, par exemple https://example.com/page
Emplacement du robots.txt
Racine de l'hôte, par exemple https://example.com/robots.txt
Taille de robots.txt lue par Google
500 KiB
Champs pris en charge par Google dans robots.txt
user-agent, allow, disallow, sitemap
Les générateurs produisent un fichier, mais expliquent rarement pourquoi chaque ligne est là ni ce qui se passe quand deux règles se contredisent. Chaque exemple ci-dessous est commenté, et le générateur transforme une simple liste de vos pages en sitemap valide, en échappant pour vous les caractères spéciaux.
Collez une URL complète par ligne dans le générateur et choisissez une date lastmod si vous en avez une.
Copiez le XML généré dans un fichier nommé sitemap.xml à la racine de votre site.
Choisissez l'exemple de robots.txt le plus proche de votre configuration et modifiez les chemins.
Ajoutez une ligne Sitemap au robots.txt et soumettez le sitemap dans la Search Console.
Ne listez que des URL canoniques qui renvoient 200. Des redirections, des 404 et des pages en noindex dans un sitemap envoient des signaux contradictoires.
Réglez lastmod sur la date à laquelle le contenu principal a réellement changé. Google ne l'utilise que s'il est exact de façon constante.
Google ignore changefreq et priority, vous pouvez donc les omettre.
Bloquer une page dans robots.txt ne la retire pas des résultats de recherche. Pour garder une page hors des résultats, autorisez l'exploration et ajoutez plutôt une balise meta robots noindex.
Questions fréquentes
Où placer le sitemap.xml ?
N'importe où sur le même hôte convient, mais la racine est l'emplacement habituel, car selon le protocole sitemaps.org un sitemap ne couvre en général que les URL de son propre dossier ou en dessous. Indiquez aux moteurs de recherche où il se trouve avec une ligne Sitemap dans robots.txt ou en le soumettant dans la Search Console.
Comment lister plus de 50,000 URL ?
Répartissez-les dans plusieurs fichiers sitemap et listez ces fichiers dans un index de sitemaps. L'index utilise les éléments sitemapindex et sitemap au lieu de urlset et url, et peut référencer jusqu'à 50,000 sitemaps.
Google prend-il en charge Crawl-delay ou Noindex dans robots.txt ?
Non. Google ne lit que user-agent, allow, disallow et sitemap. D'autres robots peuvent respecter Crawl-delay, mais Googlebot l'ignore, et noindex doit figurer dans une balise meta ou un en-tête X-Robots-Tag.
Que se passe-t-il quand Allow et Disallow correspondent tous deux à une URL ?
Google choisit la règle la plus spécifique, c'est-à-dire celle dont le chemin correspondant est le plus long. Si deux règles correspondantes sont aussi spécifiques l'une que l'autre, il applique la moins restrictive, à savoir Allow.
Faut-il échapper les caractères dans les URL du sitemap ?
Oui. Un sitemap est du XML, donc une esperluette doit s'écrire & et les autres caractères réservés sous forme d'entités. Le fichier doit aussi être encodé en UTF-8.
À quoi sert chaque fichier
Le sitemap est une invitation : voici les pages qui valent la peine d'être explorées et la date de leur dernière modification. Il est surtout utile pour les nouveaux sites, les grands sites et les pages que peu de liens internes atteignent.
robots.txt est un ensemble de consignes d'exploration, pas un outil de sécurité. Tout le monde peut le lire, et les robots mal intentionnés l'ignorent, alors ne comptez jamais sur lui pour cacher des zones privées. Protégez-les par une connexion.
Comment les règles sont appliquées
Un robot choisit le groupe dont la ligne User-agent le désigne le plus précisément et ignore les autres. Googlebot, s'il a son propre groupe, ne lira pas les règles placées sous User-agent: *.
Les chemins sont sensibles à la casse et se comparent depuis le début. Un astérisque remplace n'importe quelle suite de caractères et un signe dollar ancre la fin de l'URL, donc Disallow: /*.pdf$ bloque tous les PDF.
Exemples de sitemap
sitemap.xml de base
La déclaration xml, le urlset avec l'espace de noms du protocole, et un url par page. lastmod utilise le format de date du W3C.
Index de sitemaps pour les grands sites
Pointe vers des sitemaps enfants. Chaque enfant respecte la même limite de 50,000 URL et 50 MB.
Exemples de robots.txt
Tout autoriser et pointer vers le sitemap
Un Disallow vide signifie que rien n'est bloqué. C'est le bon fichier pour la plupart des sites de petites entreprises.
Boutique en ligne : ignorer paniers, comptes et combinaisons de filtres
Bloque les modèles d'URL qui créent des doublons à l'infini tout en laissant ouvertes les pages produits et catégories.
Bloquer tout un site de préproduction
Arrête les robots respectueux sur une copie de test. Ajoutez aussi un mot de passe, car ce fichier ne fait que demander poliment.
Jokers pour les types de fichiers
Le signe dollar signifie que l'URL se termine là, donc /guide.pdf est bloqué mais pas /guide.pdf.html.
Quelle règle l'emporte
Correspondance appliquée par Google à des règles d'exemple
Règles
URL
Résultat
Pourquoi
Allow: /p and Disallow: /
Autorisé
Allow: /folder and Disallow: /folder
Autorisé
Longueur égale, la moins restrictive l'emporte
Disallow: /*.php$
Autorisé
L'URL ne se termine pas par .php
Disallow: /fish
Autorisé
Les chemins sont sensibles à la casse
Mini générateur de sitemap
Collez une URL complète par ligne et le générateur écrit un urlset valide, caractères spéciaux échappés.
Vos URL, une par ligne
lastmod pour toutes (facultatif)
{n} URL incluse.
{n} URL incluses.
{n} ligne(s) ignorée(s) car ce ne sont pas des URL http ou https complètes.