Die robots.txt-Datei ist eine einfache Textdatei im Stammverzeichnis deiner Website (https://example.com/robots.txt), die Suchmaschinen-Crawlern mitteilt, welche Seiten oder Bereiche deiner Website sie besuchen sollen oder nicht. Sie existiert seit 1994 und ist einer der aeltesten Standards im Web. Jede seriose Suchmaschine respektiert sie, wobei es wichtig ist zu verstehen, was sie kann und was nicht.
So funktioniert die robots.txt-Syntax
Die Datei verwendet eine einfache, zeilenbasierte Syntax. Jeder Block beginnt mit einer User-agent-Zeile, die angibt, fuer welchen Crawler die Regeln gelten, gefolgt von einer oder mehreren Disallow- oder Allow-Direktiven. Hier ist eine vollstaendige Uebersicht aller unterstuetzten Direktiven:
User-agent: Identifiziert den Crawler. Verwende*fuer alle Crawler oder gib einen bestimmten Bot an, z.B.Googlebot,BingbotoderGPTBot.Disallow: Weist den Crawler an, den angegebenen Pfad nicht aufzurufen.Disallow: /private/blockiert alles unter dem /private/-Verzeichnis. Ein leeresDisallow:bedeutet, dass nichts blockiert wird.Allow: Hebt eine Disallow-Regel fuer einen bestimmten Pfad auf. Nuetzlich, wenn du ein Verzeichnis blockieren, aber den Zugriff auf bestimmte Dateien darin erlauben willst.Sitemap: Gibt die URL deiner XML-Sitemap an. Dies ist technisch gesehen nicht Teil des urspruenglichen robots.txt-Standards, wird aber von allen grossen Suchmaschinen unterstuetzt.Crawl-delay: Weist den Crawler an, eine bestimmte Anzahl von Sekunden zwischen Anfragen zu warten. Google ignoriert diese Direktive (du kannst die Crawl-Rate stattdessen in der Search Console einstellen), aber Bing und einige andere Crawler beachten sie.
Ein typisches WordPress-robots.txt-Beispiel
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /readme.html
Disallow: /xmlrpc.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/sitemap_index.xmlGehen wir durch, was jede Zeile bewirkt:
Disallow: /wp-admin/: Verhindert, dass Crawler den WordPress-Adminbereich aufrufen. Es gibt keinen Grund, warum Suchmaschinen dein Dashboard crawlen sollten.Allow: /wp-admin/admin-ajax.php: Diese Ausnahme ist wichtig, weil viele Themes und Plugins admin-ajax.php fuer Frontend-Funktionalitaet nutzen. Das Blockieren kann Funktionen auf deinen oeffentlichen Seiten beeintraechtigen.Disallow: /wp-includes/: Blockiert das WordPress-Core-Includes-Verzeichnis, das Systemdateien enthaelt, die nicht fuer die Indexierung bestimmt sind.Disallow: /readme.html: Versteckt die WordPress-Readme-Datei, die deine WordPress-Version verraet.Disallow: /xmlrpc.php: Blockiert den Zugriff auf den XML-RPC-Endpunkt, der haeufig Ziel von Brute-Force-Angriffen ist.Disallow: /?s=undDisallow: /search/: Verhindert die Indexierung interner Suchergebnisseiten, die wenig Wert haben und doppelte Inhalte erzeugen koennen.
robots.txt vs. noindex-Meta-Tag
Dies ist eines der am haeufigsten missverstandenen Themen in der SEO. Viele Seitenbetreiber denken, dass das Blockieren einer Seite in der robots.txt verhindert, dass sie in Suchergebnissen erscheint. Das ist nicht der Fall.
robots.txt steuert das Crawling: Es weist Suchmaschinen an, eine bestimmte URL nicht zu besuchen. Aber wenn andere Websites auf diese URL verlinken, koennte Google sie trotzdem indexieren und die URL in den Suchergebnissen mit einem Hinweis wie "Fuer diese Seite sind keine Informationen verfuegbar" anzeigen.
Das noindex-Meta-Tag steuert die Indexierung: Es sagt Suchmaschinen "du darfst diese Seite crawlen, aber nimm sie nicht in deine Suchergebnisse auf." Der entscheidende Punkt ist, dass Google die Seite tatsaechlich crawlen muss, um die noindex-Anweisung zu sehen. Wenn du eine Seite in der robots.txt blockierst UND ein noindex-Tag hinzufuegst, kann Google die Seite nicht crawlen, um das noindex-Tag zu entdecken, und koennte die URL trotzdem basierend auf externen Signalen indexieren.
Die Faustregel: Verwende robots.txt, um das Crawl-Budget zu verwalten und Crawler von serverseitigen Bereichen fernzuhalten. Verwende noindex, wenn du eine Seite komplett aus den Suchergebnissen entfernen willst.
Wie Googlebot die robots.txt behandelt
Google prueft deine robots.txt-Datei regelmaessig und speichert sie typischerweise bis zu 24 Stunden im Cache. Wenn Google die Datei nicht abrufen kann (zum Beispiel wenn dein Server einen 500-Fehler zurueckgibt), stoppt es sicherheitshalber voruebergehend das Crawlen deiner Seite. Eine 404-Antwort hingegen wird als "keine Einschraenkungen" interpretiert, was bedeutet, dass Google alles crawlen wird.
Google unterstuetzt auch Mustererkennung in robots.txt-Pfaden. Du kannst * als Platzhalter und $ als URL-Ende-Markierung verwenden:
Disallow: /*.pdf$
Disallow: /category/*/page/Die erste Regel blockiert alle PDF-Dateien auf der gesamten Seite. Die zweite blockiert Paginierungsseiten innerhalb von Kategorie-Archiven.
robots.txt mit Google Search Console testen
Google Search Console enthaelt einen robots.txt-Tester, mit dem du pruefen kannst, ob eine bestimmte URL blockiert ist. Das ist besonders nach Aenderungen an deiner robots.txt wertvoll, da ein kleiner Tippfehler versehentlich wichtige Seiten blockieren kann. Gib die URL ein, die du testen willst, und das Tool sagt dir, ob sie erlaubt oder blockiert ist und welche Regel dafuer verantwortlich ist.
Du solltest deine robots.txt nach jeder Aenderung testen, besonders nach groesseren Site-Updates, Theme-Wechseln oder Migrationen. Es dauert nur wenige Sekunden und kann dich davor bewahren, versehentlich Teile deiner Seite zu deindexieren.
Haeufige robots.txt-Fehler auf WordPress-Seiten
Ein paar Fehler tauchen auf WordPress-Seiten immer wieder auf:
- CSS- und JavaScript-Dateien blockieren: Einige aeltere robots.txt-Vorlagen blockieren
/wp-content/oder/wp-includes/pauschal. Das hindert Google daran, auf die CSS- und JS-Dateien zuzugreifen, die es zum Rendern deiner Seiten braucht. Wenn Googlebot deine Seite nicht richtig rendern kann, kann es sie nicht korrekt fuer das Ranking bewerten. Erlaube immer den Zugriff auf CSS- und JavaScript-Dateien. - Gesamte Seite waehrend der Entwicklung blockieren: Entwickler fuegen waehrend der Staging-Phase oft
Disallow: /hinzu und vergessen, es vor dem Launch zu entfernen. WordPress hat eine Einstellung "Suchmaschinen davon abhalten", die etwas Aehnliches bewirkt, und diese bleibt oefter aktiviert, als man erwarten wuerde. - robots.txt als Sicherheitsmassnahme verwenden: Die Datei ist oeffentlich zugaenglich. Jeder kann deine robots.txt lesen und genau sehen, welche Pfade du zu verstecken versuchst. Wenn du sensible Inhalte hast, verwende stattdessen eine ordentliche Authentifizierung oder serverseitige Zugriffskontrollen.
- Widerspruechliche Regeln: Wenn du mehrere User-Agent-Bloecke mit ueberlappenden Regeln hast, kann das Verhalten unvorhersehbar sein. Google verwendet die spezifischste passende Regel, aber andere Crawler koennten Konflikte anders handhaben. Halte deine robots.txt einfach und vermeide redundante Bloecke.
WordPress-Auto-robots.txt und Anpassungsmoeglichkeiten
Wenn keine physische robots.txt-Datei in deinem WordPress-Stammverzeichnis existiert, generiert WordPress automatisch eine virtuelle Version. Diese Standarddatei ist minimal und enthaelt typischerweise nur die /wp-admin/-Disallow-Regel mit der admin-ajax.php-Ausnahme.
Du hast drei Moeglichkeiten zur Anpassung:
- Physische Datei erstellen: Lade eine
robots.txt-Datei ueber FTP oder den Dateimanager deines Hosters in dein WordPress-Stammverzeichnis hoch. Dies ueberschreibt die virtuelle Version komplett. - SEO-Plugin verwenden: Sowohl Yoast SEO als auch Rank Math bieten einen robots.txt-Editor im WordPress-Adminbereich, sodass du Aenderungen ohne FTP-Zugang vornehmen kannst.
- Filter-Hook verwenden: Entwickler koennen die virtuelle robots.txt-Ausgabe ueber den
robots_txt-Filter in WordPress anpassen. Dieser Ansatz haelt die Anpassung im Code und macht sie einfacher in der Versionskontrolle nachverfolgbar.
Was InspectWP prueft
InspectWP prueft, ob deine WordPress-Seite eine robots.txt-Datei hat, analysiert die enthaltenen Regeln und verifiziert, ob eine Sitemap-Referenz enthalten ist. Es markiert haeufige Probleme wie fehlende Sitemap-Direktiven, zu breite Disallow-Regeln, die wichtige Inhalte blockieren koennten, und Regeln, die Google daran hindern koennten, deine Seiten korrekt zu rendern.