Robots.txt - Was ist das richtige format für einen Crawl-Delay für mehrere user-agents?
Unten ist ein Beispiel robots.txt Datei zu Ermöglichen mehrere user-agents mit mehrere kriechen Verzögerungen für jeden Benutzer-agent. Die Crawl-delay-Werte sind zur Veranschaulichung und wird anders sein in einem echten robots.txt Datei.
Ich habe gesucht alle über das Internet für die richtigen Antworten, konnte aber keinen finden. Es gibt auch viele gemischte Vorschläge, und ich weiß nicht, welches das richtige /richtige Methode.
Fragen:
(1) Kann jeden Benutzer-agent über einen eigenen crawl-delay? (Ich nehme an ja)
(2) Wo stellst du die crawl-delay Zeile für jeden Benutzer-agent, vor oder nach dem Erlauben /Dissallow Linie?
(3) muss ein Leerzeichen sein, wie zwischen den einzelnen user-agent-Gruppe.
Referenzen:
http://www.seopt.com/2013/01/robots-text-file/
http://help.yandex.com/webmaster/?id=1113851#1113858
Grundsätzlich, ich bin auf der Suche, um herauszufinden, wie die Letzte robots.txt Datei suchen sollten, mit den Werten, die in der Probe unten.
Vielen Dank im Voraus.
# Allow only major search spiders
User-agent: Mediapartners-Google
Disallow:
Crawl-delay: 11
User-agent: Googlebot
Disallow:
Crawl-delay: 12
User-agent: Adsbot-Google
Disallow:
Crawl-delay: 13
User-agent: Googlebot-Image
Disallow:
Crawl-delay: 14
User-agent: Googlebot-Mobile
Disallow:
Crawl-delay: 15
User-agent: MSNBot
Disallow:
Crawl-delay: 16
User-agent: bingbot
Disallow:
Crawl-delay: 17
User-agent: Slurp
Disallow:
Crawl-delay: 18
User-agent: Yahoo! Slurp
Disallow:
Crawl-delay: 19
# Block all other spiders
User-agent: *
Disallow: /
# Block Directories for all spiders
User-agent: *
Disallow: /ads/
Disallow: /cgi-bin/
Disallow: /scripts/
(4) Wenn ich will, um alle user-agents zu haben crawl-delay von 10 Sekunden, wäre das folgende richtig?
# Allow only major search spiders
User-agent: *
Crawl-delay: 10
User-agent: Mediapartners-Google
Disallow:
User-agent: Googlebot
Disallow:
User-agent: Adsbot-Google
Disallow:
User-agent: Googlebot-Image
Disallow:
User-agent: Googlebot-Mobile
Disallow:
User-agent: MSNBot
Disallow:
User-agent: bingbot
Disallow:
User-agent: Slurp
Disallow:
User-agent: Yahoo! Slurp
Disallow:
# Block all other spiders
User-agent: *
Disallow: /
# Block Directories for all spiders
User-agent: *
Disallow: /ads/
Disallow: /cgi-bin/
Disallow: /scripts/
InformationsquelleAutor der Frage Sammy | 2013-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Jeder Datensatzangefangen von einem oder mehreren
User-agent
Linien, kann eineCrawl-delay
Linie. Beachten Sie, dassCrawl-delay
ist nicht Teil der original robots.txt Spezifikation. Aber es ist kein problem, Sie sind für diejenigen, die Parser, die es verstehen, wie die spec -definiert:Also älter robots.txt Parser einfach ignoriert Ihre
Crawl-delay
Linien.Egal.
Ja. Datensätze getrennt werden, indem eine oder mehrere neue Linien. Finden Sie die original spec:
Nicht. Bots suchen nach Datensätzen, die mit Ihren user-agent. Nur wenn Sie nicht finden, eine Aufzeichnung, Sie verwenden die
User-agent: *
aufnehmen. Also in deinem Beispiel, alle genannten bots (wieGooglebot
MSNBot
Yahoo! Slurp
etc.) haben keineCrawl-delay
.Beachten Sie auch, dass Sie nicht haben, können mehrere Einträge mit
User-agent: *
:Also Parser Aussehen könnte (wenn kein anderer Datensatz überein) für den ersten Datensatz mit
User-agent: *
und ignorieren den folgenden. Für dein erstes Beispiel würde das bedeuten, dass URLs beginnen mit/ads/
/cgi-bin/
und/scripts/
sind nicht blockiert.Und selbst wenn Sie nur eine Datensatz mit
User-agent: *
dieseDisallow
Zeilen sind nur für bots, die keinen anderen Datensatz übereinstimmen! Als Sie Ihren Kommentar# Block Directories for all spiders
schlage vor, Sie möchten diese URL-Pfade blockiert werden alle Spinnen, so hätten Sie zu wiederholenDisallow
Linien für jeder aufnehmen.InformationsquelleAutor der Antwort unor