Balise meta Robots, data-nosnippet et spécifications X-Robots-Tag

Cet article explique comment utiliser les paramètres au niveau de la page et au niveau du texte pour ajuster la présentation de votre contenu dans les résultats de recherche Google. Pour spécifier des paramètres au niveau d'une page, ajoutez une balise meta dans la page HTML ou dans l'en-tête HTTP. Pour définir des paramètres au niveau du texte, vous pouvez utiliser l'attribut data-nosnippet au niveau des éléments HTML de la page.

Notez que les robots d'exploration ne peuvent lire et suivre ces paramètres que si vous les autorisez à accéder aux pages dans lesquelles ils ont été définis.

La règle <meta name="robots" content="noindex"> s'applique aux robots d'exploration des moteurs de recherche. Pour bloquer les robots d'exploration autres que ceux de recherche, tels que AdsBot-Google, vous devrez peut-être ajouter des règles ciblant ces robots d'exploration spécifiques (par exemple, <meta name="AdsBot-Google" content="noindex">).

Utiliser la balise meta pour les robots

La balise meta pour les robots vous permet de contrôler avec précision la manière dont chaque page doit être indexée et présentée aux utilisateurs dans les résultats de recherche Google. Placez la balise meta pour les robots dans la section <head> d'une page donnée, comme ceci :

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex">
(…)
</head>
<body>(…)</body>
</html>

Dans cet exemple, la balise meta pour les robots indique aux moteurs de recherche de ne pas afficher la page dans les résultats de recherche. La valeur de l'attribut name (robots) indique que la règle s'applique à tous les robots d'exploration. Les attributs name et content ne sont pas sensibles à la casse. Pour cibler un robot d'exploration spécifique, remplacez la valeur robots de l'attribut name par le jeton user-agent du robot d'exploration en question. Google accepte deux jetons user-agent dans la balise meta robots. Les autres valeurs sont ignorées :

  1. googlebot : pour tous les résultats textuels.
  2. googlebot-news : pour les résultats d'actualités.

Par exemple, pour indiquer à Google de ne pas afficher de page dans ses résultats de recherche, vous pouvez spécifier googlebot comme nom de la balise meta :

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

Pour afficher une page dans les résultats de recherche sur le Web de Google, mais pas dans Google Actualités, utilisez la balise googlebot-news meta :

<meta name="googlebot-news" content="noindex">

Pour spécifier plusieurs robots d'exploration individuellement, utilisez plusieurs balises meta pour les robots :

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

Pour bloquer l'indexation des ressources non HTML, telles que les fichiers PDF, les fichiers vidéo ou les fichiers image, utilisez plutôt l'en-tête de réponse X-Robots-Tag.

Fonctionnement de l'en-tête HTTP X-Robots-Tag

L'instruction X-Robots-Tag peut faire partie des éléments de réponse d'en-tête HTTP pour une URL donnée. Toute règle pouvant être utilisée dans une balise meta pour les robots peut également être spécifiée en tant que X-Robots-Tag. Voici un exemple de réponse HTTP avec une balise X-Robots-Tag qui indique aux robots d'exploration de ne pas indexer une page :

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

Plusieurs en-têtes X-Robots-Tag peuvent être combinés dans la réponse HTTP, ou vous pouvez spécifier une liste de règles séparées par une virgule. Voici un exemple de réponse HTTP qui associe un en-tête noarchive X-Robots-Tag à un en-tête unavailable_after X-Robots-Tag.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noarchive
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)

Il est possible d'indiquer un user-agent avant les règles dans un en-tête X-Robots-Tag. Par exemple, l'ensemble suivant d'en-têtes HTTP X-Robots-Tag peut être utilisé pour autoriser la diffusion conditionnelle d'une page dans les résultats de recherche pour différents moteurs de recherche :

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

Les règles sans user-agent sont valables pour tous les robots d'exploration. L'en-tête HTTP, le nom du user-agent et les valeurs spécifiées ne sont pas sensibles à la casse.

Règles d'indexation et d'affichage valides

Les règles suivantes, également disponibles dans un format lisible par l'ordinateur, peuvent être utilisées pour contrôler l'indexation et la diffusion d'un extrait à l'aide de la balise meta pour les robots et de X-Robots-Tag. Chaque valeur représente une règle spécifique. Vous pouvez combiner plusieurs règles dans une liste d'éléments séparés par une virgule ou dans des balises meta distinctes. Ces règles ne sont pas sensibles à la casse.

Règles

all

Il n'existe pas de restrictions pour l'indexation ou l'affichage. Notez que cette règle correspond à la valeur par défaut. Il est inutile de l'indiquer explicitement.

noindex

