robots.txt - alles, was du wissen musst.

Robots.txt und SEO: Alles, was Du wissen musst

In Blog by Patrick NixLeave a Comment

Robots.txt ist eine der einfachsten Dateien auf einer Website, aber auch eine der am einfachsten zu vermasselnden. Nur ein einziger unangebrachtes Zeichen kann verheerende Auswirkungen auf Deine Suchmaschinenoptimierung haben und verhindern, dass Suchmaschinen auf wichtige Inhalte auf Deiner Website zugreifen.

Aus diesem Grund sind Fehlkonfigurationen von robots.txt sehr häufig – selbst bei erfahrenen SEO-Profis.

Contents

Was ist eine robots.txt-Datei?


Eine robots.txt-Datei sagt den Suchmaschinen, wo sie auf deiner Website hingehen dürfen und wo nicht.

In erster Linie listet sie alle Inhalte auf, die du von Suchmaschinen wie Google fernhalten möchtest. Du kannst auch einigen Suchmaschinen (nicht nur Google) sagen, wie sie erlaubte Inhalte durchsuchen können.

Wie sieht eine robots.txt-Datei aus?


Hier ist das grundlegende Format einer robots.txt-Datei:

Sitemap: [URL deiner sitemap]

User-agent: [welchem Bot willst du Anweisungen geben?]
[Anweisung 1]
[Anweisung 2]
[Anweisung ...]

User-agent: [Ansprache des nächsten Bots...]
[Anweisung 1]
[Anweisung 2]
[Anweisung ...]

Wenn du noch nie eine dieser Dateien gesehen hast, mag das beängstigend erscheinen. Die Syntax ist jedoch recht einfach. Kurz gesagt, weist man Bots Regeln zu, indem man ihre User-Agents angibt, gefolgt von Anweisungen.

Laß uns diese beiden Komponenten näher betrachten.

User-agents

Jede Suchmaschine identifiziert sich mit einem anderen User-Agent. Du kannst für jeden von ihnen in deiner robots.txt-Datei benutzerdefinierte Anweisungen festlegen. Es gibt Hunderte von User-Agents, aber hier sind einige nützliche für SEO:

  • Google: Googlebot
  • Google Images: Googlebot-Image
  • Bing: Bingbot
  • Yahoo: Slurp
  • Baidu: Baiduspider
  • DuckDuckGo: DuckDuckBot

Anmerkung: Alle User-Agents sind in der robots.txt case-sensitiv.

Du kannst auch den Platzhalter Stern (*) verwenden, um allen User-Agents Anweisungen zuzuweisen.

Nehmen wir zum Beispiel an, dass du alle Bots außer Googlebot daran hindern wolltest, deine Website zu crawlen. So würdest du es machen:

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

Du solltest wissen, dass deine robots.txt-Datei Anweisungen für so viele Benutzer-Agenten enthalten kann, wie du willst. Allerdings wirkt jedes Mal, wenn du einen neuen User-Agent deklarierst, er wie eine reine Weste. Mit anderen Worten, wenn du Anweisungen für mehrere User-Agents hinzufügst, gelten die für den ersten User-Agent deklarierten Anweisungen nicht für den zweiten, dritten, vierten oder vierten und so weiter.

Die Ausnahme von dieser Regel ist, wenn du den gleichen User-Agent mehr als einmal deklarierst. In diesem Fall werden alle relevanten Richtlinien zusammengefasst und befolgt.

Achtung: Crawler befolgen nur die Regeln, die unter den Benutzeragenten deklariert sind, die für sie am genauesten gelten. Deshalb blockiert die Datei robots.txt vor allem alle Bots mit Ausnahme von Googlebot (und anderen Google-Bots) vom Crawlen der Website. Googlebot ignoriert die weniger spezifische User-Agent Deklaration.

Anweisungen

Anweisungen sind Regeln, die von den deklarierten Benutzeragenten eingehalten werden sollen.

Unterstützte Anweisungen

Hier sind Anweisungen, die Google derzeit unterstützt, sowie deren Verwendung:

Disallow (verbieten)

Mit dieser Anweisung weist du Suchmaschinen an, nicht auf Dateien und Seiten zuzugreifen, die unter einen bestimmten Pfad fallen. Wenn du zum Beispiel alle Suchmaschinen daran hindern möchtest, auf deinen Blog und alle seine Beiträge zuzugreifen, könnte deine robots.txt-Datei so aussehen:

User-agent: *
Disallow: /blog

Anmerkung:Wenn du es versäumst, einen Pfad nach der Disallow-Anweisung zu definieren, ignorieren Suchmaschinen ihn.

Allow (Erlauben)

Mit dieser Anweisung können Suchmaschinen ein Unterverzeichnis oder eine Seite durchsuchen – auch in einem anderweitig verbotenen Verzeichnis. Wenn du zum Beispiel verhindern möchtest, dass Suchmaschinen auf jeden Beitrag in deinem Blog zugreifen, außer auf einen, dann könnte deine robots.txt-Datei so aussehen:

User-agent: *
Disallow: /blog
Allow: /blog/allowed-post

In diesem Beispiel können Suchmaschinen auf /blog/allowed-post zugreifen. Aber sie haben keinen Zugang zu:

/blog/ein anderer Beitrag
/blog/yet-another-post
/blog/download-me.pdf

Sowohl Google als auch Bing unterstützen diese Richtlinie.

Anmerkung: Wie bei der Anweisung disallow, wenn du keinen Pfad nach der Anweisung allow definierst, wird dieser von Suchmaschinen ignoriert.

EIN HINWEIS AUF WIDERSPRÜCHLICHE REGELN

Wenn du nicht aufpasst, können Anweisungen verboten und erlaubt sein, die leicht miteinander in Konflikt geraten. Im folgenden Beispiel verbieten wir den Zugriff auf /blog/ und erlauben den Zugriff auf /blog.

User-agent: *
Disallow: /blog/
Allow: /blog

In diesem Fall scheint die URL /blog/post-title/ sowohl verboten als auch erlaubt zu sein. Also, was passiert nun?

Für Google und Bing gilt, dass die Anweisung mit den meisten Zeichen gewinnt. Hier, das ist die Anweisung zum Verbieten.

Disallow: /blog/ (6 Zeichen)
Allow: /blog (5 Zeichen)

Wenn die beide sich widersprechenden Anweisungen gleich lang sind, gewinnt die am wenigsten restriktive Anweisung. In diesem Fall wäre das die Allow-Anweisung.

Anmerkung: Hier ist /blog (ohne den abschließenden Schrägstrich) weiterhin zugänglich und crawlbar.

Entscheidend ist, dass dies nur bei Google und Bing der Fall ist. Andere Suchmaschinen hören sich die erste übereinstimmende Richtlinie an. In diesem Fall ist das verboten.

Sitemap

Benutze diese Anweisung, um den Standort deiner Sitemap(s) für Suchmaschinen anzugeben. Wenn du mit Sitemaps nicht vertraut bist: Diese beinhalten im Allgemeinen die Seiten, die Suchmaschinen durchsuchen und indizieren sollen.

Hier ist ein Beispiel für eine robots.txt-Datei mit der Sitemap-Anweisung:

Sitemap: https://www.domain.com/sitemap.xml

User-agent: *
Disallow: /blog/
Allow: /blog/post-title/

Wie wichtig ist es, deine Sitemap(s) in deine robots.txt-Datei aufzunehmen? Wenn du diese bereits über die Search Console eingereicht hast, dann ist es für Google etwas redundant. Allerdings sagt es anderen Suchmaschinen wie Bing, wo sie deine Sitemap finden können, so dass es immer noch eine gute Praxis ist.

Dabei ist zu beachten, dass du die Sitemap-Anweisung nicht mehrmals für jeden User-Agent wiederholen musst. Es gilt nicht nur für einen. Daher ist es am besten, Sitemap-Anweisungen am Anfang oder Ende der Datei robots.txt einzufügen. Zum Beispiel:

Sitemap: https://www.domain.com/sitemap.xml

User-agent: Googlebot
Disallow: /blog/
Allow: /blog/post-title/

User-agent: Bingbot
Disallow: /services/

Anmerkung: Du kannst so viele Sitemaps wie du willst in deine robots.txt-Datei aufnehmen.

