X-Robots-Tag
X-Robots-Tag est un moyen de contrôler le crawl et l'indexation des moteurs de recherche au moyen des en-têtes de réponse HTTP. Au lieu de placer <meta name="robots"> dans le HTML, le serveur envoie les mêmes directives dans un en-tête de réponse comme X-Robots-Tag: noindex.
X-Robots-Tag est un moyen de contrôler le crawl et l'indexation des moteurs de recherche au moyen des en-têtes de réponse HTTP. Au lieu de placer <meta name="robots"> dans le HTML, le serveur envoie les mêmes directives dans un en-tête de réponse comme X-Robots-Tag: noindex.
Pourquoi c'est important
Les balises meta HTML ne fonctionnent qu'à l'intérieur des fichiers HTML. Les ressources non HTML, à savoir PDF, images, vidéos, réponses d'API JSON, ne peuvent pas utiliser de balises <meta>, ce qui laisse une lacune dans le contrôle de l'indexation. X-Robots-Tag comble cette lacune en s'appliquant à toute réponse HTTP. Search Engine Land a documenté des cas e-commerce où des dizaines de milliers de catalogues PDF ont été indexés et ont nui au classement en tant que contenu dupliqué, corrigés d'un coup avec X-Robots-Tag.
X-Robots-Tag, meta robots et robots.txt
| Méthode | Emplacement | Portée | Bloque le crawl ? |
|---|---|---|---|
| robots.txt | /robots.txt | Motifs d'URL | Oui, bloque le crawl lui-même |
| Meta robots | <head> HTML | Cette page HTML | Non, contrôle uniquement l'indexation |
| X-Robots-Tag | En-tête de réponse HTTP | Tout type de ressource | Non, contrôle uniquement l'indexation |
Distinction cruciale : robots.txt dit « ne pas crawler », tandis que meta robots et X-Robots-Tag disent « ne pas indexer ». Pour bloquer l'indexation, Googlebot doit effectivement atteindre la page pour lire la directive. Un blocage dans robots.txt arrête le crawl entièrement, de sorte que Google ne voit jamais l'instruction d'indexation.
Principales directives
| Directive | Signification |
|---|---|
noindex | Ne pas afficher dans les résultats de recherche |
nofollow | Ne pas suivre les liens de la page |
none | Identique à noindex, nofollow |
noarchive | Ne pas afficher de copie en cache dans les SERP |
nosnippet | Ne pas afficher d'extraits ni de miniatures |
unavailable_after: [date] | Retirer de l'index après la date |
max-snippet: [n] | Limiter la longueur de l'extrait |
max-image-preview: [setting] | Limiter la taille de l'aperçu d'image |
max-video-preview: [n] | Limiter la durée de l'aperçu vidéo |
Pour un contrôle des extraits au niveau d'un élément dans une page HTML, utilisez data-nosnippet sur l'élément précis que vous souhaitez exclure des extraits de recherche. Cela diffère de X-Robots-Tag, car cela masque uniquement le texte sélectionné plutôt que de modifier l'état d'indexation de toute la ressource.
Exemples de configuration
Bloquer l'indexation des PDF (Apache .htaccess) :
<FilesMatch "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</FilesMatch>
Bloquer un répertoire d'images (Nginx) :
location /private-images/ {
add_header X-Robots-Tag "noindex";
}
Cibler un robot précis (Googlebot uniquement) :
X-Robots-Tag: googlebot: noindex
Indexation à durée limitée :
X-Robots-Tag: unavailable_after: 31 Dec 2026 23:59:59 GMT
Exclusion d'extrait au niveau d'un élément (HTML) :
<p data-nosnippet>Ne pas afficher cette phrase dans les extraits Google.</p>
Pièges pratiques
Ne combinez pas avec un disallow dans robots.txt : si robots.txt bloque l'URL, Google ne peut pas lire l'en-tête du tout. Pour bloquer l'indexation, autorisez le crawl dans robots.txt et utilisez X-Robots-Tag noindex.
Nécessite une configuration serveur : contrairement aux balises meta, X-Robots-Tag se configure au niveau du serveur web (Apache, Nginx, Cloudflare Workers). Les plateformes CMS ne le gèrent pas toujours automatiquement.
Vérifiez avec Search Console ou curl : assurez-vous que l'en-tête apparaît bien à l'aide de l'outil d'inspection d'URL de Google Search Console ou de curl -I https://example.com/file.pdf.
Les contrôles d'extraits ne sont pas des contrôles de confidentialité : nosnippet et data-nosnippet modifient la façon dont Google affiche un résultat, mais le contenu sous-jacent reste accessible publiquement. Utilisez l'authentification ou un contrôle d'accès côté serveur pour le contenu privé.
Sources: