Balise meta robots et SEO
Portrait Olivier Duffez

Olivier Duffez

Créateur de WebRankInfo,
consultant en référencement

Balise meta robots : guide complet SEO

La balise meta robots permet d'indiquer si une page peut être indexée ou pas, ainsi que plusieurs autres cas de figure. Ce tutoriel explique tout ce que vous avez à savoir à ce sujet pour optimiser votre référencement naturel, notamment sur Google.

Article mis à jour le 12/09/2023, publié initialement le 23/12/2014

Sommaire :

Avant de poursuivre, sachez que je propose d'autres dossiers similaires :

Meta robots : définition et code HTML

Format de la balise meta robots

La meta meta robots est une balise HTML située dans l'entête HTML, c'est-à-dire entre les balises <head> et </head>. Facultative, elle permet de fournir quelques directives aux robots des moteurs de recherche, par exemple pour interdire l'indexation de la page (robots noindex).

La syntaxe est très simple, voyez cet exemple de meta robots (version XHTML ou HTML5) :

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

Parfois vous pouvez avoir besoin d'indiquer plusieurs valeurs (dans "content") : il faut les séparer par une virgule comme dans cet autre exemple :

<meta name="robots" content="noindex,notranslate" />

Quel rapport avec le fichier robots.txt ?

Avant de lister toutes les possibilités du meta tag robots, je vous rappelle que :

  • la balise meta robots sert à fournir des directives aux robots quand ils consultent une page spécifique
  • le fichier robots.txt sert à indiquer aux robots s'ils ont le droit d'accéder à une page ou un groupe de pages du site
Si ce n'est pas clair, je vous conseille de lire mes explications sur le fichier robots.txt

