Ce bug a été signalé par Mark Williams-Cook, le directeur de Candour et plus connu dans la communauté SEO pour son outil « Also Asked » (un excellent outil pour récupérer les PAA – people also asked).
Il a remarqué sur un site que 9000 pages comportant une directive « noindex » étaient en réalité indexées.
Le coupable : la directive noindex n’était visible qu’en exécutant le Javascript
Mark Williams-Cook a rapidement pu déterminer les causes probables du problème. Le site est un « Single Page Application », réalisé en utilisant le framework React.js. Et pour explorer (et indexer) le contenu du site, il faut se baser sur le code généré en Javascript, et pas le contenu de la page HTML, qui ne contient pas tout le contenu.
En particulier, la page HTML ne comportait pas de meta robots avec la valeur d’attribut noindex. La balise était ajoutée en Javascript, ce qui signifie que c’était au WRS (le web rendering service) de Google de détecter sa présence et d’en tirer les conséquences.
Martin Splitt avait déjà signalé que ce n’était pas une bonne idée de faire cela, surtout si les directives noindex vs index sont contradictoires entre la version texte HTML et la rendition Javascript. Mais en général cela fonctionne.
Google reconnait travailler sur un fix pour ce bug
Ce phénomène est apparu soudainement sans changement sur le site, donc c’était plutôt un bug du WRS et de l’indexeur. Google a reconnu que c’était bien le cas, et travaille à sa correction.
En attendant, si vous avez un pic de pages indexées qui ne devraient pas l’être, et que vous utilisez un framework JS pour générer vos pages web (React, Vue ou Angular), vous êtes peut-être victime du même bug.
Une des solutions, en attendant la correction du problème est d’afficher la directive noindex dans le header http
- soit via Cloudflare ou votre CDN préféré
- soit via votre reverse proxy (Varnish par exemple, ou Nginx)
- soit en publiant la directive noindex dans une ligne X-Robots-tag dans le header http
C’est très technique mais simple à faire, donc si vous avez besoin d’un coup de main, n’hésitez pas à nous contacter pour qu’on vous guide dans ces manipulations.