robots.txt & Sitemap — Manual

Funktionsbeschreibung von robots.txt & Sitemap: beide Generatoren mit allen Optionen, die zwei Live-Checker, Direktiven, Sitemap-Felder, Limits und Architektur.

Zurück zur Übersicht: robots.txt & Sitemap · Tool live öffnen: www.jpkc.com/tools/robots-sitemap/

Dieses Manual beschreibt robots.txt & Sitemap vollständig: jeden der sieben Tabs, jede Option der beiden Generatoren, das Verhalten der beiden Live-Checker und die technischen Grenzen darunter. Die Oberfläche des Tools ist auf Englisch — die Tab- und Button-Bezeichnungen stehen hier deshalb in ihrer englischen Original-Schreibweise (mit deutscher Erläuterung), damit du dich im echten Interface zurechtfindest.

Aufbau: sieben Tabs, vier Funktionen

Das Tool gliedert sich in sieben Tabs: robots.txt (Generator), Sitemap (Generator), Check robots.txt (Live-Checker), Check Sitemap (Live-Checker), Examples, Tips und Reference. Die beiden Generatoren erzeugen Dateien, die beiden Checker holen und analysieren bestehende Dateien von einer fremden URL. Examples, Tips und Reference sind Nachschlage-Tabs und funktionieren ohne jede Eingabe. Auf schmalen Bildschirmen stehen Formular und Ausgabe untereinander.

robots.txt-Generator

Der erste Tab baut eine robots.txt mit Live-Vorschau: Jede Änderung im Formular links (Abschnitt Configure robots.txt) aktualisiert nach einer kurzen Verzögerung den Ausgabe-Editor rechts.

User-agent-Blöcke

