it-swarm.com.de

Robots.txt verhindert nicht, dass meine Website gecrawlt wird

Ich habe ein Problem mit robots.txt. Ich habe die robots.txt-Datei im Hauptverzeichnis der Website abgelegt (und auch in /var/www/html, damit sie auf allen Servern funktioniert), aber die Robots durchsuchen meine Websites weiterhin.

das ist meine robots.txt:

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

Hast du irgendwelche Vorschläge?

1
chen

Beachten Sie, dass Ihre robots.txt-Datei ungültig ist (dies bedeutet jedoch nicht unbedingt, dass dies der Grund für das Problem ist, das Sie haben; Bots ignorieren möglicherweise solche Fehler).

Wenn ein Bot Ihre robots.txt-Datei streng nach der robots.txt-Spezifikation analysiert, wird diesem Bot nur ein Datensatz angezeigt, und dieser Datensatz gilt nur für Bots mit dem Namen "YandexBot". Alle anderen Bots dürfen alles crawlen.

Der Grund dafür ist, dass Datensätze durch Leerzeilen getrennt werden müssen. So sollte es sein:

User-agent: YandexBot
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: AhrefsBot
Disallow: /

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

Wenn Sie für alle diese Bots immer das gleiche Disallow haben, können Sie einen Datensatz mit mehrere User-agent Zeilen verwenden, wenn Sie es vorziehen:

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

(Möglicherweise müssen Sie für einige der zu blockierenden Bots andere Namen verwenden, wie @StephenOstermiller in seiner Antwort angibt .)

2
unor

Nachdem Sie Ihre robots.txt-Datei erstellt haben, dauert es mindestens einen Tag, bis die Crawler, die dies honorieren, sie abgerufen haben.

Yandex verfügt über eine Reihe von Bots und eine Dokumentation darüber, wie Sie alle mithilfe von robots.txt deaktivieren können: https://yandex.com/support/webmaster/controlling-robot/robots-txt.xml Möglicherweise möchten Sie Ihre robots.txt für Yandex in diese Datei ändern:

User-agent: Yandex
Disallow: /

SEM Rush hat zwei Bots. Die Dokumentation dazu finden Sie hier: https://www.semrush.com/bot/ Sie haben einen von ihnen korrekt abgelehnt, aber Ihre zweite Regel mit der Versionsnummer des Bots wird nicht wirksam. Sie sollten in Betracht ziehen, diese Regeln zu verwenden, um jegliches SEM-Rush-Crawling zu unterbinden:

User-agent: SemrushBot
Disallow: / 

User-agent: SemrushBot-SA
Disallow: / 

Sie verbieten AhrefsBot bereits genau gemäß ihrer Dokumentation: https://ahrefs.com/robot

User-agent: AhrefsBot
Disallow: / 
1