# Indexierungsmanagement mit der robots.txt

In der Regel sind Betreiber professioneller Websites bemüht, die Sichtbarkeit des eigenen Projekts in der Suchmaschine zu erhöhen. Eine Voraussetzung dafür ist, dass alle relevanten URLs von Suchrobotern ausgelesen und somit in den Index aufgenommen werden können. Dabei ist zu beachten, dass Suchmaschinen Websites nur selten komplett crawlen. Denn selbst beim Marktführer Google sind die Kapazitäten für das Erfassen und Speichern von Webinhalten begrenzt. Stattdessen wird jeder Domain ein bestimmtes **Crawling-Budget** zugesprochen. Dieses legt fest, wie viele URLs pro Tag ausgelesen und ggf. indexiert werden. Gerade Betreiber umfangreicher Webprojekte sind gut beraten, hier strategisch vorzugehen, indem sie Suchrobotern signalisieren, welche Seitenbereiche gecrawlt werden sollen und welche ignoriert werden können. Wichtige Werkzeuge im Rahmen dieses Indexierungsmanagements sind Robots-Angaben in [**Meta-Tags**](https://www.ionos.at/digitalguide/websites/web-entwicklung/die-wichtigsten-meta-tags-im-ueberblick/ "Die wichtigsten Mega-Tags im Überblick"), das **Canonical-Tag**, [**Weiterleitungen**](https://www.ionos.at/digitalguide/domains/domainverwaltung/grundlagen-der-domain-weiterleitung/ "Grundlagen der Domain-Weiterleitung") und nicht zuletzt die Datei **robots.txt**, um die es in diesem Tutorial geht.

## Was ist die robots.txt?

Bei der robots.txt handelt es sich um eine reine Textdatei, die **im** **Stammverzeichnis einer Domain** abgelegt wird. Diese ermöglicht es Webseitenbetreibern, den Zugriff von Suchmaschinen auf die Website zu steuern, indem ausgesuchte Bereiche für bestimmte oder alle Suchroboter blockiert werden. Die Angaben in der robots.txt beziehen sich auf den gesamten Verzeichnisbaum. Damit unterscheidet sich dieses Instrument des Indexierungsmanagements signifikant von Meta-Robots-Angaben und Weiterleitungen, die nur für ein spezielles HTML-Dokument gelten. Zu beachten ist, dass die robots.txt von Suchmaschinen lediglich als **Richtlinie** verstanden wird. Erzwingen lässt sich ein bestimmtes Crawling-Verhalten durch Angaben in der robots.txt nicht. Google und andere große Suchmaschinenanbieter geben an, entsprechende Anweisungen zu befolgen. Sicher ausgeschlossen werden kann ein Zugriff auf Webseitenbereiche jedoch nur durch einen **Passwortschutz**.

[![Bild: Was ist die robots.txt?](https://www.ionos.at/digitalguide/fileadmin/_processed_/7/9/csm_robot-c_edfb2270e3.webp "Was ist die robots.txt?")](https://www.ionos.at/digitalguide/fileadmin/_processed_/7/9/csm_robot-c_1d9e37f4ba.jpg)      ##  Eine robots.txt erstellen

Um Suchrobotern den Zugriff auf die individuellen Crawling-Richtlinien zu ermöglichen, muss eine **reine Textdatei** exakt als robots.txt benannt und im Stammverzeichnis (Root) der Domain abgelegt werden. Sollen Crawling-Richtlinien für die Domain *beispiel.de* definiert werden, muss sich die robots.txt somit im selben Verzeichnis befinden wie *www.beispiel.de*. Über das Internet wäre eine solche Datei unter *www.beispiel.de/robots.txt* abrufbar. Bietet das gewählte Hosting-Modell keinen Zugriff auf das Root-Verzeichnis des Servers, sondern nur auf einen Unterordner (etwa *www.beispiel.de/benutzer/*), ist ein Indexierungsmanagement mittels robots.txt nicht möglich. Webseitenbetreiber, die eine robots.txt erstellen, sollten auf einen reinen **Texteditor** wie vi (Linux) oder notepad.exe (Windows) zurückgreifen und beim FTP-Transfer sicherstellen, dass die Datei im **[ASCII](https://www.ionos.at/digitalguide/server/knowhow/ascii-american-standard-code-for-information-interchange/ "ASCII-American-Standard-Code-for-Information-Interchange")-Modus** übertragen wird. Im Netz lässt sich die robots.txt mit einem Generator erstellen. Da syntaktische Fehler schwerwiegende Auswirkungen auf die [Indexierung](https://www.ionos.at/digitalguide/online-marketing/suchmaschinenmarketing/indexierung/ "Indexierung") des Webprojekts haben können, empfiehlt es sich, die Textdatei vor dem Upload zu testen. Google hält dafür [ein entsprechendes Tool](https://support.google.com/webmasters/answer/6062598?hl=de "Google Webmasters") im Rahmen der Search Console bereit.

## Aufbau der robots.txt

Jede robots.txt beinhaltet Datensätze (records), die jeweils aus zwei Teilen bestehen. Der erste Teil wird mit dem Keyword *User-agent* eingeleitet und adressiert einen **Suchroboter**, dem im zweiten Teil Anweisungen gegeben werden. Bei diesen Anweisungen handelt es sich in der Regel um **Crawling-Verbote**, die mit dem Keyword *Disallow* eingeleitet werden und nachfolgend ein Verzeichnis bzw. eine oder mehrere Dateien nennen. Somit ergibt sich folgendes Grundschema:

```none
User-agent: Googlebot
Disallow: /temp/ 
Disallow: /news.html
Disallow: /print
```

Die robots.txt im Beispiel gilt lediglich für [Webcrawler](https://www.ionos.at/digitalguide/online-marketing/suchmaschinenmarketing/was-ist-ein-crawler/ "Was ist ein Crawler?") mit dem Namen „Googlebot“ und untersagt diesen, das Verzeichnis */temp/* sowie die Datei *news.html* auszulesen. Zudem werden alle Dateien und Verzeichnisse blockiert, deren Pfad mit *print* beginnt. Hier ist zu beachten, dass sich *Disallow: /temp/* und *Disallow: /print* syntaktisch nur durch einen fehlenden **Slash (/) am Ende** unterscheiden. In der Syntax der robots.txt sorgt dieser jedoch ein für einen signifikanten Bedeutungsunterschied.

### Kommentare einfügen

Die robots.txt kann bei Bedarf durch **Kommentare** ergänzt werden. Diese werden durch ein Doppelkreuz (#) eingeleitet und lassen sich an beliebiger Stelle einfügen.

```none
# robots.txt für http://www.beispiel.de
User-agent: Googlebot
Disallow: /temp/ # Verzeichnis enthält kurzlebige Dateien 
Disallow: /print/ # Verzeichnis enthält Print-Seiten
Disallow: /news.html # Datei ändert sich täglich
```

### Mehrere User-Agents adressieren

Sollen verschiedene Webcrawler angesprochen werden, kann die robots.txt **beliebig viele Blöcke** beinhalten, die nach dem Grundschema aufgebaut sind. Dazu wird vor jedem weiteren User-Agent eine Leerzeile eingefügt.

```none
# robots.txt für http://www.beispiel.de
    User-agent: Googlebot
    Disallow: /temp/ 
     
    User-agent: Bingbot 
    Disallow: /print/
```

Während dem Crawler von Google untersagt wird, das Verzeichnis */temp/* zu durchsuchen, wird der Bingbot daran gehindert */print/* zu crawlen.

### Alle User-Agents adressieren

Sollen bestimmte Verzeichnisse oder Dateien für alle Webcrawler blockiert werden, kommt ein Sternchen (\*) als **Wildcard** für alle User-Agents zum Einsatz.

```none
# robots.txt für http://www.beispiel.de
User-agent: *
Disallow: /temp/
Disallow: /print/
Disallow: /pictures/
```

Die robots.txt blockiert die Verzeichnisse */temp/*, */print/* und */pictures/* für alle Webcrawler.

### Alle Verzeichnisse von der Indexierung ausschließen

Soll eine ganze Website für User-Agents gesperrt werden, genügt ein einfacher Slash (/) nach dem Keyword *Disallow*:

```none
# robots.txt für http://www.beispiel.de
    User-agent: *
    Disallow: /
```

Alle Webcrawler werden angewiesen, die **gesamte Website zu ignorieren**. Anwenden lässt sich eine solche robots.txt zum Beispiel bei Webprojekten, die sich noch in der Testphase befinden.

### Indexierung für alle Verzeichnisse erlauben

Soll ein Suchroboter die gesamte Website crawlen und indexieren können, signalisieren Webseitenbetreiber dies, indem sie das Keyword *Disallow* **ohne Slash** verwenden:

```none
# robots.txt für http://www.beispiel.de
User-agent: Googlebot
Disallow:
```

Enthält die robots.txt ein *Disallow* ohne Slash, wird die **gesamte Website** für den unter *User-agent* definierten Webcrawler freigegeben.

<table>
  <caption>Tabelle 1: Grundfunktionen der robots.txt</caption>
  <thead>
    <tr>
      <th>Anweisung</th>
      <th>Beispiel</th>
      <th>Funktion</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>User-agent:</td>
      <td>User-agent: Googlebot</td>
      <td>Adressiert einen bestimmten Webcrawler.</td>
    </tr>
    <tr>
      <td></td>
      <td>User-agent: \*</td>
      <td>Adressiert alle Webcrawler.</td>
    </tr>
    <tr>
      <td>Disallow:</td>
      <td>Disallow:</td>
      <td>Die gesamte Website darf durchsucht werden.</td>
    </tr>
    <tr>
      <td></td>
      <td>Disallow: /</td>
      <td>Die gesamte Website wird blockiert.</td>
    </tr>
    <tr>
      <td></td>
      <td>Disallow: /datei.html</td>
      <td>Eine bestimmte Datei wird blockiert.</td>
    </tr>
    <tr>
      <td></td>
      <td>Disallow: /beispiel</td>
      <td>Alle Verzeichnisse und Dateien, deren Pfad mit beispiel anfängt, werden blockiert.</td>
    </tr>
  </tbody>
</table>

## Erweiterte Funktionen

Neben den als Quasi-Standard geltenden Grundfunktionen unterstützen einige Suchmaschinen weitere Parameter, die es ermöglichen, die **Angaben in der robots.txt zu präzisieren**. Folgende Funktionen finden sich im Supportbereich von Google. Sie gehen auf eine Übereinkunft mit Microsoft und Yahoo! zurück.

### Ausnahmen definieren

Neben *Disallow* unterstützt Google mit ***Allow*** ein weiteres Keyword in der robots.txt, das es ermöglicht, Ausnahmeregelungen für gesperrte Verzeichnisse zu definieren:

```none
# robots.txt für http://www.beispiel.de
User-agent: Googlebot
Disallow: /news/ 
Allow: /news/index.html
```

Das Keyword *Allow* ermöglicht es, die Datei "http://www.beispiel.de/news/index.html" für den Googlebot freizugeben, obwohl das übergeordnete Verzeichnis */news/* blockiert wurde.

### Dateien mit bestimmten Endungen blockieren

Webseitenbetreiber, die dem Googlebot das Auslesen von Dateien mit einer bestimmten Endung untersagen möchten, nutzen dafür Datensätze nach folgendem Beispiel:

```none
# robots.txt für http://www.beispiel.de
User-agent: Googlebot
Disallow: /*.pdf$
```

Das Keyword *Disallow* bezieht sich auf alle Dateien mit der Endung *.pdf* und schützt diese vor einem Zugriff durch den Googlebot. Das **Sternchen (\*)** fungiert als Wildcard für den Dateinamen vor der Endung. Abgeschlossen wird der Eintrag mit einem **Dollarzeichen ($)** als Zeilenende-Anker.

### Webcrawler auf Sitemap hinweisen

Neben der Steuerung des Crawling-Verhaltens erlaubt es die robots.txt, Suchroboter auf die Sitemap einer Website hinzuweisen. Eine robots.txt mit Sitemap-Verweis realisiert man folgendermaßen:

```none
# robots.txt für http://www.beispiel.de
User-agent: *
Disallow: /temp/
Sitemap: http://www.beispiel.de/sitemap.xml
```

<table>
  <caption>Tabelle 2: Erweiterte Funktionen der robots.txt</caption>
  <thead>
    <tr>
      <th>Anweisung</th>
      <th>Beispiel</th>
      <th>Funktion</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Allow:</td>
      <td>Allow: /beispiel.html</td>
      <td>Die angegebene Datei bzw. das Verzeichnis darf durchsucht werden.</td>
    </tr>
    <tr>
      <td>Disallow: /\*…$</td>
      <td>Disallow: /\*.jpg$</td>
      <td>Dateien mit einer bestimmten Endung werden blockiert.</td>
    </tr>
    <tr>
      <td>Sitemap:</td>
      <td>Sitemap: http://www.beispiel.de/sitemap.xml</td>
      <td>Die XML-Sitemap findet sich unter der angegebenen Adresse.</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.at/digitalguide/hosting/hosting-technik/indexierungsmanagement-mit-der-robotstxt/](https://www.ionos.at/digitalguide/hosting/hosting-technik/indexierungsmanagement-mit-der-robotstxt/) for AI/LLM consumption.