Nicht unterstützte Anweisungen

Hier sind die Richtlinien, die von Google nicht mehr unterstützt werden – einige davon technisch nie.

Crawl-delay

Bisher war es mit dieser Anweisung möglich, eine Crawl-Verzögerung in Sekunden anzugeben. Wenn du zum Beispiel wolltest, dass Googlebot 5 Sekunden nach jeder Crawl-Aktion wartet, würdest du die Crawl-Verzögerung auf 5 einstellen:

User-agent: Googlebot
Crawl-delay: 5

Google unterstützt diese Anweisung nicht mehr, aber Bing und Yandex schon.

Doch sei vorsichtig bei der Festlegung dieser Richtlinie, insbesondere wenn du eine große Website hast. Wenn du eine Crawl-Verzögerung von 5 Sekunden einstellst, dann beschränkst du Bots auf ein Maximum von 17.280 URLs pro Tag. Das ist nicht sehr hilfreich, wenn du Millionen von Seiten hast, aber es könnte Bandbreite sparen, wenn du eine kleine Website hast.

Noindex

Diese Anweisung wurde von Google nie offiziell unterstützt. Bis vor kurzem wurde jedoch angenommen, dass Google einige „Codes hatte, die nicht unterstützte und unveröffentlichte Regeln handhaben (z.B. noindex)“. Wenn du also verhindern willst, dass Google alle Beiträge in deinem Blog indiziert, kannst du die folgende Anweisung verwenden:

User-agent: Googlebot
Noindex: /blog/

Am 1. September 2019 machte Google jedoch deutlich, dass diese Richtlinie nicht unterstützt wird. Wenn du eine Seite oder Datei von Suchmaschinen ausschließen möchtest, verwende stattdessen das Meta-Robot-Tag oder den HTTP-Header von x-robots.

Nofollow

Dies ist eine weitere Anweisung, die Google nie offiziell unterstützt hat. Sie wurde verwendet, um Suchmaschinen anzuweisen, Links auf Seiten und Dateien unter einem bestimmten Pfad nicht zu folgen. Wenn du zum Beispiel verhindern möchtest, dass Google alle Links in deinem Blog verfolgt, kannst du die folgende Anweisung verwenden:

User-agent: Googlebot
Nofollow: /blog/

Google gab bekannt, dass diese Richtlinie am 1. September 2019 offiziell nicht unterstützt wird. Wenn du jetzt allen Links auf einer Seite folgen möchtest, solltest du den robots meta tag oder den x-robots header verwenden. Wenn du Google sagen möchtest, dass es bestimmten Links auf einer Seite nicht folgen soll, verwende das Linkattribut rel=“nofollow“.

Brauchst du eine robots.txt-Datei?

Eine robots.txt-Datei zu haben ist nicht entscheidend für viele Websites, besonders für kleine.

Allerdings gibt es keinen guten Grund, keine zu haben. Es gibt dir mehr Kontrolle darüber, wo Suchmaschinen auf deine Website gehen können und wo nicht, und das kann bei Dingen wie helfen:

  • Verhindern des Crawling von doppelten Inhalten;
  • Teile einer Website privat halten (z.B. Ihre Staging-Site);
  • Verhindern des Crawling von internen Suchergebnisseiten;
  • Verhindern einer Serverüberlastung;
  • Verhindern, dass Google „Crawl-Budget“ verschwendet.
  • Verhindern, dass Bilder, Videos und Ressourcendateien in de
  • Google-Suchergebnissen angezeigt werden.

Dabei ist zu beachten, dass Google zwar typischerweise keine Webseiten indiziert, die in der Datei robots.txt blockiert sind, es aber keine Möglichkeit gibt, den Ausschluss von Suchergebnissen über die Datei robots.txt zu garantieren.

Wie Google sagt, wenn Inhalte von anderen Stellen im Web verlinkt sind, können sie trotzdem in den Google-Suchergebnissen erscheinen.

So findest du deine robots.txt-Datei

Wenn du bereits eine robots.txt-Datei auf deiner Website hast, ist sie unter domain.com/robots.txt verfügbar.

Wie man eine robots.txt-Datei erstellt

