Comprendre les directives Meta Robots et X-Robots-Tag

Lorsque vous avez besoin d'un contrôle au niveau de la page ou de la ressource sur la façon dont les moteurs de recherche traitent votre contenu, deux mécanismes sont au cœur du SEO moderne : la balise meta robots (un élément HTML) et le X-Robots-Tag (un en-tête de réponse HTTP). Ensemble, ils vous permettent d'indiquer aux crawlers s'ils doivent indexer une page, suivre ses liens, afficher une copie en cache, montrer un extrait ou même présenter un aperçu d'image — le tout sans toucher au robots.txt. Cet article est une plongée technique approfondie dans chaque directive, le fonctionnement du ciblage par bot, ce qui se passe lorsque les règles entrent en conflit et les erreurs qui piègent même les équipes expérimentées.

Balise meta robots vs X-Robots-Tag : de quoi parle-t-on

La balise meta robots

Placée dans le <head> d'un document HTML, la balise meta robots est le moyen le plus courant d'émettre des directives d'indexation :

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

L'attribut name identifie la cible (tous les bots quand il est défini à robots, ou un crawler spécifique comme googlebot). L'attribut content contient une liste de directives séparées par des virgules. Étant intégrée au HTML, elle ne fonctionne que pour les documents que les navigateurs et les crawlers analysent effectivement comme des pages web.

L'en-tête HTTP X-Robots-Tag

Le X-Robots-Tag produit le même résultat mais au niveau de la couche HTTP :

X-Robots-Tag: noindex, nofollow

Comme il s'agit d'un en-tête de réponse, il fonctionne sur tout type de ressource — PDF, images, fichiers vidéo, flux JSON, sitemaps XML — et pas uniquement les pages HTML. C'est indispensable pour contrôler les ressources non-HTML que les moteurs de recherche pourraient autrement indexer.

Vous pouvez aussi cibler un bot spécifique en préfixant les directives :

X-Robots-Tag: googlebot: noindex

Référence complète des directives

noindex

Indique au crawler de ne pas ajouter la page à l'index de recherche. Si la page est déjà indexée, elle sera retirée après la prochaine exploration. C'est la directive la plus importante pour empêcher les pages privées, de staging ou de faible valeur d'apparaître dans les résultats de recherche. Note : le crawler doit quand même pouvoir accéder à la page pour lire la directive. Bloquer l'URL dans le robots.txt empêche le bot de voir la balise noindex, et la page pourrait rester indexée sur la base de signaux externes.

nofollow

Ordonne au crawler de ne pas suivre les liens sortants de la page à des fins de classement ou de découverte. C'est différent de l'attribut rel="nofollow" sur les éléments <a> individuels, qui cible un seul lien. Le nofollow au niveau meta s'applique à chaque lien de la page. À utiliser avec parcimonie — un nofollow global peut couper le flux de link equity interne et empêcher la découverte de pages importantes.

noarchive

Empêche les moteurs de recherche d'afficher une copie en cache de la page dans leurs résultats. La page peut toujours être indexée et apparaître dans les résultats, mais les utilisateurs ne verront pas de lien « En cache ». Utile pour les pages avec du contenu sensible au temps ou des informations tarifaires qui ne devraient pas être consultées dans une version obsolète.

nosnippet

Empêche le moteur de recherche d'afficher un extrait de texte ou un aperçu vidéo dans la page de résultats. La page peut toujours être classée et apparaître, mais sans description sous le titre. C'est un outil radical — la plupart des sites bénéficient des extraits, donc ne l'appliquez que lorsque des exigences légales ou de confidentialité l'imposent.

max-snippet:[nombre]

Contrôle la longueur maximale en caractères de l'extrait textuel affiché dans les résultats. Par exemple, max-snippet:50 limite l'extrait à 50 caractères. Le définir à 0 équivaut à nosnippet. Le définir à -1 signifie aucune limite — Google peut utiliser autant de texte qu'il le juge utile. Cela vous permet d'ajuster finement la longueur de l'extrait sans les supprimer entièrement.

