Erlauben Sie nur Google- und Bing-Bots, eine Website zu crawlen

10

Ich verwende die folgende robots.txt-Datei für eine Site: Ziel ist es, Googlebot und Bingbot den Zugriff auf die Site mit Ausnahme der Seite zu ermöglichen /bedven/bedrijf/*und alle anderen Bots daran zu hindern, die Site zu crawlen .

User-agent: googlebot
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: google
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: bingbot
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: bing
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: *
Disallow: /

Verbietet die letzte Regel User-agent: * Disallow: /, dass alle Bots alle Seiten der Site crawlen?

Konsole
quelle
11
Diese ganze Aufgabe betrifft mich. Es gibt andere Suchmaschinen, und jeder, der sie verwendet, wird Ihre Website nicht sehen. Laut theeword.co.uk/info/search_engine_market befinden sich 4,99% des Internets nicht in Ihren Suchmaschinen. Das sind viele Leute. Eine bessere Methode wäre, Ihren Datenverkehr zu überwachen und festzustellen, ob ein Bot tatsächlich Probleme verursacht, und diese dann gezielt zu blockieren.
GKFX
8
Ein sich schlecht benehmender Bot könnte Ihre robots.txtsowieso völlig ignorieren
Nick T
8
Wirklich schlechte Bots interessieren sich nicht für robots.txt
Osvaldo
4
@NickT, in der realen Welt gibt es keinen Mangel an schlecht benommenen Bots, die folgen robots.txt, oder zumindest die Disallow: /Regel. Wenn Ihre persönliche Website in den Boden gehämmert wird, weil ein Bot-Programmierer nie in Betracht gezogen hat, dass der Server ein Raspberry Pi am falschen Ende einer 256-kbit-Verbindung sein könnte, ist ein solcher pauschaler Ausschluss hilfreich.
Mark
2
@Console warum?
o0 '.

Antworten:

24

Dem letzten Datensatz (gestartet von User-agent: *) folgen alle höflichen Bots, die sich nicht als "googlebot", "google", "bingbot" oder "bing" identifizieren.
Und ja, es bedeutet, dass sie nichts kriechen dürfen.

Vielleicht möchten Sie die wegzulassen *in /bedven/bedrijf/*.
In der ursprünglichen robots.txt-Spezifikation *hat keine besondere Bedeutung, es ist nur ein Charakter wie jeder andere. Es würde also nur das Crawlen von Seiten verbieten, *deren URL buchstäblich den Charakter enthält .
Während Google diesbezüglich nicht der robots.txt-Spezifikation folgt, weil sie *als Platzhalter für "jede Zeichenfolge" verwendet werden, wird dies in diesem Fall für sie nicht benötigt : /bedven/bedrijf/*und /bedven/bedrijf/würde genau dasselbe bedeuten: Blockieren Sie alle URLs, deren Pfad beginnt mit /bedven/bedrijf/.

Und schließlich können Sie Ihre robots.txt auf zwei Datensätze reduzieren, da ein Datensatz mehrere User-agentZeilen haben kann :

User-agent: googlebot
User-agent: google
User-agent: bingbot
User-agent: bing
Disallow: /bedven/bedrijf/
Crawl-delay: 10

User-agent: *
Disallow: /
unor
quelle
5
Beachten Sie, dass Google die Crawl-Delay-Direktive in robots.txt ignoriert . Sie müssen es stattdessen in den Google Webmaster-Tools festlegen.
DisgruntledGoat
-2

Bots, insbesondere schlechte, können die Datei robots.txt ignorieren. Egal was dort geschrieben steht, einige Bots können Ihre Site crawlen.

Atis Luguzs
quelle