Das Herzstück, im Formular unter Groups. Jeder Block entspricht einer Gruppe der robots.txt. Über Add User-agent Block legst du beliebig viele an; ein neuer Block startet mit einer leeren Disallow:-Zeile. Jeder Block hat:

  • ein User-agent-Feld mit Autovervollständigung (Datalist). Mehrere Bots trägst du kommagetrennt ein (GPTBot, ClaudeBot) — jeder bekommt in der Ausgabe eine eigene User-agent:-Zeile, die Regeln darunter gelten für alle. Vorgeschlagen werden 40 Bot-Namen aus der Bot-Liste des Tools — Suchmaschinen (Googlebot, Bingbot, DuckDuckBot, Applebot, YandexBot …), Archive (archive.org_bot), Social-Bots (facebookexternalhit, Twitterbot, LinkedInBot), KI-Crawler für Training (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, meta-externalagent, CCBot …), für KI-Suche und Abrufe auf Nutzeranfrage (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot …) sowie SEO-Tool-Crawler (AhrefsBot, SemrushBot, MJ12bot …). Du kannst auch jeden anderen Namen eintippen; * steht für „alle Bots ohne eigene Gruppe".
  • Regelzeilen. Über Add Rule fügst du welche hinzu, jede mit einem Typ-Auswahlfeld (Disallow oder Allow) und einem Pfad-Feld (z. B. /admin/). Pfade sind Präfixe und dürfen * (beliebige Zeichen) und ein abschließendes $ (Ende der URL) enthalten, etwa /*.pdf$ oder /*?. Ein leerer Wert erzeugt Disallow: — „nichts blockiert", also alles erlaubt.
  • ein Crawl-delay-Feld (Zahl in Sekunden, Feld von 0 bis 3600, optional). Es erzeugt eine Crawl-delay:-Zeile im Block; die Hinweisliste unter der Vorschau vermerkt dazu, dass Google die Direktive ignoriert und Bing und Yandex sie befolgen.

Blöcke und Regelzeilen verschiebst du mit den Pfeil-Buttons (Move up/Move down) und entfernst sie mit dem Papierkorb- bzw. X-Button. Blöcke lassen sich zusätzlich mit der Maus am Griff-Symbol per Drag-and-drop umsortieren.

Zwei Sonderfälle regelt der Generator selbst: Ein Block ganz ohne Regelzeile bekommt automatisch Allow: / — ohne Regel würde er nach RFC 9309 mit dem nächsten Block verschmelzen und dessen Regeln erben; ein Hinweis unter der Vorschau sagt dir das. Ein Block ohne User-agent, aber mit Regeln wird ausgelassen und ebenfalls gemeldet.

Sitemaps

Unter den Blöcken steht das Feld Sitemaps: eine absolute URL pro Zeile. Jede Zeile wird am Ende der Datei als Sitemap: URL ausgegeben; diese Zeilen gelten für alle Crawler, unabhängig von den Gruppen. Eine Host:-Direktive bietet der Generator nicht mehr an — sie wurde nur von Yandex gelesen und ist seit 2018 wirkungslos.

Ausgabe, Kopieren, Download, Import

Rechts steht der Ausgabe-Editor (schreibgeschützt). Jede generierte Datei beginnt mit der Kommentarzeile # robots.txt — generated with https://www.jpkc.com/tools/robots-sitemap/. Über dem Editor:

  • Load File — liest eine bestehende robots.txt (bis 20 MB) ein und füllt das Formular daraus. Jede Gruppe der Datei wird ein Block, mehrere User-agents einer Gruppe stehen kommagetrennt im selben Block; Sitemaps landen im Sitemaps-Feld. Ein Bericht über dem Formular nennt, was dabei verloren geht oder auffällt: Kommentare werden nicht übernommen, eine veraltete Host-Zeile wird verworfen, und die Warnungen und Fehler der Prüfung (siehe unten) werden aufgelistet. Enthält die Datei weder Gruppen noch Sitemaps, meldet das Tool das und lässt das Formular unverändert.
  • Reset — setzt das Formular nach einer Rückfrage auf den Standard zurück: ein Block User-agent: * mit einer leeren Disallow:-Regel.
  • Copy — kopiert die robots.txt in die Zwischenablage.
  • Download — speichert sie als robots.txt (text/plain).

Unter dem Editor weist ein Hinweis darauf hin, dass die Datei ins Root jedes Hosts gehört und als text/plain ausgeliefert werden muss — Subdomains brauchen eine eigene Datei.

Der Zwischenstand wird automatisch lokal im Browser (LocalStorage) gespeichert und beim nächsten Besuch wiederhergestellt; Formularstände aus älteren Versionen des Tools werden dabei übernommen. Beim allerersten Aufruf siehst du den Standard-Block User-agent: *.

Hinweise unter der Vorschau

Direkt unter dem Editor zeigt eine Liste alle Auffälligkeiten der gerade erzeugten Datei, sortiert nach Fehlern, Warnungen und Infos. Sie stammen aus denselben Prüfungen wie im Tab Check robots.txt (Liste dort unter Was du im Ergebnis siehst), ergänzt um die Hinweise des Formulars — etwa zum automatisch gesetzten Allow: /. Ohne Befund bleibt die Liste ausgeblendet.

URL-Test im Generator

Die Karte Test a URL against this robots.txt prüft live gegen die Datei, die du gerade baust: Im Feld Path or URL trägst du einen Pfad oder eine volle URL ein (Vorgabe /), unter User-agent einen Bot (Vorgabe Googlebot, mit Autovervollständigung). Das Ergebnis aktualisiert sich bei jeder Eingabe und bei jeder Änderung am Formular: Allowed oder Blocked, dazu die greifende Regel und die Gruppe, die für den Bot gilt — oder der Hinweis, dass keine Regel bzw. keine Gruppe passt. Wie das Tool dabei entscheidet, steht unter So liest das Tool eine robots.txt.

Sitemap-Generator

Der zweite Tab baut eine XML-Sitemap oder einen Sitemap-Index, ebenfalls mit Live-Vorschau (Abschnitt Configure sitemap.xml).

Dateityp: Sitemap oder Sitemap-Index

Das Auswahlfeld File type bestimmt, was entsteht:

  • Sitemap (pages) — eine reguläre Sitemap mit <urlset>, ein Eintrag pro Seite.
  • Sitemap index (sitemaps) — ein Index mit <sitemapindex>, ein Eintrag pro Sitemap-Datei. Die Liste heißt dann Sitemaps, die Felder changefreq und priority verschwinden (ein Index kennt pro Eintrag nur <loc> und <lastmod>), und Download speichert als sitemap_index.xml.

Base-URL und URL-Zeilen

  • Base URL — die Adresse, mit der relative Pfade verbunden werden (z. B. https://example.com). Volle URLs in den Zeilen bleiben, wie sie sind. Ohne Base-URL kann ein relativer Pfad nicht aufgelöst werden: Der Eintrag fehlt dann in der Ausgabe, und ein Fehlerhinweis nennt ihn.
  • URLs — über Add entry fügst du Zeilen hinzu. Jede Zeile hat:
    • Path or URL — ein Pfad relativ zur Base-URL (z. B. /about/; ein fehlender führender / wird ergänzt) oder eine volle URL. Das Tool prozentkodiert die Adresse (Umlaute, Leerzeichen) und escapet sie fürs XML — ein & im Query-String wird zu &amp;.
    • Last modified — ein Textfeld für <lastmod> im W3C-Datetime-Format: nur das Datum (2026-10-15) oder mit Uhrzeit und Zeitzone (2026-10-15T09:30:00+02:00).
    • changefreq — Auswahl für <changefreq>: always, hourly, daily, weekly, monthly, yearly, never (oder leer).
    • priority — Auswahl für <priority>: 1.0 bis 0.0 in Zehntel-Schritten (oder leer).

Optionale Felder werden nur ausgegeben, wenn sie gesetzt sind; beide Auswahlfelder stehen per Default leer. Das Formular weist selbst darauf hin, dass Google changefreq und priority ignoriert und ein genaues lastmod zählt. Zeilen verschiebst du mit den Pfeil-Buttons und entfernst sie mit dem X-Button.

Der Button Empty lastmod → today trägt in alle Zeilen ohne lastmod das heutige Datum ein; Zeilen mit Datum bleiben unverändert.

Viele Einträge auf einmal

Im Feld Add many at once fügst du eine Liste ein — ein Pfad oder eine URL pro Zeile — und übernimmst sie mit Add lines als neue Einträge. Ist das Formular bis dahin nur mit einer einzigen leeren Startzeile belegt, ersetzt die Liste diese Zeile. Leerzeilen werden übersprungen.

Ausgabe und Import

Der Editor rechts zeigt die fertige Datei mit XML-Deklaration und dem Namespace http://www.sitemaps.org/schemas/sitemap/0.9. Darunter listet das Tool laufend die Befunde der Validierung — etwa ein lastmod, das kein gültiges W3C-Datum ist, doppelte Adressen, Einträge auf einem anderen Host als der Base-URL oder mehr als 50.000 Einträge (dann: aufteilen und einen Index verwenden). Ein Hinweis unter dem Editor erinnert daran, die Sitemap in der robots.txt zu deklarieren und in der Search Console bzw. den Bing Webmaster Tools einzureichen. Buttons:

  • Load File — liest eine bestehende Datei (.xml oder .txt, bis 20 MB) ein. Das Tool versteht reguläre Sitemaps, Sitemap-Indizes (dann schaltet es auf Sitemap index um), Text-Sitemaps mit einer URL pro Zeile und RSS-/Atom-Feeds, deren Links es als normale Sitemap übernimmt. Die Base-URL wird aus dem ersten Eintrag abgeleitet; Einträge auf diesem Host werden zu Pfaden (Query-String und Fragment bleiben erhalten), Einträge auf anderen Hosts behalten ihre volle URL. lastmod wird als Text übernommen, eine Uhrzeit geht also nicht verloren. Ist das XML nicht wohlgeformt, rettet das Tool die Adressen und meldet, dass die übrigen Felder leer bleiben; weitere Befunde stehen im Bericht über dem Formular.
  • Reset — setzt das Formular nach einer Rückfrage auf eine einzelne Zeile / ohne Base-URL zurück.
  • Copy / Download — kopiert bzw. speichert die Datei als sitemap.xml (im Index-Modus sitemap_index.xml, Typ application/xml).

Beim ersten Aufruf sind drei Beispielzeilen (/, /about/, /contact/) vorbelegt. Der Zwischenstand wird ebenfalls lokal gespeichert.

Live-Checker: Check robots.txt

Dieser Tab (Check a live robots.txt) holt eine bestehende robots.txt von einer fremden Domain und zerlegt sie. Du gibst entweder nur eine Domain ein (z. B. example.com; /robots.txt wird automatisch ergänzt) oder eine vollständige URL. Fehlt das Protokoll, wird https:// vorangestellt. Ein Klick auf Check startet den Abruf.

Was du im Ergebnis siehst

  • Eine Zusammenfassung mit HTTP-Status, Dateigröße, Anzahl der Gruppen und der Zahl der Fehler (oder, wenn es keine gibt, der Warnungen) — oder „No problems found.". Eine leere Datei wird als „Empty file — everything is allowed." eingeordnet.
  • Checks — die Befunde, sortiert nach Fehler, Warnung und Info, jeweils mit Zeilennummern. Zur Antwort des Servers: eine Weiterleitung (Crawler folgen bis zu fünf), eine HTML-Seite statt einer Textdatei (meist existiert die Datei nicht und der Server liefert eine Fehler- oder Startseite), ein anderer Content-Type als text/plain, gzip-Kompression, ungültiges UTF-8, eine wegen des Abruflimits gekürzte Datei. Zum Inhalt: Regeln vor der ersten User-agent-Zeile (die kein Crawler anwendet), Zeilen ohne Feld: Wert, Direktiven ohne Doppelpunkt oder mit Tippfehler (Google toleriert etwa Dissallow, andere Crawler nicht), leere User-agents, User-agent-Werte mit Version (Googlebot/2.1 zählt nur als googlebot), Leerzeilen zwischen User-agent-Zeilen, Pfade ohne führendes / oder *, relative Sitemap-URLs, ein nicht numerisches Crawl-delay (jedes Crawl-delay bekommt zudem die Info, dass Google es ignoriert und Bing und Yandex es befolgen), nicht unterstützte Direktiven wie Host, Noindex, Nofollow, Clean-param, Request-rate oder Visit-time, unbekannte Direktiven, mehrere Gruppen für denselben Bot (Crawler führen sie zusammen), eine Datei ganz ohne Gruppe, User-agent: * mit Disallow: / sowie Dateien über 500 KiB (Google liest nur die ersten 500 KiB). Ein Byte-Order-Mark am Dateianfang wird als Info vermerkt.
  • Per-bot access to / — eine Tabelle, die für 40 bekannte Bots prüft, ob sie die Startseite abrufen dürfen. Pro Bot: Name, Betreiber (Owner), Type (Search, Social, Archive, AI, SEO Tool), Access (Allowed/Blocked), Group (der Bot-Name der Gruppe, die greift, * für die Wildcard-Gruppe oder none), Crawl-delay und die konkret greifende Regel (Matched rule). Das ist der schnellste Weg zu sehen, ob du versehentlich KI-Crawler aussperrst.
  • Groups — jede Gruppe der Datei einzeln, mit ihren User-agents, der Zeilennummer, einem Crawl-delay-Badge und ihren Allow-/Disallow-Regeln. Eine Gruppe ohne einschränkende Regel wird als „No restricting rule — full access." markiert.
  • Sitemaps declared — alle in der Datei deklarierten Sitemap:-Zeilen. Neben jeder absoluten URL steht ein check-Button, der direkt in den Check Sitemap-Tab springt und diese Sitemap prüft; relative Angaben werden als „not absolute" markiert. Fehlt die Zeile ganz, rät das Tool, eine zu ergänzen.
  • Test a URL against these rules — ein kleines Formular: Du gibst unter Path or URL einen Pfad oder eine URL (Vorgabe /) und unter User-agent einen Bot (Vorgabe Googlebot) ein und klickst Test. Zurück kommt Allowed oder Blocked, der geprüfte Pfad in der Form, in der das Tool ihn vergleicht (prozentkodiert), die greifende Regel mit Zeilennummer, die Gruppe und ein etwaiges Crawl-delay. Im Feld User-agent darfst du auch einen kompletten User-Agent-String einfügen; das Tool zieht die Produkt-Namen daraus.
  • Raw content — der rohe Inhalt der Datei, ausklappbar und mit Copy kopierbar (die Anzeige endet nach 50.000 Zeichen, Copy liefert alles).

Sonderfälle

Der HTTP-Status entscheidet, wie Crawler die Datei behandeln — und so ordnet das Tool ihn auch ein:

  • 2xx — die Datei wird ausgewertet wie oben beschrieben.
  • 4xx (z. B. 404) — es gibt keine robots.txt; Crawler dürfen alles abrufen. Das Tool zeigt eine Warnung statt einer Auswertung.
  • 5xx oder 429 — der Server antwortet mit einem Fehler; Crawler müssen die ganze Site als gesperrt behandeln, bis die Datei wieder erreichbar ist. Das Tool zeigt das als Fehler.
  • Jeder andere Status wird als „Unexpected status" gemeldet.

Kann die Datei gar nicht abgerufen werden (DNS-Fehler, Timeout, gesperrte Adresse), erscheint eine Fehlermeldung mit dem Grund.

Live-Checker: Check Sitemap

Derselbe Ablauf für Sitemaps (Check a live sitemap.xml): Domain oder volle URL eingeben, Check klicken.

Welche Datei geprüft wird

  • Gibst du nur eine Domain ein (example.com oder https://example.com/), holt das Tool zuerst die robots.txt und prüft die erste dort deklarierte Sitemap. Deklariert die Datei mehrere, nennt ein Hinweis die übrigen als Buttons, mit denen du sie einzeln prüfst. Deklariert sie keine, nimmt das Tool /sitemap.xml.
  • Gibst du eine volle URL ein, wird genau diese Datei geprüft.

Das Tool versteht reguläre Sitemaps (<urlset>), Sitemap-Indizes (<sitemapindex>), Text-Sitemaps mit einer URL pro Zeile und RSS-/Atom-Feeds, die Google ebenfalls als Sitemap akzeptiert. Gzip-komprimierte Dateien (.xml.gz) werden vor der Prüfung entpackt.

Reguläre Sitemap (urlset)

Für reguläre Sitemaps, Text-Sitemaps und Feeds zeigt das Tool:

  • Eine Zusammenfassung mit Dateityp (sitemap, text sitemap, feed …), Anzahl der URLs, Dateigröße und der Zahl der Fehler (oder, wenn es keine gibt, der Warnungen) — oder „No problems found.".
  • Checks — Befunde zur Antwort (Weiterleitung: die endgültige URL einreichen, HTML-Seite statt Sitemap, gzip, ungültiges UTF-8, gekürzte Datei) und zum Inhalt: nicht wohlgeformtes XML (Crawler verwerfen dann die ganze Datei), fehlender oder falscher Sitemap-Namespace, <url> ohne bzw. mit mehreren <loc>, vermischte <url>- und <sitemap>-Einträge, relative Adressen, Leerzeichen oder Nicht-ASCII-Zeichen in Adressen, Adressen über 2.048 Zeichen, Adressen auf einem anderen Host oder Protokoll als die Sitemap, Duplikate, lastmod ohne gültiges W3C-Datum oder in der Zukunft, ungültige changefreq- und priority-Werte, mehr als 50.000 URLs oder mehr als 50 MB unkomprimiert. Die 50-MB-Prüfung greift nur im Expert Mode: Über den Server-Proxy wird eine so große Datei schon beim Abruf gekürzt (siehe Abruf-Grenzen), und der Checker meldet dann, dass die Ergebnisse unvollständig sind. Als Info kommen dazu: Google ignoriert changefreq und priority; eine Sitemap ganz ohne lastmod; Text-Sitemap bzw. Feed erkannt.
  • Metadata — eine Tabelle mit der Anzahl der URLs und Fortschrittsbalken dafür, bei wie viel Prozent der URLs lastmod, changefreq und priority gesetzt sind (die beiden letzten mit dem Vermerk „ignored by Google"). Nutzt die Sitemap Erweiterungen, zählt eine Zeile Extensions Bilder, Videos, News-Einträge und hreflang-Alternativen.
  • Do the URLs work? — die Stichprobe, siehe unten.
  • URLs — eine Tabelle der Einträge (die ersten 100 von N) mit URL und lastmod. Copy all URLs kopiert die vollständige Liste, nicht nur die angezeigten 100.
  • Raw content — der rohe Inhalt, ausklappbar und kopierbar (die Anzeige endet nach 50.000 Zeichen, Copy liefert alles).

Sitemap-Index

Erkennt der Checker eine Index-Datei (<sitemapindex>), listet er unter Child sitemaps stattdessen die Kind-Sitemaps mit ihrem optionalen lastmod. Jede Kind-Sitemap hat einen Check-Button, mit dem du sie einzeln weiterprüfst. Die Checks melden auch hier ungültige Adressen und Datumsangaben, <url>-Einträge im Index und mehr als 50.000 gelistete Sitemaps.

Abgleich mit der robots.txt

Sobald die Sitemap Einträge hat, holt das Tool die robots.txt desselben Hosts und vergleicht beide Dateien. Die Karte robots.txt meldet:

  • wie viele gelistete URLs die robots.txt für Googlebot sperrt, mit bis zu drei Beispielen — eine Sitemap sollte nur abrufbare Seiten enthalten;
  • ob die robots.txt die Sitemap selbst sperrt;
  • ob die Sitemap in der robots.txt deklariert ist, und falls nicht, die passende Sitemap:-Zeile zum Ergänzen;
  • dass die ganze Site als gesperrt gilt, wenn die robots.txt mit einem Serverfehler antwortet — oder dass ohne robots.txt nichts gesperrt ist.

Stichprobe: Funktionieren die URLs?

Die Karte Do the URLs work? prüft auf Knopfdruck (Check N URLs), ob die gelisteten Seiten wirklich erreichbar sind. Bei bis zu 20 URLs prüft sie jede, bei mehr eine gleichmäßig über die Liste verteilte Stichprobe von 20 (der Button heißt dann Check 20 URLs (sample)). Jede URL wird per HEAD-Anfrage abgefragt; lehnt ein Server HEAD ab, fragt der Server-Proxy mit einem kleinen GET nach. Pro URL erscheinen Status und Bewertung: OK, eine Weiterleitung („list the final URL" — in die Sitemap gehört die Ziel-URL), Broken ab Status 400 („remove it from the sitemap") oder, wenn keine Antwort kommt, die Fehlermeldung des Abrufs. Geprüft werden nur absolute http(s)-Adressen. Am Ende fasst eine Zeile zusammen, wie viele URLs in Ordnung, weitergeleitet oder kaputt sind.

Sonderfälle

Antwortet der Server nicht mit 2xx, meldet das Tool „No sitemap at …" mit dem Status (und, falls du nur eine Domain eingegeben hast und die robots.txt keine Sitemap nennt, auch das). Eine leere Datei, eine HTML-Seite oder ein unbekanntes Wurzelelement (weder <urlset> noch <sitemapindex>) werden als Fehler gemeldet; eine wohlgeformte Datei ohne einen einzigen Eintrag erscheint in der Zusammenfassung als „file without entries". Wurde die Datei wegen des Größenlimits des Proxys abgeschnitten, weist ein Hinweis darauf hin, dass die Ergebnisse unvollständig sind.

So liest das Tool eine robots.txt

Generator-Test, Per-Bot-Tabelle, URL-Test und der Abgleich mit der Sitemap nutzen dieselbe Auswertung nach RFC 9309 in Googles Lesart:

  • Gruppen: Aufeinanderfolgende User-agent-Zeilen bilden eine Gruppe und teilen sich die Regeln darunter. Erst eine User-agent-Zeile nach einer Regel beginnt eine neue Gruppe — eine Leerzeile beendet keine Gruppe. Mehrere Gruppen für denselben Bot werden zusammengeführt.
  • Welche Gruppe gilt: Ein Bot folgt der Gruppe mit seinem Namen und ignoriert dann User-agent: * vollständig; nur ohne eigene Gruppe gilt *. Verglichen wird der Produkt-Name ohne Groß-/Kleinschreibung und ohne Version (Googlebot/2.1 → googlebot) — und zwar exakt: google trifft Googlebot nicht. Googlebot-Image, Googlebot-News und Googlebot-Video fallen ohne eigene Gruppe auf die Gruppe von Googlebot zurück.
  • Welche Regel gilt: Verglichen wird Pfad plus Query-String. Regeln sind Präfixe (/admin trifft auch /administrator), * steht für beliebige Zeichen, ein $ am Ende für das Ende der URL. Die längste passende Regel gewinnt; bei gleicher Länge gewinnt Allow. Pfade und Regeln werden in einer einheitlichen Prozent-Kodierung verglichen, sodass /ä und /%C3%A4 als gleich gelten.
  • /robots.txt selbst ist immer erlaubt.

Examples, Tips, Reference

  • Examples — fertige Vorlagen mit Vorschau. Für die robots.txt: Allow All Bots, Standard Website (Admin-, Login- und Privatbereiche, interne Suche und PDFs per Wildcard gesperrt), WordPress, Block AI Training, Allow AI Search und Block All AI Crawlers. Für die Sitemap: Simple Website (vier Seiten mit echtem lastmod), Blog (Datumsangaben mit Uhrzeit und Zeitzone, eine URL mit Query-String) und Shop: Sitemap Index. Der Button Load into Generator ersetzt nach einer Rückfrage den jeweiligen Generator durch die Vorlage und wechselt in dessen Tab.
  • Tips — kompakte Best-Practice-Karten („Do This" / „Avoid This") für beide Dateien plus eine Erklärung, wie robots.txt und Sitemap zusammenspielen.
  • Reference — die Format-Spezifikation: eine Tabelle der robots.txt-Direktiven mit Beispiel und Support-Hinweis, die Bot-Liste mit Betreiber und Typ, eine Tabelle der Sitemap-XML-Elemente sowie Links zu RFC 9309, den Google-Leitfäden für robots.txt und Sitemaps, dem Sitemaps-Protokoll und der Search Console.

robots.txt-Direktiven (Reference)

Direktive Unterstützung Bedeutung
User-agent alle Beginnt eine Gruppe (Produkt-Name, Groß-/Kleinschreibung egal). Aufeinanderfolgende Zeilen teilen sich eine Gruppe; Gruppen für denselben Bot werden zusammengeführt.
Disallow alle Sperrt Pfade, die mit dem Wert beginnen (Pfad + Query). * = beliebige Zeichen, $ am Ende = Ende der URL. Leerer Wert sperrt nichts.
Allow alle Gibt einen Pfad frei. Die längste passende Regel gewinnt, bei gleicher Länge Allow.
Crawl-delay die meisten Sekunden zwischen Anfragen. Nicht von Googlebot unterstützt (dort die Search Console nutzen).
Sitemap alle Absolute URL einer Sitemap. Darf mehrfach vorkommen, unabhängig von den Gruppen.
Host veraltet Wurde nur von Yandex gelesen und seit 2018 ignoriert — stattdessen auf den bevorzugten Host weiterleiten.
Noindex keine War nie Standard; Google wertet es seit 2019 nicht mehr aus — stattdessen Meta-Robots oder X-Robots-Tag.

Bot-Liste (Reference)

Die Tabelle Common Bot Names listet die 40 Bots, die das Tool auch für die Autovervollständigung und die Per-Bot-Tabelle nutzt — mit Betreiber bzw. Zweck und Typ. Bei KI-Crawlern steht statt „AI" der Zweck: AI training (z. B. GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, meta-externalagent, CCBot, Bytespider, Amazonbot), AI search (OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot) oder AI user request (ChatGPT-User, Claude-User, Perplexity-User, MistralAI-User — Abrufe, die eine Person im Chat auslöst).

Sitemap-XML-Elemente (Reference)

Element Pflicht Werte / Hinweis
<urlset> ja Wurzelelement mit Namespace http://www.sitemaps.org/schemas/sitemap/0.9.
<url> ja Container je Eintrag.
<loc> ja Voll-qualifizierte URL mit Protokoll, max. 2048 Zeichen, URL-kodiert.
<lastmod> optional Letzte wesentliche Änderung im W3C-Datetime-Format (2026-10-15 oder 2026-10-15T09:30:00+02:00). Google nutzt es, wenn es durchgängig stimmt.
<changefreq> optional always/hourly/daily/weekly/monthly/yearly/never — von Google ignoriert.
<priority> optional 0.0–1.0 — von Google ignoriert.
<sitemapindex> / <sitemap> nur im Index Listet bis zu 50.000 Sitemaps (je mit <loc>, optional <lastmod>). Ein Index darf keine weiteren Indizes listen.
Grenzen — 50.000 URLs und 50 MB pro Datei, unkomprimiert. Text-Sitemaps (eine URL pro Zeile) und RSS-/Atom-Feeds werden ebenfalls akzeptiert.

Architektur, Limits und Datenschutz

  • Generatoren und Auswertung rein clientseitig. Die beiden Generator-Tabs erzeugen ihre Dateien vollständig im Browser, und auch Parser, Prüfungen und URL-Tests laufen dort. Es wird nichts hochgeladen; der Zwischenstand liegt nur in deinem LocalStorage. Einen Verlauf der Prüfungen speichert das Tool nicht.
  • Checker über einen serverseitigen Proxy. Eine fremde Datei kann der Browser wegen CORS nicht direkt laden. Deshalb holt ein serverseitiger Proxy auf dem JPKCom-Server die Datei per cURL; die Analyse läuft danach wieder lokal im Browser. Die geprüfte Domain sieht einen Request vom JPKCom-Server (mit einem Browser-User-Agent), nicht deine IP-Adresse.
  • Kein öffentliches API. Die beiden serverseitigen Endpunkte (ein Fetch-Proxy und ein token-basierter Hilfsendpunkt) sind kein öffentlich aufrufbares API — sie werden ausschließlich vom JavaScript des Tools genutzt und sind gegen Missbrauch gehärtet (Token-Authentifizierung, Referer-Prüfung).
  • SSRF-Schutz: Interne, lokale und private IP-Adressen werden blockiert, und jeder Redirect-Hop wird erneut geprüft.
  • Abruf-Grenzen: maximal 5 MB Body (größere Dateien werden abgeschnitten — ein Hinweis erscheint), gzip-Dateien werden auf höchstens 10 MB entpackt, 15 s Timeout pro Abruf, 30 s für alle Weiterleitungen zusammen, höchstens 5 Weiterleitungen. Die Stichprobe fragt jede URL mit 10 s Timeout ab.
  • Rate-Limit: Im Standard-Proxy-Modus liegen zwischen zwei Prüfungen mindestens 3 Sekunden; klickst du früher, nennt ein Hinweis die verbleibende Wartezeit. Serverseitig gilt ein Limit von 120 Abrufen pro Minute und IP-Adresse — darüber kommt „Too many requests — please wait a minute".
  • Expert Mode (optional). Über einen Schalter im Header lässt sich ein lokaler Proxy (http://127.0.0.1:<port>) aktivieren, der die Dateien direkt holt — ohne Wartezeit und ohne die Größengrenze des Server-Proxys; .xml.gz-Dateien entpackt dann der Browser. Die Einrichtung ist fortgeschritten und für den normalen Betrieb nicht nötig.

Für den Einstieg, die Zielgruppen und das große Bild siehe die Übersichtsseite. Konkrete Durchläufe zeigen die Beispiele. Ausprobieren kannst du alles direkt im Tool.