Die automatisierten
Crawler von Google unterstützen das
Robots Exclusion Protocol (REP).
Das bedeutet, dass Google-Crawler vor dem Crawlen einer Website die robots.txt-Datei der Website herunterladen und analysieren, um Informationen darüber zu extrahieren, welche Teile der Website gecrawlt werden dürfen. Das REP gilt nicht für Google-Crawler, die von Nutzern gesteuert werden (zum Beispiel Feed-Abonnements), oder Crawler, die zur Erhöhung der Nutzersicherheit verwendet werden (zum Beispiel Malware-Analyse).
Diese Seite beschreibt die Interpretation des REP durch Google. Den Originalstandard finden Sie unter
RFC 9309.

Was ist eine robots.txt-Datei
Wenn Sie nicht möchten, dass Crawler auf Bereiche Ihrer Website zugreifen, können Sie eine robots.txt-Datei mit entsprechenden Regeln erstellen. Eine robots.txt-Datei ist eine Textdatei, die Regeln darüber enthält, welche Crawler auf welche Teile einer Website zugreifen dürfen. Die robots.txt-Datei für example.com kann beispielsweise so aussehen:
Wenn Sie neu bei robots.txt sind, beginnen Sie mit unserer
Einführung in robots.txt. Sie finden auch
Tipps zum Erstellen einer robots.txt-Datei.
Dateispeicherort und Gültigkeitsbereich
Sie müssen die robots.txt-Datei im Stammverzeichnis einer Website über ein unterstütztes Protokoll platzieren. Die URL für die robots.txt-Datei unterscheidet (wie andere URLs auch) zwischen Groß- und Kleinschreibung. Bei der Google Suche sind die unterstützten Protokolle HTTP, HTTPS und FTP. Unter HTTP und HTTPS rufen Crawler die robots.txt-Datei mit einer nicht-bedingten HTTP- GET -Anfrage ab; unter FTP verwenden Crawler einen Standard- RETR (RETRIEVE) -Befehl mit anonymem Login.