max-image-preview:[paramètre]

Définit la taille maximale des aperçus d'images affichés dans les résultats de recherche. Valeurs acceptées :

  • none — aucun aperçu d'image.
  • standard — un aperçu d'image de taille par défaut.
  • large — un aperçu plus grand, qui peut augmenter la visibilité dans Discover et les fonctionnalités SERP riches en images.

Définir max-image-preview:large est souvent recommandé si vous souhaitez que vos pages soient éligibles à Google Discover et aux résultats visuels enrichis.

max-video-preview:[nombre]

Définit la durée maximale en secondes d'un aperçu vidéo dans les résultats. Une valeur de 0 désactive les aperçus vidéo. Une valeur de -1 autorise une durée illimitée. Pertinent pour les pages intégrant du contenu vidéo et souhaitant contrôler la quantité que les moteurs de recherche peuvent afficher.

unavailable_after:[date]

Indique au moteur de recherche de cesser d'afficher la page après une date et heure spécifiques. Le format suit RFC 850 ou ISO 8601. Après la date spécifiée, la page est traitée comme si elle avait une directive noindex. Parfait pour les pages d'événements, les promotions limitées dans le temps ou les offres d'emploi qui doivent automatiquement disparaître des résultats à leur expiration.

<meta name="robots" content="unavailable_after: 2026-06-30T23:59:59+00:00">

notranslate

Indique à Google de ne pas proposer de traduction de la page dans les résultats de recherche. La page originale apparaît toujours, mais les utilisateurs naviguant dans une autre langue ne verront pas de lien « Traduire cette page ».

noimageindex

Demande que les images de la page ne soient pas indexées. Notez que si l'image est référencée depuis une autre page sans cette directive, elle peut quand même être indexée. Cette directive n'est pas universellement supportée par tous les moteurs de recherche.

Ciblage par bot

Les deux mécanismes supportent le ciblage de crawlers spécifiques. Dans la balise meta, remplacez robots par le nom du bot :

<meta name="googlebot" content="noindex">
<meta name="bingbot" content="noarchive">

Vous pouvez inclure plusieurs balises meta, chacune ciblant un bot différent. Les directives dans une balise spécifique à un bot surchargent la balise générique robots pour ce bot. Par exemple :

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

Dans ce cas, Googlebot voit index (depuis sa balise spécifique) et ignore le noindex générique. Tous les autres bots suivent la règle générique et n'indexent pas. C'est puissant pour les scénarios où vous voulez du contenu dans un moteur de recherche mais pas dans les autres.

Avec l'en-tête X-Robots-Tag, le ciblage par bot utilise un préfixe :

X-Robots-Tag: googlebot: nosnippet
X-Robots-Tag: bingbot: noarchive

Plusieurs en-têtes X-Robots-Tag peuvent apparaître dans la même réponse HTTP, chacun avec son propre préfixe de bot et ses directives.

Règles de priorité en cas de conflit de directives

Comprendre comment les moteurs de recherche résolvent les signaux contradictoires est essentiel. Les règles générales sont :

  1. La directive la plus restrictive l'emporte. Si une balise meta robots dit index et l'en-tête X-Robots-Tag dit noindex, la page ne sera pas indexée. Les moteurs de recherche combinent toutes les directives applicables et appliquent l'interprétation la plus restrictive.
  2. Les directives spécifiques à un bot surchargent les génériques pour ce bot. Une balise <meta name="googlebot"> prend le pas sur <meta name="robots"> pour Googlebot spécifiquement.
  3. Le blocage par robots.txt empêche la lecture des directives. Si le robots.txt bloque une URL, le crawler ne récupère jamais la page, ne lit jamais la balise meta ni l'en-tête, et ne traite donc jamais la directive. Une page bloquée avec une balise noindex peut rester indexée car le bot n'a jamais vu l'instruction.
  4. Les deux sources sont combinées. Meta robots et X-Robots-Tag ne s'excluent pas mutuellement — ils sont additifs. Un crawler lit les deux et fusionne toutes les directives applicables en un jeu unique d'instructions.

