← Retour au blog

Comment détecter un noindex avant qu'il ne tue votre référencement

Comment détecter un noindex avant qu'il ne tue votre référencement

Pour détecter un noindex en production, vérifiez à la fois le HTML et les en-têtes HTTP des pages qui comptent, et mettez en place un outil qui les compare d'un jour à l'autre. Un noindex égaré ne produit aucune erreur : la page se charge, le tunnel de commande fonctionne, et Google retire l'URL de son index au fil de ses passages.

La balise a des usages légitimes sur les pages de remerciement, les résultats de recherche interne et les environnements de préproduction. Les dégâts commencent quand elle atterrit sur une page qui doit se positionner et y reste des semaines avant que quelqu'un ne s'en aperçoive.

D'où viennent les noindex en production

La plupart sont des réglages de préproduction qui ont voyagé. On tient les environnements de préproduction à l'écart de Google avec une balise meta robots ou un en-tête, et un déploiement qui copie la configuration, les variables d'environnement ou un dump de base de données emporte ce réglage avec lui. Sur WordPress, le coupable habituel est la case « Demander aux moteurs de recherche de ne pas indexer ce site » dans Réglages > Lecture, cochée en préproduction puis restaurée en production avec la base de données.

Viennent ensuite les extensions SEO. Yoast et Rank Math permettent toutes deux de passer un type de contenu entier ou une taxonomie en noindex depuis leurs écrans de réglages. Dans Yoast, c'est l'interrupteur « Afficher les [type de contenu] dans les résultats de recherche ? » : un seul clic ou une réinitialisation des réglages touche des centaines d'URL d'un coup.

Il y a enfin les en-têtes. X-Robots-Tag: noindex peut être ajouté par une directive Nginx add_header, une règle Apache dans .htaccess ou la configuration d'un CDN, et rien de tout cela n'apparaît dans le code source de la page. Un développeur qui masque une nouvelle section pendant sa construction et oublie la règle au lancement crée exactement ce genre de noindex invisible.

Vérifier une page à la main

Quand une URL précise vous paraît suspecte, suivez ces étapes dans l'ordre. Chacune repère quelque chose que la précédente peut manquer.

  1. Récupérez les en-têtes : curl -sI https://example.com/page/ | grep -i x-robots-tag. Toute ligne contenant noindex signifie que l'en-tête est défini, quoi que dise le HTML.
  2. Cherchez dans le HTML servi : curl -s https://example.com/page/ | grep -i 'name="robots"'. Cherchez aussi name="googlebot", qui ne s'applique qu'à Google.
  3. Si le site s'affiche grâce à JavaScript, ouvrez l'outil Inspection de l'URL de la Search Console, cliquez sur « Tester l'URL en direct » puis sur « Afficher la page testée » pour voir le HTML que reçoit Google. La documentation de Google prévient que lorsque le HTML initial contient noindex, Googlebot peut ne pas effectuer le rendu : un script qui retire la balise ensuite ne sert donc à rien.
  4. Dans le même résultat d'inspection, la ligne « Indexation autorisée ? » indique si le blocage vient de la balise meta robots ou de l'en-tête HTTP X-Robots-Tag.
  5. Pour passer tout le site en revue, explorez-le avec Screaming Frog et utilisez le filtre Noindex de l'onglet Directives.

Le rapport « Indexation des pages » de la Search Console regroupe aussi les URL sous « Exclue par la balise noindex ». Il fait foi, mais il ne se met à jour qu'après une nouvelle exploration de Google : il décrit la semaine dernière plutôt qu'aujourd'hui.

Détecter un noindex en production dès le déploiement

Si vous maîtrisez la chaîne de déploiement, un contrôle après chaque mise en production coûte très peu. Une étape de CI qui lance les deux commandes curl ci-dessus sur la page d'accueil et quelques templates clés, et qui fait échouer le job dès que l'une d'elles trouve noindex, bloque la fuite de préproduction la plus courante.

Elle ne repérera pas un réglage d'extension modifié dans wp-admin un mardi après-midi, ni une règle d'en-tête ajoutée dans le tableau de bord du CDN. Ni l'un ni l'autre ne passe par la chaîne de déploiement.

Surveiller les changements que personne ne déploie

Les vérifications manuelles répondent à la question « cette page est-elle en noindex en ce moment ? ». La surveillance répond à « une page est-elle passée en noindex depuis hier ? », et c'est cette question qui compte sur des sites clients où les changements viennent de personnes et de systèmes que vous ne contrôlez pas.

Deltio lit chaque jour les pages du sitemap de chaque site et enregistre l'état noindex à partir de la balise meta comme de l'en-tête X-Robots-Tag. Quand une page indexable lors du contrôle précédent est en noindex lors du contrôle suivant, il envoie une alerte Slack et e-mail pour ce site en nommant les URL concernées. Comme le cycle est quotidien, vous l'apprenez dans la journée plutôt qu'en quelques minutes, ce qui, dans la plupart des cas, reste avant que Google n'ait réexploré et retiré la page. La même comparaison couvre les modifications du robots.txt, les changements de canonical et les URL qui quittent le sitemap. Pour comprendre la balise elle-même, voyez la balise noindex expliquée.

Vous pouvez le tester sur vos propres sites clients avec un essai gratuit de 14 jours.

Questions fréquentes

Combien de temps faut-il à Google pour retirer une page après l'ajout d'un noindex ?
Le noindex ne prend effet que lorsque Google réexplore l'URL, donc tout dépend de la fréquence d'exploration. Une page d'accueil ou une catégorie très fréquentée peut disparaître en quelques jours, alors qu'une page rarement explorée peut rester indexée des semaines. Ce délai est la fenêtre pendant laquelle corriger ne coûte presque rien.
Retirer le noindex fera-t-il revenir les positions ?
En général oui, une fois que Google a réexploré la page. Pour accélérer les choses sur les URL importantes, utilisez « Demander l'indexation » dans l'outil Inspection de l'URL et vérifiez qu'elles figurent dans le sitemap. Plus une page est restée longtemps hors de l'index, moins il est certain qu'elle retrouve la même position.
Le robots.txt peut-il cacher un noindex à Google ?
Oui. Si une URL est bloquée par un Disallow, Googlebot ne la récupère jamais et ne lit donc jamais le noindex. L'URL peut même rester indexée, généralement sans description, parce que Google connaît toujours son existence grâce aux liens. Une page que vous voulez désindexer doit rester explorable.
Une règle noindex dans le robots.txt fonctionne-t-elle ?
Non. Google n'a jamais pris officiellement en charge les lignes noindex dans le robots.txt et a complètement cessé d'en tenir compte en septembre 2019. Utilisez plutôt la balise meta robots ou l'en-tête X-Robots-Tag.
Deltio vérifie-t-il les pages absentes du sitemap ?
Son contrôle quotidien part des URL listées dans le sitemap de chaque site. Si des pages importantes n'y figurent pas, elles ne font pas partie de la comparaison, et c'est de toute façon une lacune à corriger pour le SEO.