Der moderne Leitfaden zu Robots.txt: So verwenden Sie ihn und vermeiden die Fallstricke
Robots.txt ist gerade 30 geworden – Stichwort existenzielle Krise! Wie viele, die das große 3:0 erzielen, fragt man sich, ob es in der heutigen Welt der KI und fortschrittlichen Suchalgorithmen noch relevant ist.
Spoiler-Alarm: Das ist es definitiv!
Werfen wir einen Blick darauf, wie diese Datei immer noch eine Schlüsselrolle dabei spielt, wie Suchmaschinen Ihre Website crawlen, wie Sie sie richtig nutzen und welche häufigen Fallstricke es zu vermeiden gilt.
Was ist eine Robots.txt-Datei?
Eine robots.txt-Datei stellt Crawlern wie Googlebot und Bingbot Richtlinien zum Crawlen Ihrer Website zur Verfügung. Wie eine Karte oder ein Verzeichnis am Eingang eines Museums fungiert es als eine Reihe von Anweisungen am Eingang der Website, einschließlich Einzelheiten zu:
- Welche Crawler dürfen/dürfen nicht teilnehmen?
- Alle eingeschränkten Bereiche (Seiten), die nicht gecrawlt werden sollen.
- Vorrangige Seiten zum Crawlen – über die XML-Sitemap-Deklaration.
Seine Hauptaufgabe besteht darin, den Crawler-Zugriff auf bestimmte Bereiche einer Website zu verwalten, indem er angibt, welche Teile der Website „gesperrt“ sind. Dies trägt dazu bei, dass Crawler sich auf die relevantesten Inhalte konzentrieren, anstatt das Crawling-Budget für minderwertige Inhalte zu verschwenden.
Obwohl eine robots.txt-Datei Crawlern Orientierung gibt, ist es wichtig zu beachten, dass nicht alle Bots ihren Anweisungen folgen, insbesondere nicht böswillige. Aber für die meisten seriösen Suchmaschinen ist die Einhaltung der robots.txt-Anweisungen gängige Praxis.
Was ist in einer Robots.txt-Datei enthalten?
Robots.txt-Dateien bestehen aus Zeilen mit Anweisungen für Suchmaschinen-Crawler und andere Bots.
Gültige Zeilen in einer robots.txt-Datei bestehen aus einem Feld, einem Doppelpunkt und einem Wert.
Robots.txt-Dateien enthalten außerdem häufig Leerzeilen zur Verbesserung der Lesbarkeit und Kommentare, um Website-Eigentümern dabei zu helfen, den Überblick über Anweisungen zu behalten.
Um besser zu verstehen, was normalerweise in einer robots.txt-Datei enthalten ist und wie verschiedene Websites es nutzen, habe ich mir robots.txt-Dateien für 60 Domains mit einem hohen Share of Voice in den Bereichen Gesundheit, Finanzdienstleistungen, Einzelhandel und High-End angesehen. techn.
Ohne Kommentare und Leerzeilen betrug die durchschnittliche Anzahl der Zeilen in 60 robots.txt-Dateien 152.
Große Verlage und Aggregatoren wie Hotels.com, Forbes.com und Nytimes.com hatten typischerweise längere Dateien, während Krankenhäuser wie pennmedicine.org und hopkinsmedicine.com typischerweise kürzere Dateien hatten. Die robots.txt-Dateien von Einzelhandelsseiten liegen normalerweise nahe am Durchschnitt von 152.
Alle analysierten Standorte umfassen die Felder user-agent
Und disallow
in ihren robots.txt-Dateien und 77 % der Websites fügten dem Feld eine Sitemap-Deklaration hinzu sitemap
.
Felder wurden seltener genutzt allow
(wird von 60 % der Websites verwendet) und crawl-delay
(von 20 %) der Websites genutzt.
Feld | % der Websites nutzen |
user-agent | 100 % |
disallow | 100 % |
sitemap | 77 % |
allow | 60 % |
crawl-delay | 20 % |
Robots.txt-Syntax
Nachdem wir uns nun damit befasst haben, welche Arten von Feldern normalerweise in einer robots.txt-Datei enthalten sind, können wir uns eingehender mit der Bedeutung jedes einzelnen Felds und seiner Verwendung befassen.
Weitere Informationen zur robots.txt-Syntax und ihrer Interpretation durch Google finden Sie in der robots.txt-Dokumentation von Google.
Benutzeragent
Das User-Agent-Feld gibt an, für welchen Crawler die Anweisungen gelten (disallow
, allow
) gelten für. Sie können die verwenden user-agent
Feld, um Regeln zu erstellen, die für bestimmte Bots/Crawler gelten, oder verwenden Sie ein Platzhalterzeichen, um Regeln anzugeben, die für alle Crawler gelten.
Die folgende Syntax gibt beispielsweise an, dass eine der folgenden Anweisungen nur für Googlebot gilt.
user-agent: Googlebot
Wenn Sie Regeln erstellen möchten, die für alle Crawler gelten, können Sie einen Platzhalter verwenden, anstatt einen bestimmten Crawler zu benennen.
user-agent: *
Sie können mehrere User-Agent-Felder in Ihre robots.txt-Datei aufnehmen, um spezifische Regeln für verschiedene Crawler oder Crawlergruppen bereitzustellen, zum Beispiel:
user-agent: *
#Rules here would apply to all crawlers
user-agent: Googlebot
#Rules here would only apply to Googlebot
user-agent: otherbot1
user-agent: otherbot2
user-agent: otherbot3
#Rules here would apply to otherbot1, otherbot2, and otherbot3
Nicht zulassen und zulassen
Das Disallow-Feld gibt Pfade an, auf die bestimmte Crawler nicht zugreifen sollen. Das Feld „Zulassen“ gibt Pfade an, auf die bestimmte Crawler zugreifen können.
Da der Googlebot und andere Crawler davon ausgehen, dass sie auf alle URLs zugreifen können, die nicht ausdrücklich verboten sind, halten es viele Websites einfach und geben nur an, auf welche Pfade nicht zugegriffen werden soll disallow
Feld.
Die folgende Syntax würde beispielsweise alle Crawler anweisen, nicht auf URLs zuzugreifen, die dem Pfad /do-not-enter entsprechen.
user-agent: *
disallow: /do-not-enter
#All crawlers are blocked from crawling pages with the path /do-not-enter
Wenn Sie beide verwenden allow
Und disallow
Wenn Sie Felder in Ihrer robots.txt-Datei verwenden möchten, lesen Sie unbedingt den Abschnitt zur Rangfolge der Regeln in der Google-Dokumentation.
Im Falle widersprüchlicher Regeln verwendet Google im Allgemeinen die spezifischere Regel.
Im folgenden Fall crawlt Google beispielsweise keine Seiten mit dem Pfad/nicht eingeben, da die Nichtzulassungsregel spezifischer ist als die Zulassungsregel.
user-agent: *
allow: /
disallow: /do-not-enter
Wenn keine der Regeln spezifischer ist, verwendet Google standardmäßig die weniger restriktive Regel.
Im folgenden Beispiel würde Google Seiten mit dem Pfad/nicht eingeben crawlen, da die Zulassungsregel weniger restriktiv ist als die Nichtzulassungsregel.
user-agent: *
allow: /do-not-enter
disallow: /do-not-enter
Beachten Sie Folgendes: Wenn kein Pfad für angegeben ist allow
oder disallow
Feldern wird die Regel ignoriert.
user-agent: *
disallow:
Dies unterscheidet sich stark davon, nur einen Schrägstrich (/) als Wert für zu verwenden disallow
Feld, das mit der Stammdomäne und jeder URL auf niedrigerer Ebene übereinstimmt (Übersetzung: jede Seite Ihrer Website).
Wenn Sie möchten, dass Ihre Website in den Suchergebnissen angezeigt wird, stellen Sie sicher, dass Sie nicht über den folgenden Code verfügen. Dadurch wird verhindert, dass alle Suchmaschinen alle Seiten Ihrer Website crawlen.
user-agent: *
disallow: /
Das mag offensichtlich erscheinen, aber glauben Sie mir, ich habe es erlebt.
URL-Pfade
URL-Pfade sind der Teil der URL nach dem Protokoll, der Subdomäne und der Domäne, beginnend mit einem Schrägstrich (/). Für die Beispiel-URL https://www.example.com/guides/technical/robots-txt wäre der Pfad /guides/technical/robots-txt.
Bei URL-Pfaden muss die Groß-/Kleinschreibung beachtet werden. Stellen Sie daher sicher, dass die Verwendung von Groß- und Kleinbuchstaben in der robot.txt-Datei mit dem beabsichtigten URL-Pfad übereinstimmt.
Sonderzeichen
Google, Bing und andere große Suchmaschinen unterstützen außerdem eine begrenzte Anzahl von Sonderzeichen, um die Zuordnung von URL-Pfaden zu erleichtern.
Ein Sonderzeichen ist ein Symbol, das eine eindeutige Funktion oder Bedeutung hat und nicht nur einen normalen Buchstaben oder eine normale Zahl darstellt. Von Google in robots.txt unterstützte Sonderzeichen sind:
- Sternchen
- – entspricht 0 oder mehr Instanzen eines beliebigen Zeichens.
Dollarzeichen ($) – bezeichnet das Ende der URL.
- Um zu veranschaulichen, wie diese Sonderzeichen funktionieren, gehen wir davon aus, dass wir eine kleine Website mit den folgenden URLs haben:
- https://www.example.com/
- https://www.example.com/search
- https://www.example.com/guides
- https://www.example.com/guides/technical
- https://www.example.com/guides/technical/robots-txt
- https://www.example.com/guides/technical/robots-txt.pdf
- https://www.example.com/guides/technical/xml-sitemaps
- https://www.example.com/guides/technical/xml-sitemaps.pdf
- https://www.example.com/guides/content
- https://www.example.com/guides/content/on-page-optimization
https://www.example.com/guides/content/on-page-optimization.pdf
Beispielszenario 1: Site-Suchergebnisse blockieren
Eine häufige Verwendung von robots.txt besteht darin, Suchergebnisse auf internen Websites zu blockieren, da diese Seiten normalerweise nicht für organische Suchergebnisse geeignet sind.
Nehmen wir in diesem Beispiel an, dass, wenn Benutzer eine Suche auf https://www.example.com/search durchführen, ihre Suchanfrage an die URL angehängt wird.
Wenn ein Benutzer nach „XML-Sitemap-Guide“ suchte, wäre die neue URL für die Suchergebnisseite https://www.example.com/search?search-query=xml-sitemap-guide.
Wenn Sie in der robots.txt-Datei einen URL-Pfad angeben, werden alle URLs mit diesem Pfad abgeglichen, nicht nur die genaue URL. Um beide oben genannten URLs zu blockieren, ist die Verwendung eines Platzhalters also nicht erforderlich.
user-agent: *
disallow: /search
#All crawlers are blocked from crawling pages with the path /search
Die folgende Regel würde sowohl mit https://www.example.com/search als auch mit https://www.example.com/search?search-query=xml-sitemap-guide übereinstimmen.
user-agent: *
disallow: /search*
#All crawlers are blocked from crawling pages with the path /search
Wenn ein Platzhalter
hinzugefügt würden, wären die Ergebnisse die gleichen.
Beispielszenario 2: PDF-Dateien blockieren
In einigen Fällen möchten Sie möglicherweise die Datei robots.txt verwenden, um bestimmte Dateitypen zu blockieren.
user-agent: *
disallow: /guides/*.pdf
#All crawlers are blocked from crawling pages with URL paths that contain: /guides/, 0 or more instances of any character, and .pdf
Stellen Sie sich vor, die Website hat beschlossen, PDF-Versionen jedes Leitfadens zu erstellen, um den Benutzern das Drucken zu erleichtern. Das Ergebnis sind zwei URLs mit genau demselben Inhalt. Daher möchte der Websitebesitzer möglicherweise verhindern, dass Suchmaschinen die PDF-Versionen der einzelnen Anleitungen crawlen.
- In diesem Fall wird ein Platzhalter verwendet
- Es wäre hilfreich, die URLs abzugleichen, bei denen der Pfad mit /guides/ beginnt und mit .pdf endet, die Zeichen dazwischen jedoch variieren.
- Die obige Anweisung würde Suchmaschinen daran hindern, die folgenden URLs zu crawlen:
https://www.example.com/guides/technical/robots-txt.pdf
https://www.example.com/guides/technical/xml-sitemaps.pdf
https://www.example.com/guides/content/on-page-optimization.pdf
Beispielszenario 3: Kategorieseiten blockieren
Nehmen wir für das letzte Beispiel an, dass die Website Kategorieseiten für technische und inhaltliche Leitfäden erstellt hat, um Benutzern das Durchsuchen von Inhalten in Zukunft zu erleichtern.
user-agent: *
disallow: /guides/technical$
disallow: /guides/content$
#All crawlers are blocked from crawling pages with URL paths that end with /guides/technical and /guides/content
Da auf der Website derzeit jedoch nur drei Leitfäden veröffentlicht sind, bieten diese Seiten weder für Benutzer noch für Suchmaschinen einen großen Mehrwert.
- Der Websitebesitzer möchte möglicherweise vorübergehend verhindern, dass Suchmaschinen nur die Kategorieseite (z. B. https://www.example.com/guides/technical) crawlen, nicht die Leitfäden innerhalb der Kategorie (z. B. https://www.example). .com/guides/technical/robots-txt).
- Um dies zu erreichen, können wir „$“ nutzen, um das Ende des URL-Pfads zu kennzeichnen.
Die obige Syntax würde das Crawlen der folgenden URLs verhindern:
- https://www.example.com/guides/technical
- https://www.example.com/guides/content
- Während Suchmaschinen das Crawlen zulassen:
https://www.example.com/guides/technical/robots-txt
https://www.example.com/guides/content/on-page-optimization Sitemap Der Wert der Das Feld sollte eine absolute URL sein (z. B. https://www.example.com/sitemap.xml), keine relative URL (z. B. /sitemap.xml). Wenn Sie über mehrere XML-Sitemaps verfügen, können Sie mehrere einschließen Beispiel robots.txt mit einer einzelnen XML-Sitemap: Crawl-Verzögerung Wie oben erwähnt, enthalten 20 % der Websites auch das Das Feld „Crawling-Verzögerung“ teilt Bots mit, wie schnell sie die Website crawlen können, und wird normalerweise verwendet, um das Crawlen zu verlangsamen, um eine Überlastung der Server zu vermeiden. ist die Anzahl der Sekunden, die Crawler warten sollten, um eine neue Seite anzufordern. Die folgende Regel würde den angegebenen Crawler anweisen, nach jeder Anfrage fünf Sekunden zu warten, bevor er eine andere URL anfordert. Baidu Zu den Websites gehören am häufigsten Stellen Sie jedes Mal, wenn Sie eine robots.txt-Datei erstellen oder aktualisieren, sicher, dass Sie Anweisungen, Syntax und Struktur testen, bevor Sie sie veröffentlichen. Mit diesem robots.txt-Validierungs- und Testtool ist dies ganz einfach (danke, Max Prin!). Um eine Live-robots.txt-Datei zu testen, gehen Sie einfach wie folgt vor: Das folgende Beispiel zeigt, dass das Googlebot-Smartphone die getestete URL crawlen darf. Wenn die getestete URL blockiert ist, hebt das Tool die spezifische Regel hervor, die verhindert, dass der ausgewählte Benutzeragent sie crawlt. Um neue Regeln vor der Veröffentlichung zu testen, wechseln Sie zum „Editor“ und fügen Sie Ihre Regeln vor dem Testen in das Textfeld ein. Während der Inhalt einer robots.txt-Datei je nach Website sehr unterschiedlich ist, ergab die Analyse von 60 robots.txt-Dateien einige Gemeinsamkeiten bei der Nutzung und bei den Arten von Inhalten, die Webmaster häufig vom Crawlen durch Suchmaschinen blockieren. Viele Websites, insbesondere große wie E-Commerce- oder inhaltsintensive Plattformen, generieren häufig „Seiten von geringem Wert“ als Nebenprodukt von Funktionen, die das Benutzererlebnis verbessern sollen. Beispielsweise helfen interne Suchseiten und vielfältige Navigationsmöglichkeiten (Filter und Sortierungen), dass Benutzer schnell und einfach finden, was sie suchen. Obwohl diese Funktionen für die Benutzerfreundlichkeit wichtig sind, können sie zu doppelten oder minderwertigen URLs führen, die für die Suche nicht wertvoll sind. Die robots.txt-Datei wird normalerweise genutzt, um das Crawlen dieser Seiten mit geringem Wert zu verhindern. Zu den häufigsten Arten von Inhalten, die über robots.txt blockiert werden, gehören: Bad Bots sind Webcrawler, die unerwünschte oder böswillige Aktivitäten ausführen, wie z. B. das Scraping von Inhalten und im Extremfall die Suche nach Schwachstellen, um vertrauliche Informationen zu stehlen. Andere Bots ohne böswillige Absicht können dennoch als „bösartig“ eingestuft werden, wenn sie Websites mit zu vielen Anfragen überfluten und so die Server überlasten. Darüber hinaus möchten Webmaster möglicherweise einfach nicht, dass bestimmte Crawler auf ihre Website zugreifen, weil sie keinen Nutzen daraus ziehen. Sie können sich beispielsweise dafür entscheiden, Baidu zu blockieren, wenn Sie keine Kunden in China bedienen und nicht riskieren möchten, dass Anfragen von Baidu Ihren Server beeinträchtigen. Obwohl einige dieser „bösen“ Bots möglicherweise die in einer robots.txt-Datei dargelegten Anweisungen missachten, enthalten Websites immer noch häufig Regeln, die sie verbieten. Von den 60 analysierten robots.txt-Dateien verweigerten 100 % mindestens einem Benutzeragenten den Zugriff auf alle Inhalte der Website (über Auf allen analysierten Websites war GPTBot der am häufigsten blockierte Crawler, wobei 23 % der Websites GPTBot daran hinderten, Inhalte auf der Website zu crawlen. Das Live-Dashboard von Orginality.ai, das verfolgt, wie viele der Top 1.000 Websites bestimmte KI-Webcrawler blockieren, kam zu ähnlichen Ergebnissen: Stand November 2024 blockierten 27 % der Top 1.000 Websites GPTBot. Die Gründe für die Blockierung von KI-Webcrawlern können unterschiedlich sein – von Bedenken hinsichtlich der Datenkontrolle und des Datenschutzes bis hin zum schlichten Verzicht darauf, dass Ihre Daten unentgeltlich in KI-Trainingsmodellen verwendet werden. Die Entscheidung, ob KI-Bots über die robots.txt blockiert werden sollen oder nicht, sollte von Fall zu Fall beurteilt werden. Wenn Sie nicht möchten, dass der Inhalt Ihrer Website zum Trainieren von KI verwendet wird, sondern gleichzeitig die Sichtbarkeit maximieren möchten, haben Sie Glück. OpenAI ist transparent hinsichtlich der Verwendung von GPTBot und anderen Webcrawlern. Zumindest sollten Websites die Zulassung von OAI-SearchBot in Betracht ziehen, der zur Darstellung und Verlinkung von Websites im SearchGPT verwendet wird – der kürzlich eingeführten Echtzeit-Suchfunktion von ChatGPT. Das Blockieren von OAI-SearchBot ist weitaus seltener als das Blockieren von GPTBot, da nur 2,9 % der Top 1.000 Websites den SearchGPT-fokussierten Crawler blockieren. Die robots.txt-Datei ist nicht nur ein wichtiges Tool zur Steuerung des Zugriffs von Webcrawlern auf Ihre Website, sondern bietet Websites auch die Möglichkeit, ihre „kreative“ Seite zu zeigen. Beim Durchsuchen der Dateien von über 60 Websites bin ich auch auf einige entzückende Überraschungen gestoßen, wie die verspielten Illustrationen, die in den Kommentaren zu den robots.txt-Dateien von Marriott und Cloudflare versteckt sind. Mehrere Unternehmen verwandeln diese Dateien sogar in einzigartige Rekrutierungstools. Die robots.txt-Datei von TripAdvisor dient gleichzeitig als Stellenausschreibung mit einer cleveren Nachricht in den Kommentaren: „Wenn Sie in dieser Datei herumschnüffeln und kein Roboter sind, möchten wir neugierige Leute wie Sie treffen … Laufen Sie – nicht crawlen – und bewerben Sie sich als Mitglied des Elite-SEO-Teams von TripAdvisor[.]” Wenn Sie auf der Suche nach einer neuen Karrieremöglichkeit sind, sollten Sie neben LinkedIn auch die Suche nach robots.txt-Dateien in Betracht ziehen. Die Prüfung Ihrer Robots.txt-Datei ist ein wesentlicher Bestandteil der meisten technischen SEO-Prüfungen. Durch die Durchführung einer gründlichen robots.txt-Prüfung wird sichergestellt, dass Ihre Datei optimiert ist, um die Sichtbarkeit der Website zu verbessern, ohne dass wichtige Seiten versehentlich eingeschränkt werden. So prüfen Sie Ihre Robots.txt-Datei: Die robots.txt-Datei ist ein leistungsstarkes Tool, wenn sie effektiv eingesetzt wird. Es gibt jedoch einige häufige Fallstricke, die Sie vermeiden sollten, wenn Sie der Website nicht unbeabsichtigt Schaden zufügen möchten. Die folgenden Best Practices helfen Ihnen dabei, erfolgreich zu sein und zu vermeiden, dass Suchmaschinen unbeabsichtigt daran gehindert werden, wichtige Inhalte zu crawlen: Weitere Ressourcen: Ausgewähltes Bild: Se_vector/Shutterstocksitemap
Das Sitemap-Feld wird verwendet, um Suchmaschinen einen Link zu einer oder mehreren XML-Sitemaps bereitzustellen. sitemap
Obwohl dies nicht erforderlich ist, ist es eine bewährte Methode, XML-Sitemaps in die robots.txt-Datei einzubinden, um Suchmaschinen eine Liste der zu crawlenden Prioritäts-URLs bereitzustellen.user-agent: *
disallow: /do-not-enter
sitemap: https://www.example.com/sitemap.xml
user-agent: *
disallow: /do-not-enter
sitemap: https://www.example.com/sitemap-1.xml
sitemap: https://www.example.com/sitemap-2.xml
sitemap: https://www.example.com/sitemap-3.xml
Felder.
crawl-delay
Beispiel robots.txt mit mehreren XML-Sitemaps:crawl-delay
Feld in ihrer robots.txt-Datei.user-agent: FastCrawlingBot
crawl-delay: 5
crawl-delay
Der Wert fürcrawl-delay
Google hat erklärt, dass es das nicht unterstütztFeld, und es wird ignoriert. Andere große Suchmaschinen wie Bing und Yahoo respektieren Anweisungen für ihre Webcrawler. Suchmaschine Primärer Benutzeragent für die Suche Respektiert die Crawl-Verzögerung? Google Googlebot NEIN Bing Bingbot Ja Yahoo Schlürfen Ja Yandex YandexBot Ja crawl-delay
Baiduspider crawl-delay
NEINcrawl-delay
Anweisungen für alle Benutzeragenten (mit User-Agent: , die oben genannten Suchmaschinen-Crawlerund Crawler für SEO-Tools wie Ahrefbot und SEMrushBot.Die Anzahl der Sekunden, die Crawler warten mussten, bevor sie eine andere URL anforderten, lag zwischen einer Sekunde und 20 SekundenWerte von fünf Sekunden und 10 Sekunden waren die höchsten c kommen an den 60 analysierten Standorten häufig vor.Testen von Robots.txt-Dateien
Häufige Verwendungen einer Robots.txt-Datei
Verhindern, dass Suchmaschinen minderwertige Inhalte crawlen
Blockieren „schlechter“ Bots
disallow: /
).Blockieren von KI-Crawlern
Kreativ werden
So prüfen Sie Robots.txt
Best Practices für Robots.txt (und zu vermeidende Fallstricke)
TL;DR