En résumé :

  • pour interdire en amont le crawl (et donc l'indexation) d'une page, bloquez-la dans le fichier robots.txt
  • pour interdire l'indexation d'une page (autorisée au crawl), mettez une balise meta robots noindex dedans
  • attention : si une page est déjà indexée et que vous souhaitez la supprimer de Google, ne la bloquez pas au crawl (dans le robots.txt), car même si vous mettez aussi une meta noindex, Google ne consultera pas la page (à cause du robots.txt) et ne la désindexera pas...

Besoin d'explications plus poussées ? C'est possible, gratuitement :

Ne confondez plus disallow, noindex et nofollow : explications dans ce dossier très clair

Si vous souhaitez désindexer des pages, j'ai un dossier complet sur le sujet...

Contradiction avec l'URL canonique ?

Si vous indiquez à la fois une URL canonique (différente de l'URL courante) ET une balise meta robots (noindex par exemple), il peut y avoir des contradictions. Sachez qu'il n'existe pas d'ordre de priorité de traitement des balises <meta> et <link> donc c'est la logique de l'ensemble qui compte.

Si besoin, relisez l'article sur la canonique !

Liste des valeurs possibles de la balise meta name=robots

Balise meta robots noindex

Format :

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

balise meta robots noindex référencement :

noindex indique au robot qu'il ne faut pas indexer la page. Cela ne signifie pas que le robot ne va pas la crawler : pour cela il faut utiliser le fichier robots.txt.

Ceci ne peut être pris en compte que si Google est autorisé à crawler la page. Une fois qu'il l'aura crawlée, la page sera rapidement désindexée (supprimée de l'index).

Evidemment, si vous mettez par erreur une balise meta robots noindex sur une page stratégique de votre site, la conséquence pour votre référencement sera dramatique. Mieux vaut le repérer très rapidement afin de corriger l'erreur (en retirant cette meta noindex).

Attention : même si cette balise doit se trouver théoriquement dans l'entête HTML (dans la section <head>), si jamais votre page en contient ailleurs (dans la section <body>), alors Google en tiendra également compte. Et si jamais les informations entre des directives multiples sont incohérentes, Google tient compte de la plus restrictive. + d'infos dans le dossier "attention à vos balises meta noindex".

Astuce : en faisant un audit technique RM Tech, vous pouvez savoir si votre site contient des pages non indexables. Le rapport d'audit vous indiquera plein d'autres conseils pour votre référencement.

Testez l'audit SEO en ligne sur votre site ! Ici sur My Ranking Metrics

Balise meta robots nofollow

Format :

<meta name="robots" content="nofollow" />

nofollow indique au robot qu'il ne faut pas suivre les liens dans la page. Cela signifie que Google n'ira pas crawler les pages liées par la page contenant cette balise meta robots. Même si Google ne le précise pas dans son article, les moteurs ne tiendront pas non plus compte des liens présents sur la page dans leur algorithme (par exemple celui du PageRank).

⚠️ Il n'y a sans doute aucun cas réel pratique pour lequel il est intéressant d'ajouter cette balise, car elle interdit le suivi de tous les liens, qu'ils soient internes ou externes. Si vous souhaitez interdire la prise en compte d'un lien en particulier dans une page, ajoutez un attribut nofollow à ce lien.

Balise meta robots index

Format :

<meta name="robots" content="index" />

index indique au robot qu'il peut indexer la page. Cette valeur étant celle par défaut, il est totalement inutile de l'indiquer !

Balise meta robots follow

Format :

<meta name="robots" content="follow" />

follow indique au robot qu'il peut suivre les liens dans la page. Cette valeur étant celle par défaut, il est totalement inutile de l'indiquer !

Balise meta robots all

Format :

<meta name="robots" content="all" />

all : cette valeur est l'équivalent de index,follow. Cette valeur étant celle par défaut, il est totalement inutile de l'indiquer.

Balise meta robots none

Format :

<meta name="robots" content="none" />

none : cette valeur est l'équivalent de noindex,nofollow.

⚠️ Si vous souhaitez simplement interdire l'indexation de la page mais pas interdire la prise en compte des liens qu'elle fait, évitez d'utiliser la balise none, mieux vaut utiliser dans ce cas la balise noindex.

Balise meta robots nosnippet

Format :

<meta name="robots" content="nosnippet" />

nosnippet indique au robot qu'il ne faut pas afficher de descriptif (snippet) dans la page de résultats.

J'ai du mal à voir l'intérêt pour un webmaster d'utiliser cette possibilité puisque ce descriptif permet d'inciter l'internaute à cliquer sur le résultat (peut-être qu'il existe des cas où le descriptif créé par le moteur n'est pas assez pertinent aux yeux du webmaster, mais c'est encore pire de ne pas en faire apparaître).

💡 Au sujet du snippet, pour vous donner des chances d'avoir un bon descriptif, pensez à rédiger une bonne meta description.

Balise meta robots max-snippet

Format :

<meta name="robots" content="max-snippet:[nombre]" />

max-snippet indique au robot le nombre maximum de caractères à afficher dans le descriptif (snippet) dans la page de résultats. Ceci concerne tous les formats de résultats (résultats classiques, Google Images, Discover, Assistant) mais pas les résultats vidéo ou image.

Par exemple, pour limiter l'extrait à 140 caractères, indiquez :

<meta name="robots" content="max-snippet:140" />

Cette possibilité a été ajoutée par Google pour gérer le droit d'auteur (ou plutôt pour qu'il ne s'applique pas...). Les éditeurs de presse sont les premiers concernés mais cette balise peut être utilisée sur tous les sites.

Remarques :

  • si vous indiquez max-snippet:0, aucun extrait ne pourra être généré par Google. C'est l'équivalent de la meta robots nosnippet.
  • si vous indiquez max-snippet:-1, aucune limite ne sera appliquée. Je suppose que cela signifie la même chose que si cette balise était absente. En clair, ça ne sert à rien.
  • ceci n'a pas d'impact sur la prise en compte des contenus de votre page en termes d'indexation. C'est juste pour l'affichage dans les SERP.
  • cette instruction max-snippet est ignorée si l'éditeur du site a explicitement autorisé l’utilisation du contenu dans les extraits, par exemple avec la présence de données structurées ou dans le cas d'un accord avec Google pour réutilisation de son contenu.
  • la meta max-snippet est ignorée si la valeur [nombre] est illisible ou dans un format non compris.

⚠️ Attention, la meta max-snippet n'est pour l'instant gérée que par Google, à partir de fin octobre 2019.

Balise meta robots max-image-preview

Format :

<meta name="robots" content="max-image-preview:[valeur]" />

max-image-preview indique au robot la taille maximale de l'aperçu de l'image (vignette) à afficher dans la page de résultats.

Voici les valeurs possibles :

  • none : aucun aperçu image ne sera montré pour cette page
  • standard : affichage d’un aperçu image par défaut
  • large : une image de plus grande taille peut être montrée (jusqu’à atteindre la largeur entière du viewport)

Par exemple, pour autoriser l'affichage d'une image de grande taille :

<meta name="robots" content="max-image-preview:large" />

Remarques :

  • ceci n'a pas d'impact sur la prise en compte des contenus de votre page en termes d'indexation. C'est juste pour l'affichage dans les SERP.
  • cette instruction max-image-preview est ignorée si l'éditeur du site a explicitement autorisé l’utilisation du contenu dans les extraits, par exemple avec la présence de données structurées ou dans le cas d'un accord avec Google pour réutilisation de son contenu.
  • la meta max-image-preview est ignorée si la valeur indiquée ne correspond à aucune des valeurs attendues.

⚠️ Attention, la meta max-image-preview n'est pour l'instant gérée que par Google, à partir de fin octobre 2019.

Balise meta robots max-video-preview

Format :

<meta name="robots" content="max-video-preview:[nombre]" />

max-video-preview indique au robot le nombre maximum de secondes de l'extrait vidéo à afficher dans la page de résultats, pour un résultat de type vidéo.

Par exemple, pour limiter la preview vidéo à 3 secondes, indiquez :

<meta name="robots" content="max-video-preview:3" />

Remarques :

  • si vous indiquez max-video-preview:0, aucun aperçu vidéo ne pourra être généré par Google. Seule une vignette sera affichée.
  • si vous indiquez max-video-preview:-1, aucune limite ne sera appliquée. Je suppose que cela signifie la même chose que si cette balise était absente. En clair, ça ne sert à rien.
  • ceci n'a pas d'impact sur la prise en compte des contenus de votre page en termes d'indexation. C'est juste pour l'affichage dans les SERP.
  • la meta max-video-preview est ignorée si la valeur [nombre] est illisible ou dans un format non compris.

⚠️ Attention, la meta max-video-preview n'est pour l'instant gérée que par Google, à partir de fin octobre 2019.

Balise meta robots noarchive

Format :

<meta name="robots" content="noarchive" />

noarchive indique au robot qu'il ne faut pas laisser l'accès à la version en cache.

Voici un exemple simplifié dans une page HTML (idem pour HTML5) :

<html><head><meta name="robots" content="noarchive">

Le lien "En cache" dans la page de résultats ne sera donc pas affiché. Ceci peut servir à ceux qui passent leurs contenu d'une version publique accessible à une version archivée payante (sites de journaux par exemple).

L'inconvénient est que le webmaster ne peut plus savoir à quelle date (et heure) Google a indexé la page la dernière fois (il peut toujours voir la date de dernier crawl dans ses fichiers logs).

Balise meta robots nocache

Format :

<meta name="robots" content="nocache" />

nocache : identique à noarchive, ceci est pris en compte par Bing mais pas par Google

Balise meta robots notranslate

Format :

<meta name="robots" content="notranslate" />

notranslate indique à Google que l'on ne souhaite pas qu'un lien Traduire soit affiché à côté du résultat de recherche. Google affiche parfois ce lien donnant accès à une traduction automatique de la page.

Balise meta robots noimageindex

Format :

<meta name="robots" content="noimageindex" />

noimageindex indique à Google qu'aucune image située sur cette page ne doit être indexée dans Google Images.

Balise meta robots noodp

Attention, cette valeur est obsolète car l'annuaire DMOZ a fermé !

Format :

<meta name="robots" content="noodp" />

noodp indiquait au robot qu'il ne fallait pas utiliser les données associées au site par les éditeurs de l'annuaire DMOZ (Open Directory Project, ODP). Ceci était utile si la description ou le titre du site dans DMOZ ne correspondaient pas assez bien à la réalité. Etant donné que DMOZ ne référençait en général que les pages d'accueil, cette balise ne devait être mise que sur cette page (ce n'était donc pas la peine d'ajouter la balise méta robots noodp sur tout le site, mais ça n'avait pas d'impact négatif de le faire).

Pour en savoir plus, lisez l'article sur la balise meta noodp.

Balise meta robots noydir

Attention, cette valeur est obsolète car l'annuaire Yahoo a fermé !

Format :

<meta name="robots" content="noydir" />

Seul Yahoo gérait cette valeur noydir qui permettait comme noodp d'indiquer au moteur qu'on ne souhaitait pas que les données de l'annuaire Yahoo (Yahoo Directory) soient utilisées. Etant donné que cet annuaire a disparu, cette balise n'a plus aucune raison d'exister dans vos pages.

Pour en savoir plus, lisez l'article sur la balise meta noydir.

Balise meta robots unavailable_after

Format (exemple avec la date du 25/08/2007 à 15h EST) :

<meta name="robots" content="unavailable_after:25-Aug-2007 15:00:00 EST" />

unavailable_after:[date] indique au robot que la page ne doit pas ressortir dans les résultats après la date indiquée (au format RFC 850). Pour en savoir plus, apprenez en quoi cela diffère de l'entête HTTP Expires et lisez la discussion sur la balise meta unavailable_after

La directive X-Robots-Tag dans l'entête HTTP

Si vous n'avez pas la possibilité d'ajouter une balise meta dans votre page HTML, sachez que vous pouvez malgré tout fournir des indications aux robots via l'entête HTTP. Il suffit d'ajouter des lignes dans l'entête, d'une façon similaire à cette balise meta robots.

Le X-Robots-Tag peut servir quand votre CMS ne vous laisse pas ajouter une balise meta, ou bien également quand cela concerne des documents autres que HTML (par exemple des PDF ou des images).

Pour en savoir plus, lisez mon article qui explique comment utiliser X-Robots-Tag dans l'entête HTTP.

La balise meta googlebot

Habituellement, on utilise la balise meta robots car les directives d'adressent à tous les robots. Mais saviez-vous que vous pouvez spécifier des directives différentes selon les robots ? Il faut pour cela remplacer name="robots" par name="googlebot" ou tout autre nom de robot.

Par exemple, la ligne ci-dessous demande uniquement au robot standard de Google de ne pas indexer la page :

<meta name="googlebot" content="noindex" />

On peut même imaginer un cas où dans la même page figurent deux instructions différentes. Par exemple, pour autoriser à tous les robots sauf Google de suivre les liens, tout en demandant à tous les moteurs de ne pas indexer la page :

<meta name="robots" content="noindex" />
<meta name="googlebot" content="nofollow" />

Dans le cas de Google, voici les noms d'agents (user agent) que vous pouvez utiliser dans cette balise meta (tout comme dans le fichier robots.txt) :

CrawlerUser-agent (robots.txt, balise meta ou X-Robots-Tag)
Googlebot (web)Googlebot
Googlebot ActualitésGooglebot-News(Googlebot)
Googlebot ImagesGooglebot-Image(Googlebot)
Googlebot VidéoGooglebot-Video(Googlebot)
Googlebot MobileGooglebot-Mobile(Googlebot)
Google Mobile AdSenseMediapartners-GoogleMediapartners(Googlebot)
Google AdSenseMediapartners-GoogleMediapartners(Googlebot)
Google AdsBotAdsBot-Google
Liste des robots de Google avec leur user agent

L'attribut HTML data-nosnippet

Il ne s'agit pas d'une balise meta, encore moins de la meta robots, mais c'est tout à fait en rapport avec le sujet...

Google propose un moyen d'empêcher que certains textes d'une page soient utilisés pour générer l'extrait dans les SERP (snippet). Pour cela, il suffit d'inclure l'attribut data-nosnippet sur une ou plusieurs balises span, div ou section.

Cet attribut n'a pas besoin d'avoir de valeur, car il est considéré comme un booléen. En d'autres termes, s'il est présent c'est qu'il doit être pris en compte. Inutile d'indiquer quelque chose du genre data-nosnippet="true".

Comment empêcher Google d'utiliser pour le snippet une portion de texte ? En l'encadrant dans une balise span comme ici :

<p>Ce texte peut être affiché dans un extrait (snippet) <span data-nosnippet>mais cette partie est bloquée pour le snippet</span>.</p>

Comment empêcher Google d'utiliser pour le snippet toute une partie d'une page ? En l'encadrant dans une balise div ou section comme ici :

<p>Ce texte peut être affiché dans un extrait (snippet)</p>
<div data-nosnippet>
  <h2>Nouvelle rubrique</h2>
  <p>Cette partie est bloquée pour le snippet.</p>
</div>

Remarques :

  • l'attribut data nosnippet n'est pour l'instant géré que par Google, à partir de fin 2019 (aucune date précise n'est fournie).
  • il n'est pas possible de l'utiliser avec les balises H1, H2... Hn, ou strong, etc. Les 3 seules balises reconnues sont span, div et section.
  • le traitement du data-nosnippet peut être fait aussi bien avant qu'après le rendu de la page par Googlebot. Cela signifie qu'il faut éviter d'avoir des contradictions entre le DOM initial et celui modifié par l'exécution de Javascript.
  • les contenus inclus dans une balise data-nosnippet sont toujours indexés, ils sont pris en compte par l'algo Google de classement, mais ils ne sont pas utilisés pour générer l'extrait (snippet).

Pour aller plus loin : audit de votre site

Si vous souhaitez optimiser le référencement naturel de votre site, il est indispensable de vérifier que les bases sont correctement faites, à savoir tout le socle technique du SEO.  Vous devez vérifier qu'aucune page importante n'est bloquée à l'indexation (par cette fameuse balise meta robots) : pour ça, il vaut mieux un outil ! Pour comprendre comment mon outil SEO "RM Tech" peut vous aider, consultez cette vidéo d'un site pénalisé par Panda :

Vos questions

Comment changer la balise meta robots dans WordPress ?

Pour changer la valeur de la balise meta robots dans WordPress, il faut utiliser une extension SEO qui gère ça. Vous avez le choix, par exemple Yoast, Rank Math, All in One SEO, SEOPress, etc. Suivez ensuite la documentation, sachant qu'on peut faire des réglages globaux (par exemple mettre en no index toutes les pages auteurs) et des réglages page par page.

Où placer la balise meta robots no index ?

La balise meta robots noindex doit être placée dans l'entête HTML, c'est-à-dire où vous voulez entre <head> et </head>. Néanmoins, sachez que Google en tient compte même si elle est située ailleurs, notamment dans <body>.

Que signifie "noindex détecté dans la balise meta robots" ?

Ce message signifie que la page HTML contient une balise meta robots avec "noindex". Cette directive indique aux moteurs de recherche qu'il ne faut pas indexer la page (ou qu'il faut la désindexer si elle est actuellement indexée). Si vous souhaitez référencer cette page, il est impératif d'enlever la balise meta robots qui contient ce noindex.

