technical
Sitemap dans robots.txt
MetricSpot vérifie la présence d'une ligne Sitemap: dans robots.txt. C'est ainsi que Google, Bing et la plupart des crawlers IA découvrent automatiquement votre sitemap.
Ce que vérifie ce contrôle
Récupère /robots.txt et cherche une ou plusieurs directives Sitemap:. Vérifie que l’URL est absolue (les URL relatives ne sont pas autorisées par la spécification) et atteignable.
Pourquoi c’est important
La plupart des crawlers découvrent votre sitemap de trois manières :
- Vous le soumettez dans Google Search Console / Bing Webmaster Tools.
- Vous le déclarez dans
robots.txtviaSitemap:. - Le crawler devine
/sitemap.xmlen dernier recours.
La méthode 2 est celle qui passe à l’échelle pour les crawlers chez qui vous n’avez pas de compte — Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, Applebot, Yandex, Baidu et des dizaines de plus petits indexeurs lisent tous robots.txt avant de crawler quoi que ce soit d’autre. Y déclarer votre sitemap, c’est une ligne de configuration qui annonce l’emplacement à tout le monde d’un coup.
Si vous la sautez, un sitemap généré par CMS à une URL non standard (/sitemap_index.xml, /wp-sitemap.xml, /sitemap-0.xml) peut ne jamais être découvert par les crawlers plus modestes qui n’essaient pas de chemins alternatifs.
Comment corriger
Ajoutez une ligne Sitemap: à /robots.txt. Utilisez l’URL absolue et canonique — même schéma (https), même nom d’hôte (avec ou sans www, correspondant à votre canonique), sans redirection.
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
Les sitemaps multiples sont autorisés. Listez-les chacun, ou listez un index de sitemaps qui référence les autres :
Sitemap: https://example.com/sitemap-pages.xml
Sitemap: https://example.com/sitemap-posts.xml
Sitemap: https://example.com/sitemap-products.xml
Règles :
- URL absolue uniquement.
Sitemap: /sitemap.xmlest invalide selon la spécification. Certains crawlers le tolèrent, d’autres ignorent complètement la directive. - Faites correspondre le schéma/hôte canonique. Si votre site est
https://www.example.com, ne déclarez pashttps://example.com/sitemap.xml. Google considère que le sitemap appartient à l’hôte sur lequel il est déclaré. - La directive
Sitemap:est globale, non rattachée à un blocUser-agent:. Placez-la sur sa propre ligne, en haut ou en bas du fichier — l’emplacement importe peu.
nginx (servant un robots.txt statique) :
location = /robots.txt {
alias /var/www/example.com/robots.txt;
}
Next.js (App Router) — robots.txt dynamique :
// app/robots.ts
import type { MetadataRoute } from "next";
export default function robots(): MetadataRoute.Robots {
return {
rules: [{ userAgent: "*", allow: "/" }],
sitemap: "https://example.com/sitemap.xml",
};
}
Astro : déposez un public/robots.txt littéral dans votre projet, ou générez-en un dans src/pages/robots.txt.ts :
// src/pages/robots.txt.ts
import type { APIRoute } from "astro";
export const GET: APIRoute = ({ site }) => {
const body = `User-agent: *
Allow: /
Sitemap: ${new URL("sitemap-index.xml", site).href}
`;
return new Response(body, { headers: { "Content-Type": "text/plain" } });
};
Si vous utilisez @astrojs/sitemap, il émet sitemap-index.xml — pointez la directive vers l’index, pas vers les sitemaps individuels.
WordPress : Yoast SEO et Rank Math ajoutent tous deux automatiquement la ligne Sitemap: au robots.txt virtuel. Si vous avez un véritable fichier /robots.txt sur disque, le plugin ne peut pas le surcharger — soit supprimez le fichier, soit ajoutez la ligne Sitemap: manuellement.
Cloudflare Workers / Pages : robots.txt n’est que du texte statique — déposez-le dans votre répertoire public/. Si vous le générez via un Worker, définissez content-type: text/plain pour que les crawlers l’analysent correctement.
Combinez avec Fichier robots.txt, Sitemap XML et Autoriser les robots IA — les trois ensemble configurent l’intégralité de la surface de découverte de crawl.
Questions fréquentes
Dois-je quand même soumettre le sitemap dans Search Console s’il est dans robots.txt ?
Oui, pour Google. La soumission dans Search Console vous donne des statistiques d’indexation par sitemap, des rapports d’erreurs et des diagnostics “découverte, non indexée” que la découverte automatique ne fournit pas. Utilisez les deux — robots.txt pour le reste du web, Search Console pour la visibilité spécifique à Google.
Puis-je avoir plus d’une ligne Sitemap: ?
Oui. La spécification autorise plusieurs déclarations de sitemap. Soit listez-les toutes, soit listez un fichier d’index de sitemaps qui référence les autres (plus propre, plus facile à maintenir).
Que se passe-t-il si l’URL de mon sitemap change ?
Mettez à jour la ligne Sitemap: et Googlebot la prendra en compte à sa prochaine lecture de robots.txt (généralement sous 24 heures). Si vous avez un ancien sitemap soumis dans Search Console, retirez-le manuellement — robots.txt indique uniquement aux crawlers où se trouve le nouveau, il ne fait pas expirer l’ancien.
Sources
Dernière mise à jour 2026-05-11