Wenn du noch keine robots.txt-Datei hast, ist das Erstellen einer solchen einfach. Dazu öffnest du einfach ein leeres.txt-Dokument und beginnst mit der Eingabe von Anweisungen. Wenn du zum Beispiel alle Suchmaschinen davon abhalten möchtest, dein Verzeichnis /admin/ zu durchsuchen, würde es ungefähr so aussehen:

User-agent: *
Disallow: /admin/

Setze den Aufbau der Anweisungen fort, bis du mit dem, was du hast, zufrieden bist. Speichere deine Datei als „robots.txt“.

Alternativ kannst du auch einen robots.txt-Generator wie diesen verwenden.

Der Vorteil der Verwendung eines solchen Tools besteht darin, dass es Syntaxfehler minimiert. Das ist gut, denn ein Fehler könnte zu einer SEO-Katastrophe für deine Seite führen – also lohnt es sich, sich auf die Seite der Vorsicht zu begeben.

Der Nachteil ist, dass sie in Bezug auf die Anpassungsfähigkeit etwas eingeschränkt sind.

Wohin mit der Datei robots.txt?

Lege deine robots.txt-Datei in das Stammverzeichnis der Subdomain, für die sie gilt. Um beispielsweise das Crawling-Verhalten auf domain.com zu steuern, sollte die Datei robots.txt unter domain.com/robots.txt zugänglich sein.

Wenn du das Crawlen auf einer Subdomain wie blog.domain.com kontrollieren möchtest, dann sollte die Datei robots.txt unter blog.domain.com/robots.txt zugänglich sein.

Best Practices für Robots.txt-Dateien

Achte darauf, diese häufigen Fehler zu vermeiden.

Verwenden Sie für jede Direktive eine neue Zeile.

Jede Richtlinie sollte in einer neuen Zeile stehen. Andernfalls wird es die Suchmaschinen verwirren.

Schlecht:

User-agent: * Disallow: /directory/ Disallow: /another-directory/

gut:

User-agent: * 
Disallow: /directory/ 
Disallow: /another-directory/

Mit Wildcards die Anweisungen vereinfachen

Du kannst Wildcards (*) nicht nur verwenden, um Anweisungen auf alle User-Agents anzuwenden, sondern auch, um URL-Muster bei der Deklaration von Anweisungen anzupassen. Wenn du beispielsweise verhindern möchtest, dass Suchmaschinen auf parametrisierte URLs von Produktkategorien auf deiner Website zugreifen, kannst du sie so auflisten:

User-agent: * 
Disallow: /products/t-shirts?
Disallow: /products/hoodies?
Disallow: /products/jackets?
…

Aber das ist nicht sehr effizient. Es wäre besser, die Dinge mit einem solchen Platzhalter zu vereinfachen:

