Pourquoi les résultats de recherche Google incluent-ils des pages non autorisées dans le fichier robots.txt?

18

J'ai des pages sur mon site dont je souhaite éloigner les moteurs de recherche, je les ai donc interdites dans mon robots.txtfichier comme ceci:

User-Agent: *
Disallow: /email

Pourtant, j'ai récemment remarqué que Google renvoie toujours parfois des liens vers ces pages dans leurs résultats de recherche. Pourquoi cela se produit-il et comment puis-je l'arrêter?

Contexte:

Il y a plusieurs années, j'ai créé un site Web simple pour un club dans lequel un de mes parents était impliqué. Ils voulaient avoir des liens e-mail sur leurs pages, donc, pour essayer d'empêcher ces adresses e-mail de se retrouver trop listes de spam, au lieu d'utiliser des mailto:liens directs, j'ai fait en sorte que ces liens pointent vers un simple script de piège de redirection / récupération d' adresse exécuté sur mon propre site. Ce script retournerait soit une redirection 301 vers l' mailto:URL réelle , soit, s'il détectait un modèle d'accès suspect, une page contenant de nombreuses fausses adresses e-mail aléatoires et des liens vers d'autres pages de ce type. Pour garder les robots de recherche légitimes à l'écart du piège, j'ai mis en place la robots.txtrègle ci-dessus, interdisant tout l'espace des liens de redirection et des pages de piège légitimes.

Récemment, cependant, l'une des personnes du club a recherché Google pour son propre nom et a été assez surprise quand l'un des résultats sur la première page était un lien vers le script du redirecteur, avec un titre composé de leur adresse e-mail suivi par mon nom. Bien sûr, ils m'ont immédiatement envoyé un e-mail et voulaient savoir comment obtenir leur adresse de l'index de Google. J'ai également été assez surpris, car je ne savais pas du tout que Google indexerait ces URL, apparemment en violation de ma robots.txtrègle.

J'ai réussi à soumettre une demande de suppression à Google, et cela semble avoir fonctionné, mais j'aimerais savoir pourquoi et comment Google contourne ma robots.txtdécision et comment m'assurer qu'aucune des pages interdites n'apparaîtra dans leur Résultats de recherche.

Ps. J'ai en fait trouvé une explication et une solution possibles, que je publierai ci-dessous, tout en préparant cette question, mais j'ai pensé que je la poserais de toute façon au cas où quelqu'un d'autre pourrait avoir le même problème. N'hésitez pas à publier vos propres réponses. Je serais également intéressé de savoir si d'autres moteurs de recherche le font aussi et si les mêmes solutions fonctionnent également pour eux.

Ilmari Karonen
la source
1
"et comment Google contourne mes robots.txt" Je suppose que vous le savez déjà (ou comment diable auriez-vous pu créer un site en premier lieu), mais au cas où des imbéciles malheureux erreraient par ... Le robots.txtfichier est comme un petit panneau "Pas d'intrusion" à côté de l'allée de quelqu'un. Ce n'est pas magique, et (à moins qu'un visiteur ne le recherche explicitement), il peut se promener sur votre propriété sans même être légèrement affecté par son existence. Il existe des équivalents Internet de projecteurs et de clôtures en fil de rasoir, mais si c'est ce que vous voulez, robots.txtn'est-ce pas.
Parthian Shot

Réponses:

25

Il semble que Google inclue délibérément des URL interdites dans robots.txtson index s'il existe des liens vers ces URL à partir d'autres pages qu'ils ont explorées. Pour citer leurs pages d'aide sur les outils pour les webmasters :

"Bien que Google n'explore pas ou n'indexe pas le contenu des pages bloquées par robots.txt, nous pouvons toujours indexer les URL si nous les trouvons sur d'autres pages du Web. En conséquence, l'URL de la page et, éventuellement, d'autres Les informations accessibles au public, telles que le texte d'ancrage dans les liens vers le site ou le titre du projet Open Directory (www.dmoz.org), peuvent apparaître dans les résultats de recherche Google. "

Apparemment, Google interprète une Disallowdirective robots.txtcomme une interdiction d' explorer la page et non de l' indexer . Je suppose que c'est techniquement une interprétation valable, même si cela me fait penser à des règles juridiques.

Dans cet article d'interview , Matt Cutts de Google donne un peu plus de contexte et fournit une explication raisonnable pour laquelle ils le font:

"Au début, de nombreux sites Web très populaires ne voulaient pas du tout être explorés. Par exemple, eBay et le New York Times n'autorisaient aucun moteur de recherche, ou du moins pas Google pour en explorer les pages. Le La bibliothèque du Congrès comportait plusieurs sections qui interdisaient d'explorer avec un moteur de recherche. Ainsi, lorsque quelqu'un est venu sur Google et a tapé sur eBay, nous n'avons pas exploré eBay et nous n'avons pas pu retourner eBay, nous semblait un peu sous-optimal. Donc, le compromis que nous avons décidé de trouver était que nous ne vous crawlerions pas à partir de robots.txt, mais nous pourrions renvoyer la référence URL que nous avons vue. "

La solution recommandée sur ces deux pages consiste à ajouter une noindexbalise META aux pages que vous ne souhaitez pas indexer. (L' X-Robots-Tagen-tête HTTP devrait également fonctionner pour les pages non HTML. Je ne sais pas si cela fonctionne sur les redirections, cependant.) Paradoxalement, cela signifie que vous devez autoriser Googlebot à explorer ces pages (soit en les supprimant robots.txtentièrement, soit en ajoutant un ensemble de règles distinct et plus permissif pour Googlebot), sinon il ne peut pas voir la balise Meta en premier lieu.

J'ai modifié mon script de redirection / piège d'araignée pour envoyer à la fois la balise META et l'en- X-Robots-Tagtête avec la valeur noindex,nofollowet j'ai permis à Googlebot d'explorer l'URL du script dans mon robots.txt. Nous verrons si cela fonctionne une fois que Google aura réindexé mon site.

Ilmari Karonen
la source
5

Il est vrai que même si cela devrait empêcher Google (et les bons robots) d'explorer ces pages et de lire leur contenu, ils peuvent toujours afficher un lien URL uniquement dans les SERP s'ils sont liés, du formulaire:

Lien URL uniquement dans les SERPs de Google

Comme vous pouvez le voir, il n'y a pas de titre ou de description, c'est littéralement juste l'URL. Naturellement, ce type de résultats est généralement omis des SERP, sauf si vous les recherchez explicitement.

Et comme vous le mentionnez dans votre réponse, si vous ne voulez pas que l'URL apparaisse du tout dans les SERPs, vous devez autoriser les robots, mais inclure une balise META noindex.

MrWhite
la source