SEO: Meta Robots Tag, X-Robots-Tag & robots.txt


Was ist das Meta Robots Tag?

Das Meta-Robots-Tag …

  • Ist ein HTML Element, das im Head-Bereich eines HTML-Dokumentes angegeben wird
  • Steuert die Indexierung des jeweiligen Dokumentes
  • Steuert das Crawling der auf dem Dokument verlinkten Dateien
  • Kann das Aufrufen & das Crawling des jeweiligen Dokumentes selber aber nicht verhindern
  • Bietet, bis auf Bots der großen Suchmaschinen, keine Garantie dafür, dass sich diese an die Anweisungen halten

Was ist das X-Robots Tag?

Das X-Robots-Tag …

  • Ist ein HTTP-Header-Antwort Element, das für eine URL hinterlegt werden kann
  • Kann jede Anweisung übergeben, die sonst per Meta Robots-Tag übergeben werden würde
  • Anweisungen in der X-Robots überschreiben Anweisungen im Meta-Robots-Tag
  • Steuert Crawling und Indexierung einzelner Seiten oder auch ganzer Verzeichnisse
  • Bietet, bis auf Bots der großen Suchmaschinen, keine Garantie dafür, dass sich diese an die Anweisungen halten

Was ist die robots.txt?

Die robots.txt …

  • Ist eine Textdatei mit Anweisungen/Zugriffssteuerungen für Bots/Crawler
  • Kann jede Anweisung übergeben, die sonst per Meta Robots-Tag übergeben werden würde
  • Steuert Crawling und Indexierung einzelner Seiten oder auch ganzer Verzeichnisse
  • Wird immer als Erstes von einem Bot besucht und interpretiert, bevor er die Inhalte einer Website crawlt
  • Liegt immer im Hauptverzeichnis einer Domain und muss immer robots.txt (kleingeschrieben) heißen
  • Kann Zeitabstände für das Crawling von URLs vorgeben
  • Kann Angeben, wo die Sitemap.xml zu finden ist
  • Muss Leseberechtigung für Alle enthalten
  • Bietet, bis auf Bots der großen Suchmaschinen, keine Garantie dafür, dass sich diese an die Anweisungen halten
  • Kann somit Seiten vorgeben, die „meistens“ nicht in den Index aufgenommen werden, aber dennoch vom Bot aufgerufen werden
  • Muss mindestens einen Eintrag enthalten, sonst gilt sie als nicht existent

Syntax: Meta Robots & X-Robots

Innerhalb von Meta Robots & X-Robots-Tag stehen folgende Anweisungen zur Auswahl:

  • follow / nofollow: Bedeutet allen Links folgen / nicht folgen
  • index / noindex: Bedeutet Seite indexieren / nicht indexieren
  • nosnippet: Bedeutet kein Snippet in SERPs zeigen
  • noarchive: Bedeutet keine Cacheversion einer Seite anzeigen (z.B. mit Cache-Operator)
  • noimageindex: Bedeutet Seite nicht als Verweisende Seite für Bilder in den SERPs verwenden
  • notranslate: Bedeutet keine Übersetzung dieser Seite in Suchergebnissen anbieten
  • unavailable_after: [RFC-850 date/time]: Bedeutet diese Seite nicht mehr nach dem angegebenen Datum bzw. der angegebenen Uhrzeit in SERPs anzeigen. Das Datum bzw. die Uhrzeit muss im RFC 850-Format angegeben werden.
  • noodp: Ist veraltet und wird nicht mehr genutzt, aber bedeutete eine Beschreibung nicht in ODP/DMOZ verwenden
  • none: Entspricht noindex, nofollow

Hinterlegt werden können die Anweisungen

  • Per Meta Robots Tag im HTML-Head, z.B.
    <meta name="robots" content="noindex, follow" />
    (Statt „robots“ kann auch der Name eines bestimmten Bots (z.B. Googlebot) angegeben werden)
  • Per X-Robots Tag in der .htaccess- und httpd.conf-Dateien auf Apache-basierten Webservern, z.B. für alle Bilddateien
    <Files ~ "\.(png|jpe?g|gif)$">
    Header set X-Robots-Tag "noindex, nofollow"
    </Files>

    (Reguläre Ausdrücke bzw. RegEx werden hier standardmäßig unterstützt)
  • Im Fall von Nofollow in einem HTML-Link, z.B.
    <a href="DieURL" rel="nofollow">DerLinktext</a>

Syntax: robots.txt

Innerhalb der robots.txt stehen folgende Elemente für Anweisungen zur Auswahl:

  • User-Agent: Betitelt den Bot, der angesprochen werden soll
  • Disallow: Verbietet den Zugriff
  • Allow: Erlaubt den Zugriff
  • Sitemap: Definiert den Standort der Sitemap.xml

