WordPress robots.txt: Standardregeln, Bearbeiten und sichere Beispiele
WordPress robots.txt
WordPress robots.txt: Standardregeln und sichere Beispiele | We.Inc
Wo WordPress seine virtuelle robots.txt erzeugt, welche Standardzeilen der Core genau ausgibt, wie du sie durch eine echte Datei oder einen Filter ersetzt, und ein Generator für eine sichere Datei.
WordPress hat standardmäßig keine robots.txt-Datei auf dem Server. Wenn jemand /robots.txt aufruft, erzeugt der Core sie spontan: User-agent: *, Disallow: /wp-admin/, Allow: /wp-admin/admin-ajax.php, plus seit Version 5.5 eine Sitemap-Zeile auf öffentlichen Websites. Lädst du eine echte robots.txt in das Stammverzeichnis hoch, ersetzt sie diese virtuelle Version.
Was der WordPress-Core unter /robots.txt ausgibt
Zeile
Woher sie kommt
Warum
User-agent: *
do_robots()
Die Regeln gelten für jeden Crawler
Disallow: /wp-admin/
do_robots(), Pfad von admin_url()
Hält Crawler aus dem Dashboard fern
Allow: /wp-admin/admin-ajax.php
do_robots()
Themes und Plugins rufen diese Datei von öffentlichen Seiten aus auf
Sitemap: .../wp-sitemap.xml
WP_Sitemaps::add_robots() (5.5+)
Verweist Crawler auf den Sitemap-Index des Cores; nur auf öffentlichen Websites
Weil die Standarddatei per Code erzeugt wird, findest du sie weder mit einem FTP-Programm noch im Dateimanager deines Hosters, was viele Website-Betreiber verwirrt. Du kannst sie auf drei Arten ändern: eine echte Datei hochladen, sie von einem SEO-Plugin bearbeiten lassen oder einen kleinen Filter im Code ergänzen. Mit dem Generator unten erstellst du eine sichere Version.
Öffne deinewebsite.de/robots.txt im Browser, um zu sehen, was gerade ausgeliefert wird.
Wähle im Generator die Optionen, die zu deiner Website passen, und gib deine Sitemap-Adresse ein.
Prüfe die Testpfade darunter: CSS, JavaScript und Uploads sollten alle als erlaubt erscheinen.
Speichere das Ergebnis als robots.txt in dem Ordner, in dem wp-config.php liegt, oder füge es in den Editor deines SEO-Plugins ein.
Blockiere niemals /wp-content/ oder /wp-includes/. Dort liegen die Stylesheets, Skripte und Bilder deines Themes, und Google braucht sie, um die Seite so zu sehen wie deine Besucher.
Wenn du ein SEO-Plugin nutzt, das eine eigene Sitemap schreibt, trag die Adresse dieser Sitemap in die Datei ein und nicht die des Cores.
Eine echte Datei überschreibt alles, auch Plugin-Änderungen, die über die virtuelle Datei laufen. Entferne also eine alte hochgeladene Datei, bevor du einen Plugin-Editor nutzt.
Versuch nicht, private Seiten per robots.txt zu verstecken. Die Datei ist öffentlich und listet genau die Pfade auf, die du verbergen wolltest.
Häufige Fragen
Wo liegt die robots.txt-Datei in WordPress?
Meistens nirgends. Die Funktion do_robots schreibt die Antwort jedes Mal, wenn /robots.txt aufgerufen wird. Nur wenn du oder ein Plugin eine echte robots.txt in den Stammordner hochgeladen hat, gibt es eine Datei zum Bearbeiten.
Ändert die Option Suchmaschinen davon abhalten, diese Website zu indexieren die robots.txt?
Seit WordPress 5.3 nicht mehr. Laut dem Artikel zu den Lese-Einstellungen fügt die Option jetzt ein robots-Meta-Tag mit noindex,nofollow in den head jeder Seite ein. Bis 5.2 sorgte sie dafür, dass robots.txt Disallow: / ausgab.
Wie bearbeite ich die robots.txt ohne Plugin?
Lade entweder eine einfache Textdatei namens robots.txt in das Stammverzeichnis hoch oder hänge dich in einem kleinen Plugin oder deinem Child-Theme in den Filter robots_txt ein. Der Filter erhält den erzeugten Text und ein Flag, das angibt, ob die Website öffentlich ist.
Warum zeigt meine robots.txt etwas anderes als meine Plugin-Einstellungen?
Der Artikel zu den Lese-Einstellungen weist darauf hin, dass das eingebaute Verhalten nur funktioniert, wenn WordPress im Stammverzeichnis installiert ist und keine robots.txt existiert. Eine physische Datei, eine Regel beim Hoster oder eine Caching-Schicht kann etwas anderes ausliefern.
Sollte ich /wp-admin/ überhaupt blockieren?
Der Standard tut das bereits, und das ist in Ordnung: Das Dashboard hat nichts, was ranken soll. Behalte die Allow-Zeile für admin-ajax.php, damit öffentliche Funktionen, die sie aufrufen, nicht blockiert werden.
Wie die virtuelle Datei entsteht
WordPress leitet /robots.txt an die Funktion do_robots weiter. Sie beginnt die Ausgabe mit User-agent: *, ergänzt eine Disallow-Zeile für den Admin-Ordner und eine Allow-Zeile für admin-ajax.php und schickt das Ergebnis dann durch den Filter robots_txt. Die Klasse WP_Sitemaps nutzt denselben Filter, um die Sitemap-Zeile anzuhängen, wenn die Website öffentlich ist.
Plugins hängen sich in denselben Filter ein, deshalb kann ein SEO-Plugin einen robots.txt-Editor anzeigen, ohne eine Datei anzulegen.
Regeln, die sich bei Shop oder Blog lohnen
Interne Suchergebnisseiten (Adressen mit ?s=) können endlos viele dünne Seiten erzeugen, deshalb blockieren viele Websites sie. WooCommerce-Shops blockieren oft Warenkorb, Kasse und Kontoseiten, die nie in der Suche erscheinen müssen.
Halte die Liste kurz. Jede zusätzliche Zeile ist eine Chance, versehentlich etwas Wichtiges zu blockieren, und robots.txt ist kein Werkzeug für Privatsphäre.
Die virtuelle Datei mit dem Filter robots_txt bearbeiten
Füge das in ein kleines eigenes Plugin oder in die functions.php deines Child-Themes ein. Es läuft nur, wenn im Stammverzeichnis keine echte robots.txt existiert.
Regeln und eine eigene Sitemap anhängen
Das zweite Argument sagt dir, ob die Website öffentlich ist, sodass eine Staging-Kopie unberührt bleiben kann.
So sieht der Standard auf einer öffentlichen Website aus
Vom Core erzeugt, auf einer Website, die im Stammverzeichnis der Domain installiert ist und die Core-Sitemap aktiviert hat.
Generator für die WordPress robots.txt
Interne Suchergebnisse blockieren
WooCommerce-Warenkorb, Kasse und Konto blockieren
Das ist eine Staging-Kopie (alles blockieren)
Sitemap-Adresse
Deine robots.txt
Kopieren
Kopiert
Googlebot-Test gegen deine Datei
In deinem Browser erstellt. Nichts wird hochgeladen oder abgerufen.