À quoi servent les meta robots pour le référencement ?

La balise meta robots est utilisée en référencement naturel pour donner des instructions aux robots des moteurs de recherche (par exemple Googlebot pour Google). Par défaut, il est inutile d'en utiliser car si cette balise est absente d'une page, cela signifie qu'aucune restriction n'est demandée aux moteurs de recherche.

Combien faut-il de balises meta robots sur un site ?

Chaque page HTML peut inclure une balise meta robots. Si elle en contient, les indications de cette balise ne concernent que la page en question. Vous pouvez donc avoir autant de balises meta robots qu'il y a de pages sur votre site.

Google tient-il encore compte de la balise meta robots ?

Oui, Google tient compte de la balise meta robots avec toutes les valeurs décrites dans ce guide.

Si vous avez des questions ou des remarques, n'hésitez pas à les poser dans le forum.

Cet article vous a-t-il plu ?

Note : 5.0 (7 votes)
Cliquez pour voter !

Laisser un commentaire

Remarques :

  • Si vous souhaitez poser une question ou détailler un problème technique, il ne faut pas utiliser le formulaire ci-dessous qui est réservé aux avis. Posez votre question directement dans le forum Gmail de WebRankInfo. L'inscription est gratuite et immédiate.

  • En postant un avis, vous acceptez les CGU du site WebRankInfo. Si votre avis ne respecte pas ces règles, il pourra être refusé. Si vous indiquez votre adresse email, vous serez informé dès que votre avis aura été validé (ou refusé...) ; votre adresse ne sera pas utilisée pour vous envoyer des mailings et ne sera pas revendue ou cédée à des tiers.

