HandyTools Hub

← Alle Anleitungen

Sitemaps und robots.txt erklärt: Wie Suchmaschinen Ihre Seite entdecken, crawlen und indexieren

2026-08-18

Jeder Seitenbetreiber bearbeitet irgendwann zwei Dateien, die er nicht völlig versteht: robots.txt und sitemap.xml. Sie haben entgegengesetzte Aufgaben — die eine sagt Crawlern, wohin sie nicht gehen sollen, die andere reicht Crawlern eine Landkarte von allem, was existiert —, und sie zu verwechseln erzeugt Seiten, die entweder für Google unsichtbar sind oder Crawler Budget auf Seiten verschwenden lassen, die Sie verstecken wollten. Diese Anleitung gibt Ihnen ein tragfähiges Denkmodell für beide, plus die Fehler, die sonst solide Seiten stolpern lassen.

Je ein Satz

  • robots.txt — eine Klartext-Erlaubnisdatei: „Crawler X, du darfst diese URL-Präfixe nicht abrufen.“ Sie liegt im Site-Wurzelverzeichnis (https://example.com/robots.txt) und ist das erste, was viele Crawler anfordern.
  • sitemap.xml — eine XML-Liste der Seiten, die Sie entdeckt haben wollen, und wie oft sie sich ändern. Sie existiert, um Crawlern von neuen oder aktualisierten Seiten zu erzählen, die sie durch Linkverfolgung nie finden würden.

Beides sind Signale, keine harten Regeln. Suchmaschinen können robots.txt-Zeilen ignorieren, und eine Sitemap erzwingt nie die Indexierung einer Seite. Richtig gemacht formen sie Crawling und Auffindbarkeit aber stärker als fast alles andere, was Sie kontrollieren.

robots.txt: Format und Matching

Eine robots.txt besteht aus Regel-Gruppen, jede beginnt mit einer User-agent:-Zeile, gefolgt von den Regeln für diesen Crawler:

User-agent: *
Disallow: /private/
Disallow: /tmp/*.pdf$
Allow: /private/public/
  • User-agent: * bedeutet „auf alle Crawler anwenden“. User-agent: Googlebot zielt auf einen bestimmten Crawler.
  • Disallow: /private/ blockiert das URL-Präfix /private/ (und alles darunter).
  • Allow erlaubt einen Unterpfad wieder, den ein breiteres Disallow blockieren würde. Google löst Konflikte nach der längsten passenden Regel: Allow: /private/public/ gewinnt gegen Disallow: /private/, weil der Pfad länger ist.
  • Google unterstützt außerdem zwei Platzhalter: * entspricht beliebigen Zeichen, $ dem URL-Ende (/tmp/*.pdf$ blockiert PDFs unter /tmp/).
  • Ein leeres Disallow: erlaubt alles; eine Datei ohne Gruppen erlaubt alles. Ein blockiertes Präfix heißt nicht „weg“ — siehe unten.

Was robots.txt NICHT tut

Das gefährlichste Missverständnis: robots.txt kann eine Seite nicht verstecken. /private/ in robots.txt zu blockieren heißt, Crawler werden es nicht abrufen — aber wenn andere Seiten darauf verlinken, kann Google die URL trotzdem indexieren und ein Ergebnis ohne Snippet zeigen (meist nur Titel und URL).

Wollen Sie eine Seite komplett aus dem Index, brauchen Sie eine ausdrückliche „no index“-Anweisung:

<meta name="robots" content="noindex">

oder den HTTP-Header X-Robots-Tag: noindex. Der Meta-Tag-Generator schreibt gültige robots- und Open-Graph-Tags, einschließlich noindex-nofollow-Kombinationen. Die praktische Trennung: robots.txt dient dem Crawl-Blockieren (Crawl-Budget sparen), noindex dem Entfernen aus dem Index.

XML-Sitemaps: Die Landkarte

Eine Sitemap ist XML mit einem <url>-Block pro Seite:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-08-18</lastmod>
  </url>
  <url>
    <loc>https://example.com/guides/sitemap-robots-guide/</loc>
  </url>
</urlset>
  • <loc> ist das einzige Pflichtkind — die kanonische URL der Seite (ein Schema + ein Host; mischen Sie nie http/https oder www/nackt).
  • <lastmod> ist ein ISO-8601-Datum, das Crawlern sagt, wann die Seite zuletzt geändert wurde. Es ist ein Hinweis; lassen Sie es veralten oder fälschen es, lernen Crawler, es zu ignorieren.
  • <changefreq> und <priority> sind Altlast und von Google weitgehend ignoriert — Sie können sie weglassen.
  • Limits: höchstens 50.000 URLs oder 50 MB (unkomprimiert) pro Sitemap. Eine komprimierte sitemap.xml.gz ist in Ordnung und vorzuziehen.

Sitemaps steigern kein Ranking. Ihre Aufgabe ist die Auffindbarkeit: Google erfährt, dass eine URL existiert und wie frisch sie ist, sodass neue und geänderte Seiten früher gecrawlt werden, statt auf einen Link von irgendwo zu warten. Deshalb veröffentlicht eine große oder schnell wechselnde Seite eine — und deshalb muss die Sitemap kanonische URLs listen, sonst bringen Sie Crawlern Duplikat-URLs statt der echten Seiten bei.

Wenn eine Sitemap nicht reicht

Mehr als 50.000 URLs — oder eine Seite mit klar getrennten Bereichen — verlangt einen Sitemap-Index: eine XML-Datei, die andere Sitemaps listet:

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap><loc>https://example.com/sitemap-blog.xml</loc></sitemap>
  <sitemap><loc>https://example.com/sitemap-tools.xml</loc></sitemap>
</sitemapindex>

Jeder <sitemap>-Eintrag kann ebenfalls ein <lastmod> tragen. Sie reichen dann die Index-URL bei Suchmaschinen ein statt jede einzelne Sitemap.

Wie die zwei Dateien zusammenspielen

Die Dateien verstärken sich in einem üblichen Setup gegenseitig:

User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml

Die Sitemap:-Direktive ist, wie viele Crawler erfahren, wo Ihre Landkarte liegt (sie kann überall in der Datei stehen). Das ist das Muster, das die meisten Seiten wollen: alles crawlen lassen (damit die Seiten der Sitemap erreichbar sind) und Crawler auf die Landkarte zeigen.

Häufige Fehler, die die Auffindbarkeit still killen

  • Die Sitemap in robots.txt blockieren. Blockieren Sie /sitemap.xml (oder /sitemap*) per Disallow, während Sie sie per Sitemap: deklarieren, verweigern Crawler möglicherweise den Abruf genau der Datei, die helfen soll. Halten Sie Sitemaps erlaubt.
  • Disallow: / auf einer Seite, die indexiert werden soll. Das ist der Klassiker „warum ist meine Seite nicht in Google?“.
  • Inkonsistente URLs. Die Sitemap listet http://, während die Seite auf https:// umleitet, oder mischt www und nackte Domains. Die Sitemap muss die kanonische Form nutzen.
  • Veraltetes oder falsches lastmod. Eine Sitemap voller gestriger Daten für unberührte Seiten bringt Crawlern bei, sie zu ignorieren.
  • Fehlerhafte robots.txt. Eine Datei, die mitten in einer Regel endet oder keine Leerzeile zwischen Gruppen hat, kann dazu führen, dass Crawler spätere Regeln anders behandeln. Halten Sie sie winzig und gültig; die meisten Seiten brauchen unter zehn Zeilen.
  • Nicht einreichen. Auch eine perfekte Sitemap hilft weniger, wenn Sie sie nie in der Google Search Console / Bing Webmaster Tools einreichen und nur auf die Sitemap:-Zeile vertrauen.

Kurzreferenz

  • robots.txt = „diese Präfixe nicht crawlen“; sitemap.xml = „hier ist alles, was existiert.“ Die eine steuert Crawling, die andere ermöglicht Auffindbarkeit.
  • Regeln sind User-agent:- plus Allow:/Disallow:-Zeilen; Google nutzt Längste-Übereinstimmung-Vorrang und *-/$-Platzhalter.
  • robots.txt kann eine Seite nicht verstecken — nutzen Sie <meta name="robots" content="noindex"> (oder X-Robots-Tag), um sie aus dem Index zu entfernen.
  • Ein Sitemap-<url> braucht <loc>; <lastmod> ist ein Frische-Hinweis; <changefreq>/<priority> sind Altlast.
  • Max. 50.000 URLs / 50 MB pro Sitemap; darüber hinaus einen Sitemap-Index nutzen.
  • Setzen Sie Sitemap: https://example.com/sitemap.xml in robots.txt und halten Sie diesen Pfad erlaubt.
  • Blockieren Sie nie die Sitemap, mischen Sie keine Schemata/Hosts und liefern Sie keine veralteten lastmod-Daten.

Um eine korrekte Datei zu erzeugen, statt XML von Hand zu schreiben, verwandelt der XML-Sitemap-Generator eine URL-Liste in eine gültige Sitemap, und der Robots.txt-Generator baut Regeln pro Crawler visuell. Wenn Crawler tatsächlich kommen, erzählen HTTP-Statuscodes, was sie fanden — 200 für zu indexierende Seiten, 404/410 zum Verwerfen, 301 zum Konsolidieren.