robots.txt und 500-Fehler verhindern Indexierung durch Google

19. November 2013 | Kommentieren

Ausgehend von einem Kundenprojekt, bei dem die Website plötzlich aus dem Google-Suchergebnis verschwand, haben wir uns mit dem Crawling-Verhalten des Googlebot beschäftigt. Denn die Ursache war ein Internal Server Error beim Aufruf der robots.txt.

robots.txt und 500-Fehler verhindern Indexierung durch Google

Besonders im E-Commerce oder bei essenziellen E-Business-Anwendungen, aber auch für jeden Betreiber einer gut besuchten Website spielt die Auffindbarkeit in Google eine gewichtige Rolle. In der Regel liefert die Suchmaschine über das organische, also kostenlose, Suchergebnis den Löwenanteil des Besucherverkehrs. Fällt eine Website aus dem Google-Index, muss sie oft eklatante Einbußen hinnehmen.

Plötzlicher Einbruch beim Crawling

Im jüngsten Fall, der uns im Zuge unserer Online-Marketing-Aktivitäten für einen Kunden aufschrecken ließ, passierte genau dieses Szenario. Die Website war plötzlich nicht mehr wirklich über Google auffindbar und der Traffic brach ein. Das Content Management System in diesem Projekt war TYPO3 und wurde nicht von uns direkt betreut. Wir erhielten allerdings kurzfristig Zugriff auf die Google Webmaster Tools und konnten folgendes feststellen: Ab einem bestimmten Tag betrug die Fehlerrate beim Aufruf der robots.txt volle 100 % und die Crawling-Statistiken fielen ab eben diesem Tag auf Null.

Website-Fehler und Crawling-Statistiken

... und Schuld daran ist nur die .txt

Die Wurzel des Übels schien also die robots.txt zu sein. Jedoch war eine solche gar nicht vorhanden. Und nach bisher gängigen Prinzipien indexiert Google auch Websites, die eine solche Datei nicht unterhalb ihrer Domain zur Verfügung halten. Zwar empfiehlt sich ihre Nutzung, unter anderem auch um auf die sitemap.xml zu verweisen, aber normalerweise ist sie kein Muss.

Um schnell Abhilfe zu schaffen, realisierte der TYPO3-Administrator sowohl robots.txt als auch sitemap.xml. Am folgenden Tag kehrte der Googlebot tatsächlich wieder und die Menge der indexierten Seiten stieg glücklicherweise an. Dennoch betrieben wir eine Ursachenforschung und stießen nach dem Lesen einiger interessanter Forenbeiträge und Blogartikel schlussendlich auf die Spezifikationen zum Abruf der robots.txt in Google Developers. Wir erfuhren außerdem davon, dass der Aufruf der robots.txt bis zu ihrer Erstellung den HTTP-Statuscode 500 Internal Server Error zurückgegeben hatte.

Googlebot und die Statuscodes

Und darin liegt nun des Rätsels Lösung. Google verhält sich auf drei unterschiedliche Weisen, je nachdem welches Ergebnis der Crawler für die robots.txt erhält:

  1. Die komplette Website wird ganz normal indexiert
  2. Bestimmte Dateien oder Ordner werden ausgeschlossen
  3. Eine Aufnahme in den Index wird gänzlich verhindert

Dieses Verhalten wird natürlich einerseits durch den Inhalt der robots.txt festgelegt - dazu ist sie ja schließlich erfunden worden. Aber auch der HTTP-Statuscode spielt eine entscheidende Rolle, wenn die Datei nicht erreichbar ist. Hier ein frei übersetzter Auszug aus der Spezifikation.

2xx (Erfolgreich)

Datei wurde gefunden und der Googlebot berücksichtigt die enthaltenen Anweisungen.

3xx (Umleitung)

Beim Crawling wird maximal fünf Umleitungsschritten gefolgt, danach gilt die robots.txt als nicht gefunden (Fehler 404). Ungültige Umleitungsziele oder HTML-Weiterleitungen sind unerwünscht.

4xx (Client-Fehler)

Alle Statuscodes mit dieser Anfangsziffer werden dahingehend interpretiert, dass die robots.txt nicht vorhanden ist und die gesamte Website wird indexiert.

5xx (Server-Fehler)

Diese Fehler werden vom Googlebot als temporär klassifiziert und führen dazu, dass ein Crawling nicht stattfindet, ergo die Website aus dem Index genommen wird. Je nach konkretem Fehler wird früher oder später ein neuer Versuch unternommen.

Fazit: Finger weg von den 500ern

Was man aus diesen Informationen definitiv mitnehmen sollte, ist das Vermeiden eines Fehler 500 für die robots.txt, weil damit die Auffindbarkeit der Website gefährdet wird. Im Idealfall liefert man Google eine erreichbare Datei oder man lässt sie weg und gibt einen Fehler 404 aus. Im Endeffekt kommt das aufs Gleiche heraus, irgendwie sauberer ist natürlich ersteres.


Kommentieren


Vorheriger Artikel

Nächster Artikel

Übersicht

Schleswig-Holstein. Der echte Norden.