13 commentaires

Benoit

Bonjour Olivier, je pensais utiliser la balise data-nosnippet, mais de ce que je comprends, google indexe bien le contenu mais l'utilise pas pour générer des snippets. Quelle balise pour dire à google de ne pas prendre en compte le contenu présent dans une div. J'ai des allégations de santé qui reviennent à chaque article et je risque d'avoir bcp de duplicate. Merci par avance.

Répondre
Olivier Duffez

Il n'existe pas de balise ou moyen HTML pour demander à Google de ne pas indexer une partie de la page

Répondre
Maud

Merci beaucoup pour cet article !
Claire et concis, il est parfait pour lé débutants du web.

Répondre
Eddy

Qu'en est il du Allow et disallow ?
Remplace index et no index ou follow et nofollow ?

Merci

Répondre
Olivier Duffez

@Eddy : il y a parfois de la confusion entre tout ça, c'est une bonne question (peut-être posée trop vite ?) qui mériterait un article, ça me donne une idée !
allow et disallow sont des directives à mettre dans le fichier robots.txt pour paramétrer le crawl et non pas l'indexation
index et noindex sont des directives à mettre dans la balise meta robots (ou via l'entête HTTP) pour paramétrer l'indexation et non pas le crawl
follow et nofollow sont les noms qu'on donne aux liens respectivement pris en compte et non pris en compte par les robots

Répondre
lagzor

Merci Olivier pour votre réponse !
Il est vrai que ma question n'est pas posée correctement ^^
En lisant l'article j'avais comme l'impression qu'il était dit que Google va prendre en compte le contenu de la page (contenant la META) mais sans l'indexer.
En résumé, si nous avons deux pages A et B avec le même contenu mais que la page B a un "noindex", cela ne posera pas de problème de duplicate content même si la page est crawlée !

Répondre
Olivier Duffez

si Google crawle une page et voit qu'elle contient une meta noindex, elle ne sera pas indexée (ou sera désindexée si elle l'était au préalable). Elle ne pourra donc pas générer de pb de duplicate content.
cela dit, si les pages A et B ont le même contenu, il vaut mieux définir une URL canonique

