web-dev-qa-db-fra.com

Robots.txt n'empêche pas l'exploration de mon site

J'ai un problème avec robots.txt. J'ai mis le fichier robots.txt dans le répertoire principal du site Web (et également dans /var/www/html - pour le faire fonctionner sur tout le serveur) mais les robots continuent à explorer mes sites Web.

voici mon fichier robots.txt:

User-agent: YandexBot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot/1.2~bl
Disallow: /

Avez-vous des suggestions?

1
chen

Notez que votre fichier robots.txt n’est pas valide (mais cela ne signifie pas nécessairement que c’est la raison du problème que vous rencontrez; les robots peuvent ignorer de telles erreurs).

Si un bot analyse votre fichier robots.txt conformément à la spécification robots.txt, ce bot ne verra qu'un seul enregistrement, et cet enregistrement ne s'appliquera qu'aux robots portant le nom "YandexBot". Tous les autres robots seraient autorisés à tout explorer.

La raison en est que les enregistrements doivent être séparés par des lignes vides. Donc ça devrait être:

User-agent: YandexBot
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: SemrushBot/1.2~bl
Disallow: /

Si vous avez toujours le même Disallow pour tous ces robots, vous pouvez utiliser un enregistrement avec plusieurs lignes User-agent , si vous le préférez:

User-agent: YandexBot
User-agent: SemrushBot
User-agent: AhrefsBot
User-agent: SemrushBot/1.2~bl
Disallow: /

(Vous devrez peut-être utiliser des noms différents pour certains des robots que vous souhaitez bloquer, comme @StephenOstermiller le suggère dans sa réponse .)

2
unor

Une fois que vous avez créé votre fichier robots.txt, il faudra un jour ou plus aux robots qui l’honorent pour le récupérer.

Yandex a un certain nombre de robots et une documentation sur la façon de les interdire à l’aide de robots.txt ici: https://yandex.com/support/webmaster/controlling-robot/robots-txt.xml Vous voudrez peut-être envisager de remplacer votre fichier robots.txt par Yandex:

User-agent: Yandex
Disallow: /

SEM Rush a deux robots. Leur documentation à ce sujet est la suivante: https://www.semrush.com/bot/ Vous en avez correctement refusé l'un des deux, mais votre deuxième règle avec le numéro de version du bot ne sera pas effective. Vous devriez envisager d'utiliser ces règles pour interdire toutes les explorations SEM Rush:

User-agent: SemrushBot
Disallow: / 

User-agent: SemrushBot-SA
Disallow: / 

Vous refusez déjà AhrefsBot conformément à leur documentation: https://ahrefs.com/robot

User-agent: AhrefsBot
Disallow: / 
1