Dans le panneau Outils Google Webmaster de mon blog, j'ai trouvé le code suivant dans la section robots.txt of bloquée URLs.
User-agent: Mediapartners-Google
Disallow: /search
Allow: /
Je sais que Disallow
empêchera Googlebot d’indexer une page Web, mais je ne comprends pas l’utilisation de Disallow: /search
.
Quelle est la signification exacte de Disallow: /search
?
Dans le Disallow
champ , vous spécifiez le début des chemins d’URL des URL à bloquer.
Donc, si vous avez Disallow: /
, il bloque tout , car chaque chemin d'URL commence par /
.
Si vous avez Disallow: /a
, il bloque toutes les URL dont le chemin commence par /a
. Cela pourrait être /a.html
, /a/b/c/hello
ou /about
.
Dans le même sens, si vous avez Disallow: /search
, il bloque toutes les URL dont le chemin commence par la chaîne /search
. Ainsi, les URL suivantes seraient bloquées, par exemple (si le fichier robots.txt est dans http://example.com/
):
http://example.com/search
http://example.com/search.html
http://example.com/searchengine
http://example.com/search/
http://example.com/search/index.html
Bien que les URL suivantes soient toujours autorisées:
http://example.com/foo/search
http://example.com/sea
Notez que robots.txt ne sait pas/dérange pas si la chaîne correspond à un répertoire, un fichier ou rien du tout. Il ne regarde que les caractères de l'URL.
D'autres réponses expliquent comment robots.txt est traité pour appliquer cette règle, mais n'indiquez pas pourquoi vous souhaitez interdire aux robots de parcourir les résultats de votre recherche.
Une des raisons pourrait être que vos résultats de recherche sont coûteux à générer. Dire aux robots de ne pas explorer ces pages pourrait réduire la charge sur vos serveurs.
Les pages de résultats de recherche ne sont pas non plus d'excellentes pages de destination. Une page de résultat de recherche contient généralement une liste de 10 pages de votre site, avec des titres et des descriptions. Les utilisateurs seraient généralement mieux servis en allant directement sur la plus pertinente de ces pages. En fait, Google a dit qu'ils ne veulent pas que les résultats de recherche de votre site soient indexés par Google. Si vous ne les refusez pas, Google pourrait pénaliser votre site.
Puisque le PO a indiqué dans ses commentaires qu'il ne s'intéressait qu'à "/ search directory", ma réponse ci-dessous concerne le refus d'autoriser uniquement un répertoire de "recherche":
Ce qui suit est une directive à ne pas analyser par les robots quelque chose nommé "recherche" situé dans le répertoire racine:
Disallow: /search
Selon la documentation d'aide sur les outils pour les webmasters de Google suivante ci-dessous, les noms de répertoire doivent être suivis et suivis d'une barre oblique /
, comme indiqué également dans les autres sources de référence suivantes:
Outils Google pour les webmasters - Bloquez ou supprimez des pages à l'aide d'un fichier robots.txt
Pour bloquer un répertoire et son contenu, suivez le nom du répertoire avec une barre oblique.
Disallow: /junk-directory/
Robotstxt.org - Que mettre dedans
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
In this example, three directories are excluded.
Wikipedia - norme d'exclusion des robots
This example tells all robots not to enter three directories:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
Donc, selon Google (copie ci-dessus), ce qui suit empêcherait les bots avec l'agent utilisateur Mediapartners-Google
d'explorer la "recherche" répertoire situé dans le répertoire racine, mais autoriserait tous les autres répertoires à explorer:
User-agent: Mediapartners-Google
Disallow: /search/
Allow: /
Il indique à AdSense de ne rechercher aucun fichier dans le répertoire /search
ou en dessous (c’est-à-dire dans les sous-répertoires de /search
).
cela signifie que l'agent utilisateur Mediapartners-Google ne sera autorisé à accéder à aucun des répertoires situés sous /search
/search/go blocked
/search blocked
/ not blocked.