Répondre
lagzor

Bonjour,

Je ne suis pas tout à fait d'accord avec cette partie la de votre article:
"

noindex indique au robot qu'il ne faut pas indexer la page. Cela ne signifie pas que le robot ne va pas la crawler : pour cela il faut utiliser le fichier robots.txt."

Pourquoi doit-on utiliser le fichier robots.txt alors que l'on peut effectuer ceci en utilisant simplement la balise META?
Est-ce que c'est plus effectif en passant par le TXT ?

Merci

Répondre
Olivier Duffez

@lagzor : le fichier robots.txt ne sert pas à dire si on autorise ou bloque l'indexation, il est prévu pour gérer uniquement le crawl.
La balise meta robots ne le permet pas de bloquer le crawl : logique, vu que Googlebot (ou les autres) doit d'abord télécharger la page pour découvrir cette balise.
Je ne suis pas certain d'avoir compris votre question en fait ;-)

Répondre
aikido colmar

Bonsoir

j'ai un soucis, j'ai du mal à référencr le blog construit sur wordpress.com http//aikido.colmar.net, visiblement je n'ai pas accès à balise (vu mon niveau en info) y a t'il une astuces quelconque

Merci d'avance pour la réponse

Répondre
Olivier Duffez

@aikido : Merci de poster dans le forum, ce sera bien plus pratique pour obtenir de l'aide

Répondre
Nost

Un article bien tourné pour rassembler les infos sur les robots, merci Olivier!

Par contre, petite coquille vu par un malheureux qui bosse ce 26 décembre :

Par exemple, pour autoriser à tous les robots sauf Google de suivre les liens, tout en demandant à tous les moteurs de ne pas donner l'accès à la version en cache :

Ne serait-ce pas content="nocache" au lieu de "nosnippet" ?

Répondre
Olivier Duffez

Merci Nost, j'avais modifié mon exemple mais pas les explications. J'ai toutefois changé d'exemple pour que ce soit plus simple.

Répondre