Indique de ne pas afficher cette page, ce fichier multimédia ou cette ressource dans les résultats de recherche. Si vous ne spécifiez pas cette règle, la page, le fichier multimédia ou la ressource peuvent être indexés et peuvent figurer dans les résultats de recherche.

Pour supprimer des informations de Google, suivez notre guide par étapes.

nofollow

Indique de ne pas suivre les liens de cette page. Si vous ne spécifiez pas cette règle, Google peut utiliser ces liens afin de découvrir les pages liées. En savoir plus sur nofollow

none

Équivaut à noindex, nofollow.

noarchive

Indique de n'afficher aucun lien en cache dans les résultats de recherche. Si vous ne spécifiez pas cette règle, Google peut générer une page mise en cache, et les utilisateurs peuvent y accéder via les résultats de recherche.

nositelinkssearchbox

Indique de n'afficher aucun champ de recherche de liens sitelink dans les résultats de recherche pour cette page. Si vous ne spécifiez pas cette règle, Google peut générer un champ de recherche spécifique à votre site dans les résultats de recherche, ainsi que d'autres liens directs vers ce dernier.

nosnippet

Indique de ne pas afficher d'extrait ou d'aperçu de vidéo de cette page dans les résultats de recherche. Une vignette d'image statique (le cas échéant) peut s'afficher pour améliorer l'expérience utilisateur. Cette configuration s'applique à tous les types de résultats de recherche Google tels que la recherche sur le Web, Google Images ou Discover. Les résumés de la SGE Google n'affichent pas non plus le contenu bloqué à l'aide de nosnippet.

Si vous ne spécifiez pas cette règle, Google peut générer un extrait de texte et un aperçu vidéo à partir des informations identifiées sur la page.

indexifembedded

Google est autorisé à indexer le contenu d'une page si celle-ci est intégrée à une autre page via iframes ou des balises HTML similaires, malgré la règle noindex.

indexifembedded n'a d'effet que s'il est accompagné de noindex.

max-snippet: [nombre]

Remplacez la variable [nombre] par le nombre maximal de caractères que vous souhaitez appliquer à un extrait de texte pour ce résultat de recherche. Notez qu'une URL peut apparaître sous la forme de plusieurs résultats de recherche dans la recherche Google. Cette configuration n'affecte pas les aperçus d'image ou de vidéo, mais s'applique à tous les types de résultats de recherche Google tels que la recherche sur le Web, Google Images, Discover ou l'Assistant Google. Les résumés de la SGE Google n'affichent pas non plus de contenu au-delà de la limite spécifiée. Toutefois, cette limite n'est pas prise en compte si une autorisation distincte a été explicitement accordée par l'éditeur. Par exemple, si l'éditeur utilise des données structurées sur la page pour régir la taille des extraits ou s'il dispose d'un contrat de licence avec Google, ces autorisations spécifiques supplantent ce paramètre. Cette règle est ignorée si aucune variable [nombre] analysable n'est spécifiée.

Si vous ne spécifiez pas cette règle, Google détermine la longueur de l'extrait.

Valeurs spéciales :

  • 0 : aucun extrait ne doit s'afficher. Équivaut à nosnippet.
  • -1 : Google détermine la longueur d'extrait qui lui semble la plus efficace pour aider les internautes à découvrir votre contenu et les rediriger vers votre site.

Exemples :

Pour empêcher l'affichage d'un extrait dans les résultats de recherche, utilisez l'instruction suivante :

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

Pour afficher jusqu'à 20 caractères dans l'extrait, utilisez l'instruction suivante :

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

Pour ne spécifier aucune limite du nombre de caractères dans l'extrait, utilisez l'instruction suivante :

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

max-image-preview: [paramètre]

Définissez la taille maximale d'un aperçu d'image pour cette page dans les résultats de recherche.

Si vous ne spécifiez pas la règle max-image-preview, Google peut afficher un aperçu d'image avec la taille par défaut.

Valeurs [paramètre] acceptées :

  • none : aucun aperçu d'image ne doit s'afficher.
  • standard : un aperçu d'image par défaut peut s'afficher.
  • large : un aperçu d'image de grande taille peut apparaître sur toute la largeur de la fenêtre d'affichage.

