web-dev-qa-db-fra.com

Supprimer un grand nombre de pages inutiles de l'index de Google à l'aide de robots.txt

Un grand nombre de pages générées automatiquement à partir de la recherche sur mon site ont été indexées par Google en raison d'une erreur.

J'essaie de nettoyer cela afin de m'assurer que seul le contenu de la plus haute qualité est sur Google Index.

J'ai donc ajouté une ligne pour interdire ce répertoire dans le fichier robots.txt afin que Googlebot ne perde pas de temps à explorer:

Disallow: /search/

Après quelques mois, cela a fonctionné comme prévu et la plupart des pages sont indexées sur Google uniquement sous forme d'URL avec ce message:

La description de ce résultat n'est pas disponible en raison du fichier robots.txt de ce site.

Est-ce suffisant pour éviter de futures pénalités, comme Panda, ou, puisqu'elles sont toujours sur l'index (même si seules les URL sont interdites en raison de l'interdiction), Google conservera toujours les pages dans leur "cache" de la dernière analyse, ce qui pourrait poser des problèmes?

5
Jonathan Meyer

Ce que je suggérerais, c’est de créer un nouvel ensemble d’URL pour les pages de résultats de recherche, puis de produire une page d’erreur avec un code d’état HTTP 410 pour toute personne demandant les anciennes URL. Aussi, rendez vos pages de recherche uniquement accessibles via la méthode de requête POST.

Google n'analysera pas les pages demandées via POST s'il est demandé à la suite du remplissage du formulaire approprié. Un exemple est la connexion à une section spécifique d'un site Web.

Par exemple:

Si vos URL de résultats de recherche actuels sont sous la forme de:

http://example.com/results.php?query=abc

alors cela doit renvoyer un code d'état 410 avec une erreur indiquant que la page n'est plus disponible.

Ce que vous devez faire, c'est créer un formulaire de recherche approprié. En HTML, cela fonctionnera:

<form action="searchfor.php" method="post">
Query: <input type="text" name="query">
<input type="submit" value="search">
</form>

Lorsque l'utilisateur clique sur Rechercher, la page demandée sera searchfor.php et les données postées seront query = que ce soit (remplacez-le par le texte saisi par l'utilisateur) et la valeur pourra être extraite dans le script du serveur. Dans toutes les pages de résultats de recherche, l'URL dans la barre d'adresse restera toujours identique mais la page sera différente en fonction de la requête.

Pour de meilleurs résultats, assurez-vous que la valeur de l'action de formulaire pointe vers un nom de script différent. Le script doit cependant exister sur le serveur. Vous pouvez insérer l'URL complète du script si cela vous simplifie la tâche.

Assurez-vous simplement qu'il n'y a pas d'autre moyen pour les personnes d'accéder aux pages de résultats de recherche, puis Google n'essaiera pas d'y accéder. Si vous devez autoriser les utilisateurs à y accéder d'une autre manière via un lien hypertexte, vous devez inclure un rel="nofollow" à l'intérieur de la balise d'ancrage et dans la page de résultat correspondante, afin de la rendre non indexable. Voir les autres réponses dans ce fil pour savoir comment rendre la page non indexable.

1
Mike

Google n'analysera pas le chemin non autorisé spécifié dans robots.txt, mais vous ne pouvez pas contrôler via robots.txt le références aux résultats de recherche de votre site provenant d’autres sites .

Bien que Google n'analyse pas et n'indexe pas le contenu bloqué par le fichier robots.txt, il est possible que nous trouvions et indexions une URL interdite à partir d'autres emplacements sur le Web. Par conséquent, l'adresse URL et, éventuellement, d'autres informations accessibles au public, telles que le texte d'ancrage dans les liens vers le site, peuvent toujours apparaître dans les résultats de recherche Google. Vous pouvez empêcher complètement l'URL d'apparaître dans les résultats de recherche Google en utilisant d'autres méthodes de blocage d'URL, telles que la protection par mot de passe des fichiers sur votre serveur ou en utilisant la balise méta noindex ou l'en-tête de la réponse.

Source: https://support.google.com/webmasters/answer/6062607

Bloquer l'indexation de la recherche avec des balises méta

Vous pouvez empêcher une page d'apparaître dans la recherche Google en incluant une balise méta noindex dans le code HTML de la page. Lors de la prochaine exploration de Googlebot sur cette page, Googlebot verra la balise méta noindex et supprimera cette page entièrement des résultats de la recherche Google, que d'autres sites y soient liés ou non.

Pour empêcher la plupart des robots d'exploration de moteurs de recherche d'indexer une page sur votre site, placez la balise META suivante dans la section de votre page * :

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

Pour empêcher uniquement les robots Web Google d'indexer une page:

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

Source: https://support.google.com/webmasters/answer/9371

2
marcanuy

Google prend en charge Noindex: dans le fichier robots.txt en tant que fonctionnalité expérimentale. Il semble que ce serait le cas idéal pour l'utiliser:

User-Agent: *
Disallow: /search/
Noindex: /search/
2