web-dev-qa-db-fra.com

Spécification facultative de chaîne de requête avec "Disallow" dans le fichier robots.txt

Je crée un fichier robots.txt pour mon site Web, qui compte maintenant de nombreuses pages.

Je désactive toutes les pages pour lesquelles je n'ai pas besoin de ramper:

Disallow: /folder/file.aspx

J'ai pas mal de pages sur mon site. Et certains utilisent des chaînes de requête avec eux.

Comment puis-je spécifier l'existence facultative d'une chaîne de requête pour empêcher le robot d'analyser?

J'ai essayé ça

Disallow: /folder/file.aspx?*

Cela interdira file.aspx avec tous les paramètres de chaîne de requête. Mais cela interdira file_with_no_query_string.aspx s'il y a un fichier qui ne devrait pas avoir de paramètres de chaîne de requête et que j'écris

 Disallow: /folder/file_with_no_query_string.aspx?*

Couper court: Spécifier "? *", Voudra-t-il toujours une chaîne de requête?

3
Parth

Tant que certaines chaînes de requête n'ont pas besoin d'être explorées, vous pouvez simplement interdire l'accès à l'intégralité du fichier à l'aide de

Disallow: /folder/file.aspx*

Cela empêchera l'analyse à la fois sur le fichier seul et sur toutes les chaînes de requête ajoutées à la fin du fichier.

0
Chris Rutherfurd

Disallow: /folder/file.aspx

Ce que vous aviez au début est tout ce qui est nécessaire - pour bloquer à la fois /folder/file.apsx et /folder/file.aspx?foo=bar. En cas de doute, vérifiez-le avec l'outil de test robots.txt de la console de recherche Google.

robots.txt est correspondance du préfixe, il n'est donc jamais nécessaire d'inclure le caractère générique (*) à la fin du chemin de l'URL.

Le caractère générique (*) est également une extension du "standard" d'origine. Il convient donc d'éviter cette opération pour une compatibilité maximale.

1
DocRoot