Roboter -Ausschlussstandard

Das Roboter -Ausschlussstandard, auch bekannt als die Roboter -Ausschlussprotokoll oder einfach Robots.txt, ist ein Standard von verwendet von Websites kommunizieren mit Webcrawler und andere Webroboter. Der Standard gibt an, wie der Webroboter darüber informiert wird, welche Bereiche der Website nicht verarbeitet oder gescannt werden sollen. Roboter werden oft von verwendet von Suchmaschinen Websites kategorisieren. Nicht alle Roboter kooperieren mit dem Standard; E -Mail -Ernte, Spambots, Malware Und Roboter, die nach Sicherheitslücken scannen, können sogar mit den Teilen der Website beginnen, auf denen sie aufgefordert wurden, draußen zu bleiben. Der Standard kann in Verbindung mit verwendet werden Sitemaps, ein Robotereinschlussstandard für Websites.

Geschichte

Der Standard wurde von vorgeschlagen von Martijn Koster,[1][2] wenn ich arbeite für Nexor[3] Im Februar 1994[4] auf der www-talk Mailingliste, der Hauptkommunikationskanal für WWW-bezogene Aktivitäten zu dieser Zeit. Charles Stross behauptet, Koster provoziert zu haben, Robots.txt vorzuschlagen, nachdem er einen schlecht verhaltenen Web-Crawler geschrieben hatte, der versehentlich einen verursacht hat Denial-of-Service-Angriff auf Kosters Server.[5]

Es wurde schnell ein De facto Standard Es wurde erwartet, dass diese gegenwärtigen und zukünftigen Webcrawler folgen; am meisten eingehalten, einschließlich derer, die von Suchmaschinen betrieben werden, wie z. Webcrawler, Lycos, und Altavista.[6]

Am 1. Juli 2019 kündigte Google den Vorschlag des Roboter -Ausschlussprotokolls als offiziellen Standard unter Internettechnik-Arbeitsgruppe.[7] Der Entwurf[8] wird nun den Akzeptanzprozess unterziehen.

Standard