Cette configuration s'applique à tous les types de résultats de recherche Google tels que la recherche sur le Web, Google Images, Discover ou l'Assistant Google. Toutefois, cette limite n'est pas prise en compte si une autorisation distincte a été explicitement accordée par l'éditeur. Par exemple, si l'éditeur utilise des données structurées sur la page pour régir la taille des aperçus d'image (versions AMP ou canoniques d'un article, par exemple) ou s'il dispose d'un contrat de licence avec Google, ces autorisations spécifiques supplantent ce paramètre.

Si vous ne souhaitez pas que Google utilise des vignettes plus grandes lorsque ses pages AMP et la version canonique d'un article sont diffusées dans la recherche Google ou dans Discover, spécifiez la valeur max-image-preview pour le champ standard ou none.

Exemple :

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

max-video-preview: [nombre]

Remplacez la variable [nombre] par le nombre maximal de secondes que vous souhaitez appliquer à un extrait vidéo pour ces résultats de recherche.

Si vous ne spécifiez pas la règle max-video-preview, Google peut afficher un extrait vidéo dans les résultats de recherche et a le pouvoir de choisir la durée de cet aperçu.

Valeurs spéciales :

  • 0 : une image statique peut être utilisée tout au plus, conformément au paramètre max-image-preview défini.
  • -1 : la durée de l'extrait vidéo est illimitée.

Cette configuration s'applique à tous les types de résultats de recherche Google tels que la recherche sur le Web, Google Images, Discover ou l'Assistant Google. Cette règle est ignorée si aucune variable [nombre] analysable n'est spécifiée.

Exemple :

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

notranslate

Indique de ne pas proposer la traduction de cette page dans les résultats de recherche. Si vous ne spécifiez pas cette règle, Google peut fournir une traduction du lien de titre et de l'extrait pour les résultats de recherche dont la langue ne correspond pas à celle de la requête de recherche. Si un utilisateur clique sur le lien de titre traduit, toutes les autres interactions qu'il aura avec cette page passeront par Google Traduction, qui traduira automatiquement tous les liens suivis.

noimageindex

Indique de ne pas indexer les images de cette page. Si vous ne spécifiez pas cette valeur, les images de la page peuvent être indexées et peuvent figurer dans les résultats de recherche.

unavailable_after: [date/heure]

Indique de ne pas afficher cette page dans les résultats de recherche après la date et l'heure indiquées. La date et l'heure doivent être spécifiées dans un format standard, y compris, mais sans s'y limiter RFC 822, RFC 850 et ISO 8601. Cette règle est ignorée si aucune date/heure valide n'est spécifiée. Par défaut, aucune date d'expiration du contenu n'est définie.

Si vous ne spécifiez pas cette règle, la page peut s'afficher indéfiniment dans les résultats de recherche. Googlebot réduit la vitesse d'exploration de l'URL de façon significative après la date et l'heure spécifiées.

Exemple :

<meta name="robots" content="unavailable_after: 2020-09-21">

Gérer les règles d'indexation et d'affichage combinées

Vous pouvez créer une instruction multirègles en séparant les règles de balise meta pour les robots par des virgules ou en utilisant plusieurs balises meta. Voici un exemple de balise meta pour les robots qui indique aux robots d'exploration de ne pas indexer la page et de ne pas explorer les liens de la page :

Liste de règles séparées par une virgule

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

Plusieurs balises meta

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

Voici un exemple qui limite l'extrait de texte à 20 caractères et autorise l'affichage d'un aperçu d'image de grande taille :

<meta name="robots" content="max-snippet:20, max-image-preview:large">

Si plusieurs robots d'exploration et plusieurs règles sont spécifiés, le moteur de recherche utilise la somme des règles négatives. Exemple :

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

Lors de l'exploration, Googlebot considère que la page contenant ces balises meta est associée à une règle noindex, nofollow.

Fonctionnement de l'attribut HTML data-nosnippet

Il permet de désigner des parties textuelles d'une page HTML à ne pas utiliser comme extrait. Pour ce faire, utilisez l'attribut HTML data-nosnippet au niveau des éléments HTML span, div ou section. data-nosnippet est considéré comme un attribut booléen. Comme pour tous les attributs booléens, toute valeur spécifiée est ignorée. Pour garantir la lisibilité par les machines, la section HTML concernée doit contenir un code HTML valide. De même, toutes les balises doivent être correctement fermées.

Exemples :

<p>This text can be shown in a snippet
<span data-nosnippet>and this part would not be shown</span>.</p>

<div data-nosnippet>not in snippet</div>
<div data-nosnippet="true">also not in snippet</div>
<div data-nosnippet="false">also not in snippet</div>
<!-- all values are ignored -->

<div data-nosnippet>some text</html>
<!-- unclosed "div" will include all content afterwards -->

<mytag data-nosnippet>some text</mytag>
<!-- NOT VALID: not a span, div, or section -->

<p>This text can be shown in a snippet.</p>
<div data-nosnippet>
  <p>However, this is not in snippet.</p>
  <ul>
    <li>Stuff not in snippet</li>
    <li>More stuff not in snippet</li>
  </ul>
</div>

Google effectue généralement le rendu des pages afin de les indexer, mais ce n'est pas systématique. De ce fait, l'extraction de l'instruction data-nosnippet peut avoir lieu avant et après le rendu. Pour éviter toute confusion, n'ajoutez pas et ne supprimez pas non plus l'attribut data-nosnippet des nœuds existants via JavaScript. Lors de l'ajout d'éléments DOM via JavaScript, si vous souhaitez inclure l'attribut data-nosnippet, faites-le lors de l'ajout initial de l'élément au modèle DOM de la page. Si des éléments personnalisés sont utilisés et que vous devez spécifier l'attribut data-nosnippet, encapsulez-les ou effectuez leur rendu avec des éléments div, span ou section.

Fonctionnement des données structurées

Les balises meta pour les Robots déterminent la quantité de contenu que Google extrait automatiquement des pages Web pour les afficher en tant que résultat de recherche. Toutefois, de nombreux éditeurs utilisent également les données structurées schema.org pour permettre à des informations spécifiques d'apparaître sous forme de résultat enrichi dans la recherche. Les limitations liées aux balises meta pour les Robots n'ont aucune incidence sur l'utilisation de ces données structurées, à l'exception des valeurs article.description et description pour les données structurées définies pour d'autres créations. Pour spécifier la longueur maximale d'un aperçu sur la base de ces valeurs description, utilisez la règle max-snippet. Par exemple, des données structurées recipe sur une page peuvent être incluses dans le carrousel de recettes, même si l'aperçu du texte est limité. Vous pouvez limiter la longueur d'un aperçu de texte avec max-snippet, mais cette balise meta pour les robots ne s'applique pas lorsque les informations sont fournies à l'aide de données structurées pour les résultats enrichis.

Pour gérer les données structurées de vos pages Web, modifiez les types de données structurées et les valeurs elles-mêmes. En d'autres termes, ajoutez ou supprimez des informations de sorte à ne fournir que les données qui vous intéressent. Notez également que les données structurées peuvent être utilisées pour les résultats de recherche même lorsqu'elles sont déclarées dans un élément data-nosnippet.

Mise en œuvre pratique de X-Robots-Tag

Vous pouvez ajouter X-Robots-Tag aux réponses HTTP d'un site à l'aide des fichiers de configuration de son logiciel de serveur Web. Par exemple, sur les serveurs Web basés sur Apache, il s'agit des fichiers .htaccess et httpd.conf. L'avantage d'utiliser un en-tête X-Robots-Tag avec des réponses HTTP est de pouvoir spécifier des règles d'exploration applicables à l'ensemble d'un site. La compatibilité avec les expressions régulières offre, par ailleurs, un haut niveau de flexibilité.

Par exemple, pour ajouter une instruction noindex, nofollow X-Robots-Tag à la réponse HTTP pour tous les fichiers .PDF d'un site, ajoutez l'extrait suivant à la racine du fichier .htaccess ou httpd.conf du site sur Apache, ou du fichier .conf du site sur NGINX.

Apache

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

NGINX

location ~* \.pdf$ {
  add_header X-Robots-Tag "noindex, nofollow";
}

Vous pouvez utiliser l'en-tête X-Robots-Tag pour les fichiers qui ne sont pas au format HTML, comme les fichiers image, qui ne permettent pas d'utiliser des balises meta pour les robots. Voici un exemple d'ajout d'une règle noindex X-Robots-Tag pour les fichiers image (.png, .jpeg, .jpg, .gif) sur l'ensemble d'un site:

Apache

<Files ~ "\.(png|jpe?g|gif)$">
  Header set X-Robots-Tag "noindex"
</Files>

NGINX

location ~* \.(png|jpe?g|gif)$ {
  add_header X-Robots-Tag "noindex";
}

Vous pouvez également définir les en-têtes X-Robots-Tag pour des fichiers statiques individuels :

Apache

# the htaccess file must be placed in the directory of the matched file.
<Files "unicorn.pdf">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

NGINX

location = /secrets/unicorn.pdf {
  add_header X-Robots-Tag "noindex, nofollow";
}

Combiner les règles du fichier robots.txt avec les règles d'indexation et d'affichage

Les balises meta pour les robots et les en-têtes HTTP X-Robots-Tag sont détectés lors de l'exploration d'une URL. Si une page est exclue de l'exploration par l'entremise d'un fichier robots.txt, toute information sur les règles d'indexation ou d'affichage est introuvable et par conséquent ignorée. S'il est nécessaire de suivre des règles d'indexation ou d'affichage, les URL qui contiennent ces règles ne peuvent pas être exclues de l'exploration.