Die in der robots.txt-Datei aufgeführten Regeln gelten nur für den Host, das Protokoll und die Portnummer, auf denen die robots.txt-Datei gehostet wird.
Beispiele für gültige robots.txt-URLs
Die folgende Tabelle enthält Beispiele für robots.txt-URLs und die URL-Pfade, für die sie gültig sind. Spalte eins enthält die URL einer robots.txt-Datei und Spalte zwei enthält Domains, für die diese robots.txt-Datei gelten würde bzw. nicht gelten würde.
| Robots.txt-URL-Beispiele | |
|---|---|
https://example.com/robots.txt | Dies ist der Regelfall. Sie ist nicht gültig für andere Subdomains, Protokolle oder Portnummern. Sie ist gültig für alle Dateien in allen Unterverzeichnissen auf demselben Host, Protokoll und derselben Portnummer. Gültig für:
Nicht gültig für:
|
https://www.example.com/robots.txt | Eine robots.txt auf einer Subdomain ist nur für diese Subdomain gültig. Gültig für: Nicht gültig für:
|
https://example.com/folder/robots.txt | Keine gültige robots.txt-Datei. Crawler suchen nicht in Unterverzeichnissen nach robots.txt-Dateien. |
https://www.exämple.com/robots.txt | IDNs entsprechen ihren Punycode-Versionen. Siehe auch Gültig für:
Nicht gültig für: |
ftp://example.com/robots.txt | Gültig für: Nicht gültig für: |
https://212.96.82.21/robots.txt | Eine robots.txt mit einer IP-Adresse als Hostname ist nur für das Crawling dieses Hostnamens mit dieser IP-Adresse gültig. Sie gilt nicht automatisch für alle Websites, die unter dieser IP-Adresse gehostet werden (obwohl die robots.txt-Datei möglicherweise gemeinsam genutzt wird, in welchem Fall sie auch unter dem gemeinsamen Hostnamen verfügbar wäre). Gültig für: Nicht gültig für: |
https://example.com:443/robots.txt | Standard-Portnummern ( Gültig für:
Nicht gültig für: |
https://example.com:8181/robots.txt | Robots.txt-Dateien auf Nicht-Standard-Portnummern sind nur für Inhalte gültig, die über diese Portnummern bereitgestellt werden. Gültig für: Nicht gültig für: |
Fehlerbehandlung und HTTP-Statuscodes
Beim Anfordern einer robots.txt-Datei beeinflusst der HTTP-Statuscode der Serverantwort, wie die robots.txt-Datei von Googles Crawlern verwendet wird. Die folgende Tabelle fasst zusammen, wie Googlebot mit robots.txt-Dateien bei verschiedenen HTTP-Statuscodes umgeht.
| Fehlerbehandlung und HTTP-Statuscodes | |
|---|---|
2xx (Erfolg) | HTTP-Statuscodes, die einen Erfolg signalisieren, veranlassen die Crawler von Google, die vom Server bereitgestellte robots.txt-Datei zu verarbeiten. |
3xx (Weiterleitung) | Google folgt mindestens fünf Weiterleitungssprüngen (Redirect Hops) gemäß der Definition in Google folgt keinen logischen Weiterleitungen in robots.txt-Dateien (Frames, JavaScript oder Meta-Refresh-Weiterleitungen). |
4xx (Client-Fehler) | Googles Crawler behandeln alle |
5xx (Serverfehler) | Wenn Google eine robots.txt-Datei findet, diese aber nicht abrufen kann, verhält sich Google wie folgt:
|
| Andere Fehler | Eine robots.txt-Datei, die aufgrund von DNS- oder Netzwerkproblemen (wie Zeitüberschreitungen, ungültigen Antworten, zurückgesetzten oder unterbrochenen Verbindungen und HTTP-Chunking-Fehlern) nicht abgerufen werden kann, wird wie folgt behandelt: Serverfehler. |
Caching
Google zwischenspeichert (cacht) den Inhalt der robots.txt-Datei im Allgemeinen für bis zu 24 Stunden, kann ihn jedoch in Situationen, in denen eine Aktualisierung der gecachten Version nicht möglich ist (z. B. aufgrund von Zeitüberschreitungen oder 5xx Fehlern), länger zwischenspeichern. Die gecachte Antwort kann von verschiedenen Crawlern gemeinsam genutzt werden.
Google kann die Cache-Lebensdauer basierend auf
max-age Cache-Control
HTTP-Header.
Dateiformat
Die robots.txt-Datei muss eine
UTF-8 kodierte Plain-Text-Datei sein und die Zeilen müssen getrennt sein durch CR, CR/LFoder
LF.
Google ignoriert ungültige Zeilen in robots.txt-Dateien, einschließlich der Unicode
Byte Order Mark
(BOM) am Anfang der robots.txt-Datei, und verwendet nur gültige Zeilen. Wenn beispielsweise der heruntergeladene Inhalt HTML statt robots.txt-Regeln ist, versucht Google, den Inhalt zu parsen und Regeln zu extrahieren und ignoriert alles andere.
Ähnlich verhält es sich, wenn die Zeichenkodierung der robots.txt-Datei nicht UTF-8 ist: Google ignoriert möglicherweise Zeichen, die nicht zum UTF-8-Bereich gehören, wodurch robots.txt-Regeln möglicherweise ungültig werden.
Google erzwingt ein Dateigrößenlimit für robots.txt von 500
Kibibytes (KiB). Inhalt, der nach der maximalen Dateigröße kommt, wird ignoriert. Sie können die Größe der robots.txt-Datei reduzieren, indem Sie Regeln zusammenlegen, die ansonsten zu einer zu großen robots.txt-Datei führen würden. Platzieren Sie beispielsweise ausgeschlossenes Material in einem separaten Verzeichnis.
Syntax
Eine gültige robots.txt-Zeile besteht aus einem Feld, einem Doppelpunkt und einem Wert. Feldnamen sind Groß-/Kleinschreibung-unabhängig (zum Beispiel User-agent und user-agent werden gleich behandelt). Leerzeichen sind optional, werden aber zur Verbesserung der Lesbarkeit empfohlen. Leerzeichen am Anfang und am Ende der Zeile werden ignoriert. Um Kommentare einzufügen, stellen Sie Ihrem Kommentar das
# Zeichen voran. Denken Sie daran, dass alles nach dem # Zeichen ignoriert wird. Das allgemeine Format ist
<field>:<value><#optional-comment>.
Google unterstützt die folgenden Felder (andere Felder wie crawl-delay werden nicht unterstützt):
user-agent: identifiziert, für welchen Crawler die Regeln gelten.allow: ein URL-Pfad, der gecrawlt werden darf.disallow: ein URL-Pfad, der nicht gecrawlt werden darf.sitemap: die vollständige URL einer Sitemap.
Die allow und disallow Felder werden auch als Regeln (auch bekannt als
Direktiven) bezeichnet. Diese Regeln sind immer in der Form von angegeben
Regel: [path] wo [path] ist optional. Standardmäßig gibt es keine Einschränkungen für das Crawling für die designierten Crawler. Crawler ignorieren Regeln ohne ein
[path].
Der [path] Wert ist, falls angegeben, relativ zum Stammverzeichnis der Website, von der die robots.txt-Datei abgerufen wurde (unter Verwendung desselben Protokolls, derselben Portnummer, desselben Hosts und derselben Domainnamen). Der Pfadwert muss beginnen mit / um das Stammverzeichnis zu bestimmen, und der Wert unterscheidet zwischen Groß- und Kleinschreibung. Erfahren Sie mehr über
URL-Abgleich basierend auf Pfadwerten.
user-agent
Die user-agent Zeile identifiziert, für welche Crawler-Regeln gelten. Siehe
Die Crawler und user-agent-Strings von Google
für eine umfassende Liste von user-agent-Strings, die Sie in Ihrer robots.txt-Datei verwenden können.
Sowohl die user-agent Feldname als auch dessen Wert unterscheiden nicht zwischen Groß- und Kleinschreibung.
disallow
Die disallow Regel gibt Pfade an, auf die von den Crawlern nicht zugegriffen werden darf, die durch die user-agent Zeile identifiziert werden, mit der die disallow Regel gruppiert ist.
Crawler ignorieren die Regel ohne Pfad.
Google kann den Inhalt von Seiten, die für das Crawling gesperrt sind, nicht indexieren, aber es kann dennoch die URL indexieren und sie ohne Snippet in den Suchergebnissen anzeigen. Erfahren Sie, wie Sie
die Indexierung blockieren.
Der Feldname (disallow) unterscheidet nicht zwischen Groß- und Kleinschreibung, aber sein Wert unterscheidet zwischen Groß- und Kleinschreibung.
Verwendung:
allow
Die allow Regel gibt Pfade an, auf die von den designierten Crawlern zugegriffen werden darf. Wenn kein Pfad angegeben ist, wird die Regel ignoriert.
Der Feldname (allow) unterscheidet nicht zwischen Groß- und Kleinschreibung, aber der Wert ist case-sensitive.
Verwendung:
sitemap
Google, Bing und andere große Suchmaschinen unterstützen das sitemap Feld in
robots.txt, wie definiert durch sitemaps.org.
Der Feldname (sitemap) unterscheidet nicht zwischen Groß- und Kleinschreibung, aber der Wert ist case-sensitive.
Verwendung:
Das [absoluteURL] Line zeigt auf den Speicherort einer Sitemap- oder Sitemap-Index-Datei. Sie muss eine voll qualifizierte URL sein, einschließlich Protokoll und Host, und muss nicht URL-codiert sein. Die URL muss sich nicht auf demselben Host befinden wie die robots.txt-Datei. Sie können mehrere sitemap Felder angeben, ohne Begrenzung der Anzahl von Sitemaps, die Sie einbinden können. Das Sitemap-Feld ist an keinen bestimmten User-Agent gebunden und kann von allen Crawlern befolgt werden, sofern es nicht für das Crawling gesperrt ist.
Zum Beispiel:
Gruppierung von Zeilen und Regeln
Sie können Regeln, die für mehrere User-Agents gelten, gruppieren, indem Sie
user-agent Zeilen für jeden Crawler wiederholen.
Zum Beispiel:
In diesem Beispiel gibt es vier verschiedene Regelgruppen:
- Eine Gruppe für den User-Agent “a”.
- Eine Gruppe für den User-Agent “b”.
- Eine Gruppe für sowohl “e” als auch “f” User-Agents.
- Eine Gruppe für den User-Agent “h”.
Für die technische Beschreibung einer Gruppe siehe
Abschnitt 2.1 des REP.
Rangfolge für User-Agents
Nur eine Gruppe ist für einen bestimmten Crawler gültig. Die Crawler von Google bestimmen die richtige Regelgruppe, indem sie in der robots.txt-Datei die Gruppe mit dem spezifischsten User-Agent finden, der zum User-Agent des Crawlers passt. Andere Gruppen werden ignoriert. Sämtlicher nicht übereinstimmender Text wird ignoriert (zum Beispiel sind sowohl googlebot/1.2 als auch googlebot* äquivalent zu googlebot). Die Reihenfolge der Gruppen in der robots.txt-Datei ist unerheblich.
Wenn mehr als eine spezifische Gruppe für einen User-Agent deklariert ist, werden alle Regeln aus den Gruppen, die für den spezifischen User-Agent gelten, intern zu einer einzigen Gruppe zusammengefasst. User-Agent-spezifische Gruppen und globale Gruppen (*) werden nicht kombiniert.
Beispiele
Abgleich von User-Agent Feldern
So würden die Crawler die relevante Gruppe auswählen:
| Gefolgte Gruppe pro Crawler | |
|---|---|
| Googlebot News | googlebot-news folgt Gruppe 1, da Gruppe 1 die spezifischste Gruppe ist. |
| Googlebot (Web) | googlebot folgt Gruppe 3. |
| Googlebot Storebot | Storebot-Google folgt Gruppe 2, da es keine spezifischeStorebot-Google Gruppe gibt. |
| Googlebot News (beim Crawlen von Bildern) | Beim Crawlen von Bildern googlebot-news folgt Gruppe 1.googlebot-news crawlt die Bilder nicht für Google Images, folgt daher also nurGruppe 1. |
| Otherbot (Web) | Andere Google Crawler folgen Gruppe 2. |
| Otherbot (Nachrichten) | Andere Google Crawler, die Nachrichteninhalte crawlen, sich aber nicht alsgooglebot-news identifizieren, folgen Gruppe 2. Selbst wenn es einen Eintrag für einen verwandtenCrawler gibt, ist dieser nur gültig, wenn er spezifisch übereinstimmt. |
Gruppierung von Regeln
Wenn es in einer robots.txt-Datei mehrere Gruppen gibt, die für einen bestimmten User-Agent relevant sind,
führen die Crawler von Google die Gruppen intern zusammen. Zum Beispiel:
Die Crawler gruppieren die Regeln intern basierend auf dem User-Agent, zum Beispiel:
Andere Regeln als allow, disallowund user-agent werden
vom robots.txt-Parser ignoriert. Das bedeutet, dass der folgende robots.txt-Snippet als
eine Gruppe behandelt wird und somit sowohl user-agent a als auch b betroffen sind von disallow: / rule:
Wenn die Crawler die robots.txt-Regeln verarbeiten, ignorieren sie die sitemap Zeile.
So würden Crawler beispielsweise den vorherigen robots.txt-Ausschnitt verstehen:
URL-Abgleich basierend auf Pfadwerten
Google verwendet den Pfadwert in den allow und disallow Regeln als Grundlage, um zu bestimmen, ob eine Regel auf eine bestimmte URL auf einer Website angewendet wird oder nicht. Dies funktioniert, indem die Regel mit der Pfadkomponente der URL verglichen wird, die der Crawler abzurufen versucht.
Der Pfad in den Regeln kann entweder aus rohen UTF-8-Zeichen oder prozentual codierten UTF-8-Zeichenketten bestehen
(gemäß RFC 3986).
Wie definiert in RFC 9309 Section 2.2.2,
vergleichen die Crawler von Google Regeln mit URLs anhand ihrer prozentual codierten Formen und wandeln rohe UTF-8-Regelpfade automatisch in prozentual codierte Formen um. Das bedeutet zum Beispiel, dass
Disallow: /foo/bar/ツ und Disallow: /foo/bar/%E3%83%84 vom Parser identisch behandelt werden.
Google, Bing und andere große Suchmaschinen unterstützen eine eingeschränkte Form von wildcards für Pfadwerte. Diese Platzhalterzeichen sind:
*bezeichnet 0 oder mehr Instanzen eines gültigen Zeichens.$bezeichnet das Ende der URL.
Die folgende Tabelle zeigt, wie sich die verschiedenen Platzhalterzeichen auf das Parsing auswirken:
| Beispielhafte Pfadübereinstimmungen | |
|---|---|
/ | Passt zur Root und jeder URL auf niedrigerer Ebene. |
/* | Äquivalent zu /. Das abschließende Platzhalterzeichen wird ignoriert. |
/$ | Passt nur zur Root. Jede URL auf niedrigerer Ebene ist für das Crawling zulässig. |
/fish | Passt zu jedem Pfad, der beginnt mit Passt zu:
Passt nicht:
|
/fish* | Entspricht: Passt:
Passt nicht:
|
/fish/ | Passt zu allem im Passt:
Passt nicht:
|
/*.php | Passt auf jeden Pfad, der enthält.
Passt nicht:
|
/*.php$ | Passt auf jeden Pfad, der endet mit Passt:
Passt nicht:
|
/fish*.php | Passt auf jeden Pfad, der enthält Passt:
Passt nicht:
|
Rangfolge für Regeln
Beim Abgleichen von robots.txt-Regeln mit URLs verwenden Crawler die spezifischste Regel basierend auf der Länge des Regelpfads. Bei widersprüchlichen Regeln, einschließlich solcher mit Platzhaltern, verwendet Google die am wenigsten restriktive Regel.
Die folgenden Beispiele zeigen, welche Regel die Crawler von Google auf eine bestimmte URL anwenden.
| Beispielsituationen | |
|---|---|
https://example.com/page | Anwendbare Regel: |
https://example.com/folder/page | Anwendbare Regel: |
https://example.com/page.htm | Anwendbare Regel: |
https://example.com/page.php5 | Anwendbare Regel: |
https://example.com/ | Anwendbare Regel: |
https://example.com/page.htm | Anwendbare Regel: |
So setzen wir das um
The formal specification resolves the arguments that the introductory guide leaves open, particularly around precedence and wildcards. We cite it directly when a developer and an SEO disagree about whether a rule applies.
Verwandte Leistungen