Wenn ein Site -Eigentümer Anweisungen an Webroboter geben möchte, platzieren er eine Textdatei mit dem Namen Robots.txt In der Wurzel der Website -Hierarchie (z. https://www.example.com/robots.txt). Diese Textdatei enthält die Anweisungen in einem bestimmten Format (siehe Beispiele unten). Roboter das wählen Um den Anweisungen zu befolgen, versuchen Sie, diese Datei abzurufen und die Anweisungen zu lesen, bevor Sie eine andere Datei aus dem abrufen Webseite. Wenn diese Datei nicht vorhanden ist, gehen Webroboter davon aus, dass der Website -Eigentümer keine Einschränkungen für das Krabbeln der gesamten Website vorlegen möchte.

Eine Robots.txt -Datei auf einer Website fungiert als Anforderung, dass angegebene Roboter angegebene Dateien oder Verzeichnisse beim Krabbeln einer Website ignorieren. Dies könnte beispielsweise aus einer Präferenz für die Privatsphäre aus Suchmaschinenergebnissen oder der Überzeugung sein Die Anwendung arbeitet nur mit bestimmten Daten. Links zu Seiten, die in Robots.txt aufgeführt sind, können weiterhin in den Suchergebnissen angezeigt werden, wenn sie mit einer Seite, die gekrabbt ist, mit verknüpft ist.[9]

Eine Robots.txt -Datei deckt eine ab Ursprung. Für Websites mit mehreren Subdomains muss jeder Subdomain eine eigene Robots.txt -Datei haben. Wenn Beispiel.com hatte aber eine Robots.txt -Datei, aber A.example.com Nicht, die Regeln, die sich bewerben würden Beispiel.com würde sich nicht bewerben auf A.example.com. Darüber hinaus benötigt jedes Protokoll und jeder Port eine eigene Robots.txt -Datei. http://example.com/robots.txt gilt nicht für Seiten unter http://example.com:8080/ oder https://example.com/.

Einige große Suche Motoren Befolgen Sie diesen Standard Ask, Ask,[10] AOL,[11] Baidu,[12] Duckduckgo,[13] Google,[14] Yahoo !,[15] und Yandex.[16] Bing[17] ist immer noch[wenn?] Nicht vollständig kompatibel mit dem Standard, da er keine Einstellungen von der Wildcard erben (*).[18]

Die Freiwilligengruppe Archivteam Ignoriert Robots.txt größtenteils explizit und betrachtet ihn als einen veralteten Standard, der die Bemühungen des Webarchivs behindert. Laut dem Projektleiter Jason Scott "Unkontrolliert und allein gelassen, stellt die Datei robots.txt keine Spiegelung oder Referenz für Elemente sicher, die allgemeine Nutzung und Bedeutung haben, die über den Kontext der Website hinausgehen."[19]

Für einige Jahre die Internetarchiv Ich habe keine Websites mit Robots.txt kriechet, aber im April 2017 gab es bekannt, dass es in den Robots.txt -Dateien keine Richtlinien mehr ehren würde.[20] "Im Laufe der Zeit haben wir beobachtet, dass die Robots.txt -Dateien, die auf Suchmaschinencrawler ausgerichtet sind, nicht unbedingt unseren Archivzwecken dienen."[21] Dies war eine Reaktion darauf, dass ganze Domänen mit Robots.txt markiert wurden, als der Inhalt veraltet wurde.[21]

Sicherheit

Trotz der Verwendung der Begriffe "zulässt" und "nicht zulässt" ist das Protokoll rein ratsam und stützt sich auf die Einhaltung der Einhaltung der Webroboter.[22] Es ist unwahrscheinlich, dass böswillige Webroboter Robots.txt ehren. Einige können sogar den Robots.txt als Leitfaden verwenden, um nicht zugelassene Links zu finden und direkt zu ihnen zu gehen. Während dies manchmal als Sicherheitsrisiko behauptet wird, ist[23] diese Art von Sicherheit durch Dunkelheit wird von Standardskörpern entmutigt. Das Nationales Institut für Standards und Technologie (NIST) In den Vereinigten Staaten empfiehlt es ausdrücklich gegen diese Praxis: "Die Systemsicherheit sollte nicht von der Geheimhaltung der Implementierung oder ihrer Komponenten abhängen."[24] Im Kontext von Robots.txt -Dateien wird die Sicherheit durch Dunkelheit nicht als Sicherheitstechnik empfohlen.[25]

Alternativen

Viele Roboter passieren auch eine besondere User-Agent zum Webserver beim Abholen von Inhalten.[26] Ein Webadministrator könnte auch den Server so konfigurieren, dass er automatisch Fehler zurückgibt (oder Alternative Inhalte übergeben) Wenn sie eine Verbindung mit einem der Roboter erkennt.[27][28]

Einige Websites, wie z. Google, Host a Menschen.txt Datei, in der Informationen angezeigt werden, die für Menschen gelesen werden sollen.[29] Einige Websites wie z. GitHub Umleiten Sie Menschen.[30]

Zuvor hatte Google eine Witzdatei gehostet bei /Killer-robots.txt unterrichten der Terminator Nicht um die Firmengründer zu töten Larry Seite und Sergey Brin.[31][32]

Beispiele

Dieses Beispiel zeigt allen Robotern an, dass sie alle Dateien besuchen können, weil die Wildcard * steht für alle Roboter und die Nicht zulassen Die Richtlinie hat keinen Wert, was bedeutet, dass keine Seiten nicht zugelassen sind.

Benutzer-Agent: * Nicht zulassen:

Das gleiche Ergebnis kann mit einer leeren oder fehlenden Robots.txt -Datei erreicht werden.

In diesem Beispiel werden allen Robotern angewiesen, sich von einer Website herauszuhalten:

Benutzer-Agent: * nicht zulassen: /

In diesem Beispiel werden allen Robotern nicht drei Verzeichnisse eingeben:

Benutzer-Agent: * Unzulässige: /cgi-bin /ding: /tmp /disalloy: /junk /

In diesem Beispiel werden allen Robotern angewiesen, sich von einer bestimmten Datei fernzuhalten:

Benutzer-Agent: * Unzulässigen: /directory/file.html

Alle anderen Dateien im angegebenen Verzeichnis werden verarbeitet.

In diesem Beispiel wird ein bestimmter Roboter angewiesen, sich von einer Website herauszuhalten:

Benutzer-Agent: Badbot # Ersetzen

In diesem Beispiel werden zwei spezifische Roboter angewiesen, kein bestimmtes Verzeichnis einzugeben:

Benutzer-Agent: Badbot # Ersetzen

Beispiel, das demonstriert, wie Kommentare verwendet werden können:

# Kommentare werden nach dem Symbol " #" zu Beginn einer Zeile oder nach einer Direktive-Benutzer-Agent angezeigt: * # Übereinstimmen alle Bots nicht: / # halten sie fern

Es ist auch möglich, mehrere Roboter mit eigenen Regeln aufzulisten. Die tatsächliche Roboterzeichenfolge wird vom Crawler definiert. Ein paar Roboterbetreiber wie z. GoogleUnterstützen Sie mehrere Benutzer-Agent-Zeichenfolgen, die es dem Bediener ermöglichen, den Zugriff auf eine Teilmenge seiner Dienste durch die Verwendung bestimmter Benutzer-Agent-Zeichenfolgen zu verweigern.[14]

Beispiel, das mehrere Benutzer-Agents demonstriert:

Benutzer-Agent: GoogleBot # Alle Google-Dienste sind nicht zulässt: / privat / # Verlassen Sie dieses Verzeichnis Benutzer-Agent: GoogleBot-News # Nur der Nachrichtenservice nicht zulässt: / # Verlassen Sie alles Benutzer-Agent: * # Jeder Roboter nicht zulässt: / etwas / # Dieses Verzeichnis nicht zulassen

Nicht standardmäßige Erweiterungen

Crawl-Delay-Richtlinie

Der Crawl-Delay-Wert wird von einigen Crawlern unterstützt, um ihre Besuche im Wirt zu drosseln. Da dieser Wert nicht Teil des Standards ist, hängt seine Interpretation von der Crawler ab, die ihn liest. Es wird verwendet, wenn der mehrfache Besuch von Bots den Wirt verlangsamt. Yandex interpretiert den Wert als die Anzahl der Sekunden, die zwischen nachfolgenden Besuchen warten.[16] Bing definiert Crawl-Delay als die Größe eines Zeitfensters (von 1 bis 30 Sekunden), bei dem Bingbot nur einmal auf eine Website zugreift.[33] Google bietet eine Schnittstelle in seinem Suchkonsole für Webmaster, um die zu kontrollieren GoogleBotNachfolgende Besuche.[34]

Benutzer-Agent: Bingbot erlauben: / crawl-delay: 10

Richtlinie zulassen

Einige große Crawler unterstützen eine Erlauben Richtlinie, die einer Anhängerschaft entgegenwirken kann Nicht zulassen Richtlinie.[35][36] Dies ist nützlich, wenn man den Robotern sagt, dass sie ein ganzes Verzeichnis vermeiden sollen, aber immer noch einige HTML -Dokumente in diesem Verzeichnis gekrabbeln und indiziert haben möchte. Während das erste passende Robots.txt -Muster durch Standardimplementierung immer gewinnt, unterscheidet sich die Implementierung von Google darin, dass Muster mit gleichen oder mehr Zeichen im Richtlinienpfad -Gewinn gegen ein Matching -Unschließmuster ermöglichen.[37] Bing verwendet entweder die Erlauben oder Nicht zulassen Richtlinie, je nachdem, was auch immer genauer ist, basierend auf Länge, wie Google.[17]

Um für alle Roboter kompatibel zu sein, muss beispielsweise die Zulassungsrichtlinie in einem ansonsten unzulässigen Verzeichnis in einem ansonsten unzulässigen Verzeichnis zuzulassen, gefolgt von der Ablehnung, zum Beispiel:

Zulässt: /directory1/myFile.html disalloy: /directory1 /

In diesem Beispiel werden alles in /verzeichnis1 /außer /directory1/myFile.html abgelehnt, da letztere zuerst übereinstimmen. Die Reihenfolge ist nur für Roboter, die dem Standard folgen. Bei den Google- oder Bing -Bots ist die Bestellung nicht wichtig.

Seitenverzeichnis

Einige Crawler unterstützen a Seitenverzeichnis Richtlinie, um mehrere zu ermöglichen Sitemaps im gleichen Robots.txt in der Form SITEMAP: Full-URL:[38]

Sitemap: http://www.example.com/sitemap.xml

Gastgeber

Einige Crawler (Yandex) Unterstützung a Gastgeber Anweisung, sodass Websites mit mehreren Spiegeln ihre bevorzugte Domäne angeben:[39]

Host: hosting.example.com

Dies wird nicht von allen Crawler unterstützt.

Universal "*" Match

Das Roboter -Ausschlussstandard erwähnt nicht den "*" -Scharakter in der Nicht zulassen: Aussage.[40]

Meta -Tags und Header

Zusätzlich zu Root-Level-Robots.txt-Dateien können Roboter-Ausschlussanweisungen auf einer detaillierteren Ebene durch die Verwendung von angewendet werden Roboter Meta -Tags und X-Robots-tag-HTTP-Header. Das Roboter-Meta-Tag kann nicht für Nicht-HTML-Dateien wie Bilder, Textdateien oder PDF-Dokumente verwendet werden. Andererseits kann die X-Robots-Tag zu Nicht-HTML-Dateien mithilfe von Verwendung hinzugefügt werden .htaccess und httpd.conf Dateien.[41]

Ein "NoIndex" -Meta -Tag
<Meta Name="Roboter" Inhalt="noIndex" /> 
Ein "NoIndex" HTTP -Antwortheader
X-Robots-tag: noIndex

Die X-Robots-Tag ist erst nach Anforderung der Seite effektiv und der Server antwortet, und das Roboter-Meta-Tag ist erst nach dem Laden der Seite effektiv, während Robots.txt vor der Anforderung der Seite effektiv ist. Wenn also eine Seite von einer Robots.txt-Datei ausgeschlossen ist, werden alle Roboter-Meta-Tags oder X-Robots-Z-Header effektiv ignoriert, da der Roboter sie überhaupt nicht sieht.[41]

Siehe auch

Verweise

  1. ^ "Historisch". Greenhills.co.uk. Archiviert vom Original am 2017-04-03. Abgerufen 2017-03-03.
  2. ^ Fielding, Roy (1994). "Aufrechterhaltung verteilter Hypertext -Infostrukturen: Willkommen in Momspiders Web" (PostScript). Erste internationale Konferenz über das World Wide Web. Genf. Archiviert vom Original am 2013-09-27. Abgerufen 25. September, 2013.
  3. ^ "Die Webroboterseiten". Robotstxt.org. 1994-06-30. Archiviert vom Original am 2014-01-12. Abgerufen 2013-12-29.
  4. ^ Koster, Martijn (25. Februar 1994). "Wichtig: Spinnen, Roboter und Webwanderer". www-talk Mailingliste. Archiviert von das Original (Hypermail archivierte Nachricht) am 29. Oktober 2013.
  5. ^ "Wie ich am Ende hierher gekommen bin, Teil 5:" Die Dinge können nur besser werden! "". Charlies Tagebuch. 19. Juni 2006. Archiviert vom Original am 2013-11-25. Abgerufen 19. April 2014.
  6. ^ Barry Schwartz (30. Juni 2014). "Robots.txt feiert 20 Jahre Blockierung von Suchmaschinen". Suchmaschinenland. Archiviert vom Original am 2015-09-07. Abgerufen 2015-11-19.
  7. ^ "Formalisierung der Roboter -Ausschlussprotokollspezifikation". Offizieller Google Webmaster Central Blog. Abgerufen 2019-07-10.
  8. ^ M. Koster, Stalworthy Computing, Ltd., G. Illyes, H. Zeller, L. Harvey, Google (2019-07-01). "Roboter Exclusion Protocol Draft-Rep-Wg-Topic-00". IETF -Dokumente. Abgerufen 2019-09-09. {{}}: |author= hat generischen Namen (Hilfe)CS1 Wartung: Mehrere Namen: Autorenliste (Link)
  9. ^ "Ungekratzte URLs in Suchergebnissen". Youtube. 5. Oktober 2009. Archiviert vom Original am 2014-01-06. Abgerufen 2013-12-29.
  10. ^ "Über Ask.com: Webmaster". Über.ask.com. Abgerufen 16. Februar 2013.
  11. ^ "Über AOL -Suche". Search.aol.com. Abgerufen 16. Februar 2013.
  12. ^ "Baiduspider". Baidu.com. Abgerufen 16. Februar 2013.
  13. ^ "Duckduckgo Bot". Duckduckgo.com. Abgerufen 25. April 2017.
  14. ^ a b "Webmaster: Robots.txt -Spezifikationen". Google -Entwickler. Archiviert vom Original am 2013-01-15. Abgerufen 16. Februar 2013.
  15. ^ "Senden Sie Ihre Website nach Yahoo! Suche". Archiviert vom Original am 2013-01-21. Abgerufen 16. Februar 2013.
  16. ^ a b "Verwenden von Robots.txt". Help.yandex.com. Archiviert vom Original am 2013-01-25. Abgerufen 16. Februar 2013.
  17. ^ a b "Roboter Exclusion Protocol: Verbinden Sie sich zusammen, um eine bessere Dokumentation zu liefern". Blogs.bing.com. Archiviert vom Original am 2014-08-18. Abgerufen 16. Februar 2013.
  18. ^ "So erstellen Sie eine Robots.txt -Datei - Bing -Webmaster -Tools". www.bing.com. Abgerufen 2019-02-06.
  19. ^ Jason Scott. "Robots.txt ist ein Selbstmordnotiz". Archivteam. Archiviert vom Original am 2017-02-18. Abgerufen 18. Februar 2017.
  20. ^ "Robots.txt, das für Suchmaschinen bestimmt ist, eignet sich nicht gut für Webarchive | Internet Archive Blogs". blog.archive.org. 17. April 2017. Archiviert vom Original am 2018-12-04. Abgerufen 2018-12-01.
  21. ^ a b Jones, Brad (24. April 2017). "Das Internet -Archiv ignoriert Robots.txt -Dateien, um die Genauigkeit beizubehalten.". Digitale Trends. Archiviert vom Original am 2017-05-16. Abgerufen 8. Mai 2017.
  22. ^ "Block URLs mit Robots.txt: Erfahren Sie mehr über Robots.txt -Dateien". Archiviert vom Original am 2015-08-14. Abgerufen 2015-08-10.
  23. ^ "Robots.txt sagt den Hackern die Orte, an denen sie nicht aussehen sollen.". Das Register. Archiviert vom Original am 2015-08-21. Abgerufen 12. August, 2015.
  24. ^ Scarfone, K. A.; Jansen, W.; Tracy, M. (Juli 2008). "Leitfaden zur allgemeinen Serversicherheit" (PDF). Nationales Institut für Standards und Technologie. doi:10.6028/nist.sp.800-123. Archiviert (PDF) vom Original am 2011-10-08. Abgerufen 12. August, 2015. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  25. ^ Sverre H. Huseby (2004). Unschuldiger Code: Ein Sicherheitsweckruf für Webprogrammierer. John Wiley & Sons. S. 91–92. ISBN 9780470857472. Archiviert vom Original am 2016-04-01. Abgerufen 2015-08-12.
  26. ^ "Liste der Benutzer-Agents (Spinnen, Roboter, Browser)". User-Agents.org. Archiviert vom Original am 2014-01-07. Abgerufen 2013-12-29.
  27. ^ "Access Control - Apache HTTP Server". Httpd.apache.org. Archiviert vom Original am 2013-12-29. Abgerufen 2013-12-29.
  28. ^ "Strings für die Filterregeln verweigern: Die offizielle Microsoft IIS -Website". Iis.net. 2013-11-06. Archiviert vom Original am 2014-01-01. Abgerufen 2013-12-29.
  29. ^ "Google Humans.txt". Abgerufen 3. Oktober, 2019.
  30. ^ "Github Humans.txt". Abgerufen 3. Oktober, 2019.
  31. ^ Newman, Lily Hay (2014-07-03). "Ist dies ein Google -Osterei oder ein Beweis dafür, dass Skynet tatsächlich die Weltherrschaft plant?". Slate Magazine. Abgerufen 2019-10-03.
  32. ^ "/killer-robots.txt". 2018-01-10. Archiviert vom Original am 2018-01-10. Abgerufen 2018-05-25.
  33. ^ "Um zu kriechen oder nicht zu kriechen, das ist Bingbots Frage". 3. Mai 2012. Archiviert vom Original am 2016-02-03. Abgerufen 9. Februar 2016.
  34. ^ "Ändern Sie die GoogleBot -Crawl -Rate - Suchkonsole Hilfe". Support.google.com. Archiviert vom Original am 2018-11-18. Abgerufen 22. Oktober 2018.
  35. ^ "Webmaster Help Center - Wie blockiere ich GoogleBot?". Archiviert Aus dem Original am 2010-08-01. Abgerufen 2007-11-20.
  36. ^ "Wie kann ich verhindern, dass meine Website oder bestimmte Unterverzeichnisse gekrabbt werden? - Yahoo -Suche Hilfe". Archiviert vom Original am 2007-10-13. Abgerufen 2007-11-20.
  37. ^ "Google verborgene Interpretation von Robots.txt". Archiviert vom Original am 2010-11-20. Abgerufen 2010-11-15.
  38. ^ "Yahoo! Suchblog - Webmaster können jetzt automatisch mit Sitemaps entdecken". Archiviert von das Original am 2009-03-05. Abgerufen 2009-03-23.
  39. ^ "Yandex - mit Robots.txt". Archiviert vom Original am 2013-05-09. Abgerufen 2013-05-13.
  40. ^ "Robots.txt -Spezifikationen". Google -Entwickler. Abgerufen 15. Februar, 2020.
  41. ^ a b "Roboter Meta-Tag und X-Robots-tag-HTTP-Headerspezifikationen-Webmaster-Google-Entwickler". Archiviert vom Original am 2013-08-08. Abgerufen 2013-08-17.

Externe Links