Erreurs courantes et comment les éviter

Bloquer l'exploration et s'attendre à ce que noindex fonctionne

L'erreur la plus fréquente. Une page est bloquée dans le robots.txt et porte également <meta name="robots" content="noindex">. Comme le bot ne peut pas récupérer la page, il ne voit jamais la directive noindex. La page peut rester indéfiniment dans l'index sur la base des liens entrants et du texte d'ancre. Solution : si vous voulez désindexer une page, autorisez l'exploration pour que le bot puisse lire la balise noindex.

Appliquer noindex aux pages paginées ou filtrées sans précaution

Marquer les pages de listings paginées en noindex peut orpheliner les produits ou articles liés depuis ces pages plus profondes. Les moteurs de recherche peuvent cesser de suivre les liens internes car les pages qui les portent sont exclues de l'index. Solution : gardez les pages paginées indexables, utilisez rel="canonical" pointant vers le listing principal ou utilisez noindex, follow pour permettre la découverte de liens tout en empêchant le gonflement de l'index.

Utiliser nofollow sur les liens internes pour le « PageRank sculpting »

Il y a des années, les SEO utilisaient le nofollow interne pour canaliser le link equity. Google a déclaré que l'equity est quand même consommée — elle s'évapore simplement au lieu d'être redistribuée. Solution : utilisez plutôt une architecture de site appropriée et des contrôles d'exploration.

Oublier le X-Robots-Tag sur les ressources non-HTML

Les PDF, images et autres fichiers média ne peuvent pas porter de balise meta. S'ils ne doivent pas être indexés, la seule option est l'en-tête X-Robots-Tag. De nombreuses équipes oublient de configurer leur serveur web ou CDN pour ajouter cet en-tête aux types de contenu non-HTML. Solution : ajoutez des règles au niveau du serveur (dans Apache, Nginx ou votre CDN) pour injecter les en-têtes X-Robots-Tag sur les types de fichiers concernés.

Laisser les environnements de staging ou développement sans noindex

Les sites de staging accidentellement publics et sans directive noindex peuvent être indexés, créant des problèmes de contenu dupliqué avec le site de production. Solution : protégez toujours les environnements de staging avec une authentification ou, au minimum, une balise meta noindex à l'échelle du site et un en-tête X-Robots-Tag.

Ignorer la directive unavailable_after pour le contenu éphémère

Les pages d'événements et les promotions limitées qui persistent dans les résultats de recherche des mois après leur expiration créent une mauvaise expérience utilisateur. Solution : utilisez unavailable_after avec la date d'expiration pour que la page soit automatiquement désindexée lorsque le contenu devient non pertinent.

Comment auditer vos directives avec Spider.es

Spider.es explore votre site comme le font les bots de moteurs de recherche, en lisant les balises meta robots et les en-têtes X-Robots-Tag pour chaque URL. Le rapport d'audit signale :

  • Les pages avec des directives contradictoires (par ex. noindex dans l'en-tête mais index dans la balise meta).
  • Les pages bloquées par le robots.txt qui portent également des directives d'indexation que le bot ne verra jamais.
  • Les ressources non-HTML dépourvues d'en-tête X-Robots-Tag alors qu'il en faudrait un.
  • Les dates unavailable_after expirées qui auraient dû déclencher une désindexation.

Effectuer un crawl régulier et examiner ces signaux garantit que vos contrôles d'indexation fonctionnent comme prévu — et non qu'ils échouent en silence.

Conclusion

Les balises meta robots et les en-têtes X-Robots-Tag sont les instruments de précision du contrôle de l'exploration. Tandis que le robots.txt est une porte large, ces directives vous permettent d'ajuster finement ce qui est indexé, comment cela apparaît dans les résultats et quand cela expire. Maîtrisez l'ensemble des directives, comprenez les règles de priorité, évitez les pièges courants et auditez régulièrement. Votre présence dans les résultats de recherche en dépend.

Retour au blog