SEO Technique

Comment gérer les balises meta robots pour le crawl sans bloquer Google

Un `noindex` oublié en préprod peut faire disparaître votre site de Google sans avertissement. Découvrez pourquoi maîtriser les balises meta robots est une hygiène de base, pas un détail technique.

Comment gérer les balises meta robots pour le crawl sans bloquer Google

Une amie m'appelle un mardi soir, paniquée. Son site marchand a disparu de Google. Pas de pénalité, pas de message dans la Search Console, juste... plus rien. Le bouton "Indexation" affiche zéro page. On a passé quarante minutes au téléphone, et au bout du compte, la cause tenait en une ligne oubliée dans le <head> : un noindex que quelqu'un avait poussé en préprod pour éviter que les pages de test remontent, et jamais retiré. C'est la façon la plus banale de tuer un site, et c'est aussi la raison pour laquelle savoir gérer les balises meta robots pour le crawl n'est pas un détail technique, c'est de l'hygiène de base.

Ce qui est vicieux, c'est que la balise fait exactement ce qu'on lui demande. Elle ne prévient pas. Elle ne se plaint pas. Elle obéit.

Points clés à retenir

  • La meta robots vit dans le <head> et parle à la page ; le robots.txt parle au site entier et ne bloque que le crawl, jamais l'indexation.
  • noindex et nofollow ne font pas la même chose : l'un retire la page des résultats, l'autre coupe le jus transmis par les liens qu'elle contient.
  • Le X-Robots-Tag applique les mêmes directives à des fichiers non-HTML (PDF, images) via les en-têtes HTTP.
  • Un noindex combiné à un Disallow dans robots.txt crée un blocage invisible : le robot ne voit jamais la directive qu'on veut lui donner.
  • Les directives ne sont pas des ordres absolus — Google les traite comme des indications, mais il les respecte dans la grande majorité des cas.

Ce que fait vraiment la balise meta robots (et pourquoi crawl ≠ indexation)

Bon, il faut poser un truc une fois pour toutes, parce que c'est la confusion qui revient dans 80 % des tickets que je vois passer : crawler et indexer sont deux opérations distinctes. Le crawl, c'est le robot qui vient lire votre page. L'indexation, c'est le fait de la stocker dans la base pour pouvoir la servir plus tard dans les résultats.

Et là, le piège : le robots.txt contrôle le crawl. La meta robots contrôle l'indexation. Si vous mettez un Disallow sur une URL dans votre robots.txt, Googlebot ne lira jamais la balise noindex qu'elle contient — parce qu'il ne la verra jamais. Résultat : la page peut se retrouver indexée à partir d'un lien externe, sans contenu lu. Le pire des deux mondes.

Anatomie d'une directive

La syntaxe est d'une simplicité déconcertante :

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

Trois choses à comprendre sur cette ligne. D'abord, name="robots" s'adresse à tous les robots. Vous pouvez cibler un crawler précis avec name="googlebot". Ensuite, le content peut contenir plusieurs directives séparées par des virgules, et l'ordre n'a aucune importance. Enfin, si deux directives se contredisent — un noindex et un index sur la même ligne — Google retient la plus restrictive.

J'ai appris ça à mes dépens sur un projet où un développeur avait généré la balise dynamiquement et se retrouvait avec content="index, index, noindex". Google a tranché pour noindex. Deux semaines de trafic envolé avant qu'on comprenne.

La liste des directives qui servent vraiment

Toutes les valeurs possibles ne se valent pas en pratique. Voici celles que j'utilise réellement :

  • index / noindex : autoriser ou interdire l'apparition dans les résultats.
  • follow / nofollow : indiquer si les liens sortants de la page doivent être suivis.
  • noarchive : empêcher Google d'afficher le lien "Version en cache".
  • nosnippet : supprimer l'extrait de texte sous le titre dans les résultats.
  • max-snippet:[nombre] : limiter la longueur de l'extrait, en caractères.
  • noimageindex : bloquer l'indexation des images de la page.
  • unavailable_after : retirer la page après une date précise. Utile pour des offres d'emploi ou des promotions datées.

Les valeurs all et none existent aussi, comme raccourcis pour "tout autoriser" et "tout bloquer". Franchement, je ne les utilise jamais : elles sont moins lisibles et personne ne se souvient de ce qu'elles couvrent exactement.

Meta robots, X-Robots-Tag ou robots.txt : lequel choisir ?

La question qu'on me pose le plus souvent, et à laquelle la plupart des articles répondent à côté. Ce ne sont pas trois options concurrentes qu'il faut départager — ce sont trois outils avec des périmètres différents. Vous les utilisez selon ce que vous voulez bloquer, pas selon une préférence.

Mécanisme Portée Contrôle Cas d'usage typique
Meta robots Une page HTML L'indexation Page de remerciement, contenu dupliqué
X-Robots-Tag Un fichier ou un type de ressource L'indexation PDF, images, vidéos
robots.txt Le site entier Le crawl Dossiers d'admin, paramètres d'URL

Le X-Robots-Tag, l'outil qu'on oublie pour les fichiers

