Beispiele für sitemap.xml und robots.txt, kommentiert | We.Inc
Kopierbare Beispiele für sitemap.xml, Sitemap-Index und robots.txt mit Erklärung jeder Zeile, die Limits von 50,000 URLs und 500 KiB, Wildcard-Regeln und ein Mini-Sitemap-Builder.
Beispiele für sitemap.xml und robots.txt
Eine sitemap.xml listet die URLs auf, die gecrawlt werden sollen, jede in einem url-Element mit einem loc und einem optionalen lastmod, bis zu 50,000 URLs oder 50 MB pro Datei. Eine robots.txt im Stammverzeichnis der Website sagt Crawlern mit User-agent-, Disallow- und Allow-Zeilen, welche Pfade sie auslassen sollen, und kann auf die Sitemap verweisen.
Wichtige Limits und Regeln
Element
Regel
URLs pro Sitemap
Maximal 50,000
Dateigröße der Sitemap
Maximal 50 MB unkomprimiert
URL-Format in Sitemaps
Vollständig, zum Beispiel https://example.com/page
Speicherort der robots.txt
Stammverzeichnis des Hosts, zum Beispiel https://example.com/robots.txt
Von Google gelesene Größe der robots.txt
500 KiB
Von Google unterstützte Felder in robots.txt
user-agent, allow, disallow, sitemap
Generatoren spucken eine Datei aus, erklären aber selten, warum jede Zeile da ist oder was passiert, wenn sich zwei Regeln widersprechen. Jedes Beispiel unten ist kommentiert, und der Builder macht aus einer einfachen Liste deiner Seiten eine gültige Sitemap, in der Sonderzeichen für dich maskiert werden.
Füge im Builder eine vollständige URL pro Zeile ein und wähle ein lastmod-Datum, falls du eines hast.
Kopiere das erzeugte XML in eine Datei namens sitemap.xml im Stammverzeichnis deiner Website.
Wähle das robots.txt-Beispiel, das deinem Setup am nächsten kommt, und passe die Pfade an.
Ergänze eine Sitemap-Zeile in der robots.txt und reiche die Sitemap in der Search Console ein.
Liste nur kanonische URLs auf, die 200 zurückgeben. Weiterleitungen, 404-Seiten und Seiten mit noindex in einer Sitemap senden widersprüchliche Signale.
Setze lastmod auf das Datum, an dem sich der Hauptinhalt wirklich geändert hat. Google nutzt es nur, wenn es durchgehend korrekt ist.
Google ignoriert changefreq und priority, du kannst sie also weglassen.
Eine Seite in der robots.txt zu blockieren, entfernt sie nicht aus der Suche. Um eine Seite aus den Ergebnissen herauszuhalten, erlaube das Crawling und füge stattdessen ein robots-Meta-Tag mit noindex hinzu.
Häufige Fragen
Wo sollte die sitemap.xml liegen?
Jeder Ort auf demselben Host funktioniert, aber das Stammverzeichnis ist üblich, weil eine Sitemap nach dem sitemaps.org-Protokoll in der Regel nur URLs in ihrem eigenen Ordner oder darunter abdeckt. Teile Suchmaschinen den Ort mit einer Sitemap-Zeile in der robots.txt oder durch Einreichen in der Search Console mit.
Wie liste ich mehr als 50,000 URLs auf?
Verteile sie auf mehrere Sitemap-Dateien und liste diese Dateien in einem Sitemap-Index auf. Der Index nutzt sitemapindex- und sitemap-Elemente statt urlset und url und kann auf bis zu 50,000 Sitemaps verweisen.
Unterstützt Google Crawl-delay oder Noindex in der robots.txt?
Nein. Google liest nur user-agent, allow, disallow und sitemap. Andere Crawler beachten Crawl-delay vielleicht, aber Googlebot ignoriert es, und noindex gehört in ein Meta-Tag oder einen X-Robots-Tag-Header.
Was passiert, wenn Allow und Disallow beide auf eine URL zutreffen?
Google wählt die spezifischste Regel, also die mit dem längsten passenden Pfad. Sind zwei passende Regeln gleich spezifisch, nutzt Google die weniger restriktive, also Allow.
Muss ich Zeichen in Sitemap-URLs maskieren?
Ja. Eine Sitemap ist XML, daher muss ein kaufmännisches Und als & geschrieben werden und die anderen reservierten Zeichen als ihre Entitäten. Die Datei muss außerdem UTF-8-kodiert sein.
Wofür jede Datei da ist
Die Sitemap ist eine Einladung: Hier sind die Seiten, die sich zu crawlen lohnen, und wann sie sich zuletzt geändert haben. Sie hilft am meisten bei neuen Websites, großen Websites und Seiten, auf die nur wenige interne Links zeigen.
Die robots.txt ist eine Sammlung von Crawl-Anweisungen, kein Sicherheitswerkzeug. Jeder kann sie lesen, und schlecht programmierte Bots ignorieren sie, also verlass dich nie darauf, um private Bereiche zu verstecken. Schütze diese mit einem Login.
Wie Regeln zugeordnet werden
Ein Crawler wählt die Gruppe, deren User-agent-Zeile am genauesten auf ihn passt, und ignoriert den Rest. Hat Googlebot eine eigene Gruppe, liest er die Regeln unter User-agent: * nicht.
Pfade unterscheiden Groß- und Kleinschreibung und werden ab dem Anfang abgeglichen. Ein Sternchen steht für eine beliebige Zeichenfolge, und ein Dollarzeichen verankert das Ende der URL, sodass Disallow: /*.pdf$ jedes PDF blockiert.
Sitemap-Beispiele
Einfache sitemap.xml
Die XML-Deklaration, das urlset mit dem Protokoll-Namespace und ein url-Element pro Seite. lastmod verwendet das W3C-Datumsformat.
Sitemap-Index für große Websites
Verweist auf untergeordnete Sitemaps. Für jede gilt dasselbe Limit von 50,000 URLs und 50 MB.
robots.txt-Beispiele
Alles erlauben und auf die Sitemap verweisen
Ein leeres Disallow bedeutet, dass nichts blockiert ist. Das ist die richtige Datei für die meisten Websites kleiner Unternehmen.
Onlineshop: Warenkörbe, Konten und Filterkombinationen auslassen
Blockiert URL-Muster, die endlose Duplikate erzeugen, und lässt Produkt- und Kategorieseiten offen.
Eine komplette Staging-Website blockieren
Hält regelkonforme Crawler von einer Testkopie fern. Ergänze auch ein Passwort, denn diese Datei bittet nur höflich.
Wildcards für Dateitypen
Das Dollarzeichen bedeutet, dass die URL dort endet, also ist /guide.pdf blockiert, /guide.pdf.html aber nicht.
Welche Regel gewinnt
Googles Zuordnung für Beispielregeln
Regeln
URL
Ergebnis
Warum
Allow: /p und Disallow: /
Erlaubt
Allow: /folder und Disallow: /folder
Erlaubt
Gleiche Länge, die am wenigsten restriktive gewinnt
Disallow: /*.php$
Erlaubt
Die URL endet nicht auf .php
Disallow: /fish
Erlaubt
Pfade unterscheiden Groß- und Kleinschreibung
Mini-Sitemap-Builder
Füge eine vollständige URL pro Zeile ein, und der Builder schreibt ein gültiges urlset mit maskierten Sonderzeichen.
Deine URLs, eine pro Zeile
lastmod für alle (optional)
{n} URL enthalten.
{n} URLs enthalten.
{n} Zeile(n) übersprungen, die keine vollständigen http- oder https-URLs sind.