User-agent: * 
Disallow: /products/*?

Dieses Beispiel verhindert, dass Suchmaschinen alle URLs unter dem Unterordner /product/ durchsuchen, die ein Fragezeichen enthalten. Mit anderen Worten, alle parametrisierten URLs von Produktkategorien.

Verwende „$“, um das Ende einer URL anzugeben.

Mit dem Symbol „$“ wird das Ende einer URL markiert. Wenn du zum Beispiel verhindern möchtest, dass Suchmaschinen auf alle.pdf-Dateien auf deiner Website zugreifen, könnte deine robots.txt-Datei so aussehen:

User-agent: * 
Disallow: /*.pdf$

In diesem Beispiel können Suchmaschinen nicht auf URLs zugreifen, die mit .pdf enden. Das bedeutet, dass sie nicht auf /file.pdf zugreifen können, aber auf /file.pdf?id=68937586, denn das endet nicht mit „.pdf“.

Verwenden Sie jeden User-Agent nur einmal.

Wenn du den gleichen User-Agent mehrmals angibst, macht es Google nichts aus. Google wird lediglich alle Regeln aus den verschiedenen Erklärungen zu einer einzigen zusammenfassen und ihnen alle folgen. Wenn du zum Beispiel die folgenden User-Agents und Anweisungen in deiner robots.txt-Datei hast ..

User-agent: Googlebot
Disallow: /a/

User-agent: Googlebot 
Disallow: /b/

… würde Googlebot keinen dieser Unterordner durchsuchen.

Allerdings ist es sinnvoll, jeden User-Agent nur einmal zu deklarieren, da es weniger verwirrend ist. Mit anderen Worten, ist es weniger wahrscheinlich, dass du kritische Fehler machst, indem du die Dinge ordentlich und einfach hältst.

Achte auf Spezifität, um unbeabsichtigte Fehler zu vermeiden.

Wenn du keine spezifischen Anweisungen bei der Erstellung von Anweisungen gibst, kann dies zu leicht übersehenen Fehlern führen, die katastrophale Auswirkungen auf deine Suchmaschinenoptimierung haben können. Nehmen wir zum Beispiel an, dass du eine mehrsprachige Website hast und an einer deutschen Version arbeitest, die im Unterverzeichnis /de/ verfügbar sein wird.

Da es noch nicht ganz betriebsbereit ist, möchtest du verhindern, dass Suchmaschinen darauf zugreifen.

Die untenstehende Datei robots.txt verhindert, dass Suchmaschinen auf diesen Unterordner und alles darin zugreifen können:

User-agent: *
Disallow: /de

Aber es wird auch verhindern, dass Suchmaschinen nach Seiten oder Dateien suchen, die mit /de beginnen.

Zum Beispiel:

/designer-kleider/
/lieferung-information.html
/depeche-mode/t-shirts/
/definitely-not-for-public-viewing.pdf

In diesem Fall ist die Lösung einfach: Füge einen nachlaufenden Slash hinzu.

User-agent: *
Disallow: /de/

Benutze Kommentare, um den Menschen deine robots.txt-Datei zu erklären.

Kommentare helfen den Entwicklern, deine robots.txt-Datei zu erklären – und möglicherweise sogar dein zukünftiges Selbst. Um einen Kommentar einzufügen, beginnt die Zeile mit einem Hash (#).

# This instructs Bing not to crawl our site.
User-agent: Bingbot
Disallow: /

Crawler ignorieren alles auf Zeilen, die mit einem Hash beginnen.

Benutze eine separate robots.txt-Datei für jede Subdomain.

Robots.txt steuert nur das Crawling-Verhalten auf der Subdomain, auf der es gehostet wird. Wenn du das Crawlen auf einer anderen Subdomain steuern möchtest, brauchst du eine separate robots.txt-Datei.

Wenn beispielsweise deine Hauptsite auf domain.com und dein Blog auf blog.domain.com liegt, dann brauchst du zwei robots.txt-Dateien. Einer sollte in das Stammverzeichnis der Hauptdomain und der andere in das Stammverzeichnis des Blogs gehen.

Beispiel robots.txt-Dateien

Nachfolgend findest du einige Beispiele für robots.txt-Dateien. Diese dienen hauptsächlich der Inspiration, aber wenn einer deinen Anforderungen entspricht, kopiere ihn in ein Textdokument, speichere ihn als „robots.txt“ und lade ihn in das entsprechende Verzeichnis hoch.

All-Access für alle Bots

User-agent: *
Disallow:

Anmerkung: Wenn eine URL nicht deklariert wird, nachdem eine Anweisung vorliegt, wird diese Anweisung überflüssig. Mit anderen Worten, Suchmaschinen ignorieren es. Aus diesem Grund hat diese Richtlinie keine Auswirkungen auf die Website. Suchmaschinen können immer noch alle Seiten und Dateien durchsuchen.

Kein Zugriff für alle Bots

User-agent: *
Disallow: /

Sperrt ein Unterverzeichnis für alle Bots.

User-agent: *
Disallow: /folder/

Blockieren eines Unterverzeichnisses für alle Bots (mit einer Datei innerhalb der zulässigen Grenzen)

User-agent: *
Disallow: /folder/
Allow: /folder/page.html

Eine Datei für alle Bots blockieren

User-agent: *
Disallow: /this-is-a-file.pdf

Einen Dateityp (PDF) für alle Bots blockieren

User-agent: *
Disallow: /*.pdf$

Blockiert alle parametrisierten URLs nur für Googlebot.

User-agent: Googlebot
Disallow: /*?

Wie du deine robots.txt-Datei auf Fehler überprüfen kannst

Robots.txt-Fehler können ziemlich leicht durch das Netz gehen, so dass es sich lohnt, nach Problemen Ausschau zu halten.

Dazu solltest du regelmäßig nach Problemen im Zusammenhang mit robots.txt im Bericht „Coverage“ in der Searchconsole suchen. Nachfolgend findest du einige der Fehler, die du möglicherweise siehst, was sie bedeuten und wie du sie beheben kannst.

Eingereichte URL blockiert durch robots.txt

Das bedeutet, dass mindestens eine der URLs in den von dir eingereichten Sitemap(s) von robots.txt blockiert wird.

Wenn du deine Sitemap korrekt erstellt und kanonisierte, nicht indizierte und umgeleitete Seiten ausgeschlossen hast, dann sollten keine eingereichten Seiten von robots.txt blockiert werden. Wenn ja, überprüfe, welche Seiten betroffen sind, und passe dann deine Datei robots.txt entsprechend an, um den Block für diese Seite zu entfernen.

Du kannst den robots.txt-Tester von Google verwenden, um zu sehen, welche der Anweisungen den Inhalt blockiert. Sei einfach vorsichtig, wenn du das tust. Es ist leicht, Fehler zu machen, die andere Seiten und Dateien betreffen.

Blockiert durch robots.txt

Das bedeutet, dass du Inhalte durch robots.txt blockiert hast, die derzeit nicht in Google indiziert sind.

Wenn dieser Inhalt wichtig ist und indiziert werden soll, dann entferne den Crawlblock in der robots.txt. (Es lohnt sich auch sicherzustellen, dass der Inhalt nicht indiziert ist). Wenn du Inhalte in der Datei robots.txt blockiert hast, um sie aus dem Google-Index auszuschließen, entferne den Crawlblock und verwende stattdessen ein Robotmeta-Tag oder einen x-robots-header. Nur so kann der Ausschluss von Inhalten aus dem Index von Google gewährleistet werden.

Anmerkung: Das Entfernen des Crawlblocks beim Versuch, eine Seite aus den Suchergebnissen auszuschließen, ist entscheidend. Wenn Sie dies nicht tun, wird Google das noindex-Tag oder den HTTP-Header nicht sehen – es bleibt also indiziert.

Indiziert, obwohl von der robots.txt blockiert.

Das bedeutet, dass ein Teil der von robots.txt blockierten Inhalte noch in Google indiziert ist.

Noch einmal, wenn du versuchst, diesen Inhalt aus den Suchergebnissen von Google auszuschließen, ist robots.txt nicht die richtige Lösung. Deinstalliere den Crawlblock und verwende stattdessen ein Meta-Robot-Tag oder einen x-Robot-Tag HTTP-Header, um die Indizierung zu verhindern.

Wenn du diesen Inhalt aus Versehen blockiert hast und ihn im Google-Index behalten möchtest, entferne den Crawlblock in der robots.txt. Dies kann dazu beitragen, die Sichtbarkeit der Inhalte in der Google-Suche zu verbessern.

FAQs

Hier sind ein paar häufig gestellte Fragen, die an anderer Stelle in unserem Leitfaden nicht selbstverständlich waren. Laß mich in den Kommentaren wissen, wenn etwas fehlt, und ich werde den Abschnitt entsprechend aktualisieren.

Was ist die maximale Größe einer robots.txt-Datei?

500 Kilobyte (ungefähr).

Wo ist robots.txt in WordPress?

Gleicher Ort: domain.com/robots.txt.

Wie kann ich robots.txt in WordPress bearbeiten?

Entweder manuell oder mit einem der vielen WordPress SEO-Plugins wie Yoast, mit denen du robots.txt aus dem WordPress-Backend bearbeiten können.

Was passiert, wenn ich den Zugriff auf noindexed Content in der robots.txt verbiete?

Google wird die noindex-Direktive nie sehen, weil sie die Seite nicht durchsuchen kann.

Fazit

Robots.txt ist eine einfache, aber mächtige Datei. Nutze es sinnvoll, und es kann einen positiven Einfluss auf die Suchmaschinenoptimierung haben. Benutze es willkürlich, und du wirst es noch bereuen.

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.