Sur un PDF, vous ne pouvez pas insérer de balise HTML — il n'y a pas de <head>. C'est là qu'intervient le X-Robots-Tag, un en-tête HTTP qui transporte exactement les mêmes directives que la meta robots. Un exemple d'en-tête ressemble à ceci :

X-Robots-Tag: noindex, nofollow

Il se configure côté serveur (Apache, Nginx) ou via votre CDN, et il s'applique à toutes les ressources concernées par la règle. Je m'en sers systématiquement sur les documents commerciaux qu'on met à disposition en téléchargement : un tarif PDF qui traîne dans les résultats de recherche, c'est une fuite d'information que personne ne remarque avant qu'un concurrent le cite.

Quand deux mécanismes se contredisent

Le cas classique : vous avez un Disallow dans le robots.txt et un noindex dans la page. Vous pensez avoir verrouillé la porte deux fois. En réalité, vous avez bloqué la porte et perdu la clé — Googlebot ne crawle pas la page, donc ne lit jamais le noindex, donc peut l'indexer depuis un lien externe. Si vous voulez vraiment retirer une page de l'index, la séquence correcte est : d'abord noindex seul, attendre la désindexation effective, puis ajouter le Disallow si vous voulez économiser du budget de crawl.

Comment gérer le crawl sans casser son site

Voilà le vrai sujet. Écrire une balise est facile. Ne pas se tirer une balle dans le pied six mois plus tard, c'est une autre affaire.

Comment gérer le crawl sans casser son site

Le problème des environnements de préproduction

Tous les sites un peu sérieux ont une préprod, un staging, un environnement de recette. Et dans la quasi-totalité des cas, on y met un noindex global pour éviter que ces copies remontent dans Google. C'est la bonne pratique. Le problème, c'est la migration.

Sur un projet e-commerce que j'ai suivi, la bascule prod s'est faite un vendredi. Le lundi matin, la moitié du catalogue affichait un trafic divisé par quatre. La cause : le fichier de config nginx n'avait pas été rechargé, et l'en-tête qui injectait le X-Robots-Tag: noindex en préprod s'appliquait toujours en production. Trois jours de perte sèche.

Ce que j'ai mis en place depuis : un test automatisé qui vérifie, à chaque déploiement, qu'aucune page de production ne renvoie de directive noindex non intentionnelle. Une simple requête cURL sur dix URL représentatives, une vérification de l'en-tête, et le build échoue si le test échoue. Ça m'a sauvé au moins deux fois.

Ce qu'il faut vérifier systématiquement

  1. Ouvrez la page en production et inspectez le <head> — pas dans votre éditeur, dans le navigateur.
  2. Vérifiez les en-têtes HTTP de la réponse avec les outils de développement, onglet Réseau.
  3. Si la page est bloquée dans le robots.txt, contrôlez qu'aucune directive d'indexation ne s'y ajoute.
  4. Sur les pages sensibles (merci, panier, filtres), testez que le noindex est bien présent.

Une chose que j'ai remarquée au fil des ans : les erreurs de balise meta robots ne viennent presque jamais d'une faute de frappe. Elles viennent d'une configuration qui a été copiée d'un environnement à l'autre sans être revue. Le geste technique est trivial, c'est la procédure autour qui manque.

Quelle ligne indique aux moteurs de recherche de ne pas référencer la page ?

C'est la question qu'on me pose le plus, et la réponse tient en une ligne :

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

Placée dans le <head> de la page, c'est elle qui demande explicitement à ne pas référencer la page dans les résultats de recherche. Si vous voulez aussi que les liens qu'elle contient ne soient pas suivis, ajoutez nofollow dans le même attribut content. Rien d'autre n'a besoin d'être touché.

Ce qu'il faut retenir quand on manipule tout ça au quotidien

La balise meta robots a un défaut majeur : elle fonctionne trop bien. Elle ne remonte rien dans la Search Console, ne déclenche aucune alerte, ne casse aucune page visuellement. Vous pouvez mettre un site entier hors ligne pour Google sans qu'aucun outil de monitoring ne moufte.

Ce que j'ai fini par intérioriser, c'est que ces directives ne sont pas des réglages techniques qu'on pose une fois. Ce sont des décisions éditoriales déguisées. Dire noindex sur une page, c'est décider qu'elle n'a pas sa place dans les résultats. Dire nofollow, c'est décider qu'elle ne mérite pas de transmettre de valeur. Ces choix méritent d'être documentés quelque part, pas laissés dans un fichier de config que personne ne relit.

La prochaine fois que vous ouvrirez un <head>, prenez trente secondes pour vous demander non pas ce que fait la balise, mais qui l'a mise là et pourquoi. C'est souvent dans cette question que se cache le bug.

Kévin Girard

Kévin Girard

Kévin Girard est journaliste spécialisé dans le SEO technique, un domaine qu'il couvre depuis plus de huit ans. Son travail l'a amené à analyser en profondeur les architectures de sites, la gestion des indexations et l'optimisation des performances serveur pour des projets numériques d'envergure. Il suit également l'évolution des algorithmes des moteurs de recherche pour en décrypter les implications techniques.

Voir tous les articles →