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 ältesten Standards im Web. Jede seriöse 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, für welchen Crawler die Regeln gelten, gefolgt von einer oder mehreren Disallow- oder Allow-Direktiven. Hier ist eine vollständige Übersicht aller unterstützten Direktiven:
User-agent: Identifiziert den Crawler. Verwende*für 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 für einen bestimmten Pfad auf. Nützlich, 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 ursprünglichen robots.txt-Standards, wird aber von allen großen Suchmaschinen unterstützt.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.xml
Gehen 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 für Frontend-Funktionalität nutzen. Das Blockieren kann Funktionen auf deinen öffentlichen Seiten beeinträchtigen.Disallow: /wp-includes/: Blockiert das WordPress-Core-Includes-Verzeichnis, das Systemdateien enthält, die nicht für die Indexierung bestimmt sind.Disallow: /readme.html: Versteckt die WordPress-Readme-Datei, die deine WordPress-Version verrät.Disallow: /xmlrpc.php: Blockiert den Zugriff auf den XML-RPC-Endpunkt, der häufig Ziel von Brute-Force-Angriffen ist.Disallow: /?s=undDisallow: /search/: Verhindert die Indexierung interner Suchergebnisseiten, die wenig Wert haben und doppelte Inhalte erzeugen können.
robots.txt vs. noindex-Meta-Tag
Dies ist eines der am häufigsten 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, könnte Google sie trotzdem indexieren und die URL in den Suchergebnissen mit einem Hinweis wie „Für diese Seite sind keine Informationen verfügbar" 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 tatsächlich crawlen muss, um die noindex-Anweisung zu sehen. Wenn du eine Seite in der robots.txt blockierst UND ein noindex-Tag hinzufügst, kann Google die Seite nicht crawlen, um das noindex-Tag zu entdecken, und könnte 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 prüft deine robots.txt-Datei regelmäßig 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 zurückgibt), stoppt es sicherheitshalber vorübergehend das Crawlen deiner Seite. Eine 404-Antwort hingegen wird als „keine Einschränkungen" interpretiert, was bedeutet, dass Google alles crawlen wird.
Google unterstützt 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 testen: Google Search Console und Alternativen
Der dedizierte robots.txt-Tester in der Google Search Console wurde am 12. Dezember 2023 abgeschaltet. An seiner Stelle gibt es heute den robots.txt-Bericht (unter Einstellungen > Crawling). Dieser zeigt dir an, welche robots.txt-Dateien Google für deine Domain gefunden hat, wann sie zuletzt abgerufen wurden und ob beim Parsen Fehler oder Warnungen aufgetreten sind. Der Bericht ist allerdings nur lesend – eine interaktive Prüfung einzelner URLs gegen beliebige Regeln ist dort nicht mehr möglich.
Wenn du prüfen willst, ob eine bestimmte URL durch deine robots.txt blockiert wird, hast du folgende Optionen:
- URL-Inspektion in der Search Console: Gib die URL oben in der Search Console ein und nutze „Live-URL testen". Das Ergebnis zeigt dir unter anderem, ob die URL durch robots.txt blockiert wird.
- Bing Webmaster Tools: Bing betreibt weiterhin einen klassischen robots.txt-Tester mit editierbarem Inhalt und URL-Test – oft die pragmatischste Option, wenn du Regeln vor dem Deployment durchspielen willst.
- Drittanbieter-Validatoren: Tools wie der robots.txt-Validator von TechnicalSEO.com, Merkle oder Ryte erlauben es dir, Regeln gegen konkrete URLs zu testen, ohne sie erst live schalten zu müssen.
- Screaming Frog: Während eines Crawls kann das Tool deine robots.txt-Regeln anwenden und anzeigen, welche URLs blockiert werden – nützlich für größere Seiten mit vielen Pfaden.
Teste deine robots.txt nach jeder Änderung, besonders nach größeren Site-Updates, Theme-Wechseln oder Migrationen. Es dauert nur wenige Sekunden und kann dich davor bewahren, versehentlich Teile deiner Seite zu deindexieren.
Häufige robots.txt-Fehler auf WordPress-Seiten
Ein paar Fehler tauchen auf WordPress-Seiten immer wieder auf:
- CSS- und JavaScript-Dateien blockieren: Einige ältere 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 für das Ranking bewerten. Erlaube immer den Zugriff auf CSS- und JavaScript-Dateien. - Gesamte Seite während der Entwicklung blockieren: Entwickler fügen während der Staging-Phase oft
Disallow: /hinzu und vergessen, es vor dem Launch zu entfernen. WordPress hat eine Einstellung „Suchmaschinen davon abhalten", die etwas Ähnliches bewirkt, und diese bleibt öfter aktiviert, als man erwarten würde. - robots.txt als Sicherheitsmaßnahme verwenden: Die Datei ist öffentlich zugänglich. 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.
- Widersprüchliche Regeln: Wenn du mehrere User-Agent-Blöcke mit überlappenden Regeln hast, kann das Verhalten unvorhersehbar sein. Google verwendet die spezifischste passende Regel, aber andere Crawler könnten Konflikte anders handhaben. Halte deine robots.txt einfach und vermeide redundante Blöcke.
WordPress-Auto-robots.txt und Anpassungsmöglichkeiten
Wenn keine physische robots.txt-Datei in deinem WordPress-Stammverzeichnis existiert, generiert WordPress automatisch eine virtuelle Version. Diese Standarddatei ist minimal und enthält typischerweise nur die /wp-admin/-Disallow-Regel mit der admin-ajax.php-Ausnahme.
Du hast drei Möglichkeiten zur Anpassung:
- Physische Datei erstellen: Lade eine
robots.txt-Datei über FTP oder den Dateimanager deines Hosters in dein WordPress-Stammverzeichnis hoch. Dies überschreibt die virtuelle Version komplett. - SEO-Plugin verwenden: Sowohl Yoast SEO als auch Rank Math bieten einen robots.txt-Editor im WordPress-Adminbereich, sodass du Änderungen ohne FTP-Zugang vornehmen kannst.
- Filter-Hook verwenden: Entwickler können die virtuelle robots.txt-Ausgabe über den
robots_txt-Filter in WordPress anpassen. Dieser Ansatz hält die Anpassung im Code und macht sie einfacher in der Versionskontrolle nachverfolgbar.
Was InspectWP prüft
InspectWP prüft, ob deine WordPress-Seite eine robots.txt-Datei hat, analysiert die enthaltenen Regeln und verifiziert, ob eine Sitemap-Referenz enthalten ist. Es markiert häufige Probleme wie fehlende Sitemap-Direktiven, zu breite Disallow-Regeln, die wichtige Inhalte blockieren könnten, und Regeln, die Google daran hindern könnten, deine Seiten korrekt zu rendern.