Zudem gilt:

  • Jede Zeile besteht aus zwei Feldern, die durch einen Doppelpunkt getrennt werden
  • Jede Zeile besteht aus ein bis mehreren Anweisungsblöcken
  • Ein Anweisungsblock enthält 2 Hauptelemente:
    Auswahl der Suchmaschine (User-Agent) + die Regeln (z.B. Disallow)
  • Kommentarzeilen werden durch ein Gatterzeichen # eingeleitet
  • Bei Anweisung für alle Bots oder für alle Seiten eines Verzeichnisses kann eine Wildcard * verwendet werden.
    Aber Achtung: Ist beispielsweise User-agent Googlebot vorhanden, liest Google ausschließlich diesen Anweisungsblock und kümmert sich nicht um User-agent: *
    Bereiche, die von keinem Bot gelesen werden sollen, müssen daher in jeder Sektion notiert werden!

Beispiel: Jeder Bot darf alles indexieren:

User-Agent: *
Disallow:

Beispiel: Jeder Bot darf keine Seite indexieren:

User-Agent: *
Disallow: /

Beispiel: Nur der Googlebot hat Einschränkungen:

User-Agent: Googlebot
Disallow: /kategorie-nicht-alles-fuer-google/seite1.html
Disallow: /kategorie-nicht-fuer-google/
Disallow: /niemals

(Schliesst auch niemals.html etc aus, alle Dateien und Verzeichnisse die mit „niemals“ beginnen)

Beispiel: Dateien mit Zeilenende .pdf sperren:

Disallow: /*.pdf$

Beispiel: Alle URLs, die ein ‚?‘ enthalten, sperren

Disallow: /*?

Beispiel: Alle URLs, die mit einem ‚?‘ enden, erlauben

Allow: /*?$

Beispiel: Nur „public“ darf durchsucht werden, der Rest nicht

Disallow: /
Allow: /public/

Beispiel: Die Sitemap ist unter folgender URL zu finden

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

Beispiel: Nur alle 120 Sekunden darf eine neue Seite zum Auslesen aufgerufen werden

Crawl-delay: 120

(Funktioniert allerdings nur bei Yahoo! Slurp und msnbot)


SEO Optimierungen

Für das Optimieren der Robots-Anweisungen sollten folgende Punkte verinnerlicht werden:

  • Noindex verhindert kein Crawling!: Die Bots rufen die Seiten trotzdem auf.
  • Disallow in der robots.txt bewirkt kein zuverlässiges noindex!: Gibt es externe Links auf eine gesperrte Seite, wird der Bot diese Seite zwar nicht crawlen, aber dennoch aufrufen und in seinem Index aufnehmen. Allerdings nur URL und den Anchor-Text der Links!
  • Meta Robots im Header betrifft nur das jeweilige Dokument
  • Es gibt keine Garantie: Die überwiegende Mehrheit der Suchmaschinenbots berücksichtigen vorhandene Robots-Anweisungen und befolgen sie… aber nicht alle!
  • Keine zeitgleiche Verwendung von Meta Robots Noindex + robots.txt Disallow: Verhindert die robots.txt das Crawling, wird auch kein „Noindex“ in der Meta Robots erkannt!
  • Private Verzeichnisse lassen sich nicht sicher über robots.txt- oder Meta-Robots-Angaben schützen!: Google empfiehlt dafür passwortgeschützte Serververzeichnisse zu nutzen (Bei Apache über die htaccess-Datei einzurichten
  • Nofollow spart Crawlingbudget: Mit „nofollow“ im Quellcode eines Links kann Crawlern das Nicht-Folgen empfohlen werden, damit sich diese dem Folgen wichtigerer Links auf einer Website widmen können. Dies spart Crawlingbudget. Beispiel: Login-Seiten-Verlinkung
  • Noindex für Seiten ohne Mehrwert: Gemeint sind fast leere Seiten oder DC-Seiten. Beispiel: interne Suchergebnisseiten, doppelte Kategorieseiten (Google bereinigt zwar selbst in regelmäßigen Abständen seine SERPs, jedoch setzt solch ein Mehraufwand die eingestufte Qualität einer Domain für Google herab)
  • Eine robots.txt wird meist für das Sperren folgender Bereiche verwendet:
    • Bezahlbereiche
    • Eingabeformulare
    • Login-Seiten
    • Verzeichnisse von Zusatzprogrammen (z.B. Adserver)
    • Skript-Verzeichnisse
    • DC-Seiten (damit kein Crawling-Budget verschwendet wird)

  • Hilfreiche Analyse-Tools

    • Search Console: Crawling –> robots.txt-Tester
    • robots.txt Generator
    • Screaming Frog
    • Browseo

    WordPress SEO Robots Plugins

    Folgende Plugins erfreuen sich großer Beliebtheit, wenn es um das Bearbeiten von Robots-Angaben innerhalb von WordPress-Seiten geht:

    • All-In-One SEO Pack
    • Yoast SEO

    Besucher dieser Seite suchten auch nach:
    robots txt, robots disallow, robots disallow all, robots generator, wordpress robots, google robots txt generator, wp robots txt, robots deny all, google robots tester, robots exclusion standard, joomla robots, suchmaschinen robots, robots datei, robots txt, disallow filetype txt